自動スケーリングは、分散アプリケーションの管理に使用される重要な O&M 機能です。Enterprise Distributed Application Service(EDAS)が提供する自動スケーリング機能は、アプリケーションの各インスタンスのステータスを検出し、そのステータスに基づいて動的スケーリングを実行します。これにより、サービス品質が保証され、アプリケーションの可用性が向上します。
自動スケーリングの概要
インターネットやゲームアプリケーションなどのアプリケーションは、プロモーション活動中にトラフィックが急増しやすい傾向があります。さらに、サービスレベルアグリーメント(SLA)とリソースコストの不均衡は、応答の遅延やシステム障害などのシステムの問題を引き起こす可能性があります。EDAS は、Alibaba グループがダブル 11 に対応するために使用するトラフィックフラッド管理技術を継承し、数秒以内に自動スケーリングを提供します。これにより、SLA が保証され、インスタンスの使用量が削減され、コストが節約されます。自動スケーリングは、インターネット、ゲーム、ソーシャルメディアプラットフォームなどの業界で広く使用されています。
自動スケーリングは、ECS クラスタで作成されたアプリケーションに適用できます。単一インスタンス環境では、自動スケーリングにより、1 つのインスタンスが環境内で実行され続けます。トラフィックが変動する環境では、ロードルールを設定して、自動スケーリングの実行インスタンス数を指定できます。その後、EDAS は設定されたルールに基づいてインスタンスを追加または削除します。
自動スケーリングは、アプリケーションインスタンスの次のメトリックに基づいて、スケールアウトまたはスケールインを有効にして実行するかどうかを決定します。
CPU:CPU 使用率。値はパーセンテージです。
RT:リクエストへの応答時間。単位はミリ秒です。
負荷:アプリケーションインスタンスの負荷。値は正の整数です。
自動スケーリングルールの設定
自動スケーリングには、自動スケールアウトとスケールインのアクティビティが含まれます。アクティビティごとに異なるルールを設定できます。次の例は、スケールアウトルールを設定する方法を示しています。
スケールインルールとスケールアウトルールの両方 configured するときは、スケールインルールのメトリック値がスケールアウトルールのメトリック値より大きくならないようにしてください。そうでない場合、[保存] をクリックするとエラーメッセージが表示されます。
エラスティックリソースに基づいて作成されたインスタンスは、スケールイン中に最初に解放されます。
にログインします。
左側のナビゲーションペインで、 を選択します。[アプリケーション] ページの上部にあるナビゲーションバーで、管理するアプリケーションが存在するリージョンを [マイクロサービス名前空間] ドロップダウンリストから選択します。次に、アプリケーションの名前をクリックします。
アプリケーション詳細ページの左側のナビゲーションペインで、[自動スケーリング] をクリックします。
スケールアウトルール セクションの右上隅にあるスイッチをオンにして、スケールアウトルールを有効にします。
スケールアウトルールの次のパラメータを設定します。Auto Scaling ページの左下隅にある [保存] をクリックします。
[トリガーメトリック] を設定して、CPU、RT、および負荷メトリックのしきい値を指定します。1 つ以上のメトリック値がしきい値を超えると、スケールアウトがトリガーされます。
[トリガー条件] ドロップダウンリストから、次のいずれかの値を選択します。
[いずれかのメトリック]:設定されたメトリックのいずれかの値が指定されたしきい値を超えると、スケールアウトがトリガーされます。
[すべてのメトリック]:設定されたすべてのメトリックの値が指定されたしきい値を超えた場合にのみ、スケールアウトがトリガーされます。
[次の時間以上続く場合] を指定します。このパラメータは、メトリック値がしきい値を繰り返し超える期間を指定します。単位:分。この期間内、メトリックの平均値が毎分指定されたしきい値を繰り返し超えると、スケールアウトがトリガーされます。クラスタサービス機能の感度に基づいて期間を設定できます。
[アプリケーションソース] を指定します。有効な値:
[既存のリソース]:EDAS は、アプリケーションが属するクラスタ内の特定の数のアイドル ECS インスタンスをスケールアウト用に選択します。
説明クラスタ内のアイドル ECS インスタンスの数がスケールアウト要件を満たせない場合、EDAS は既存のインスタンスの数に基づいてスケールアウトを実行します。
[エラスティックリソース]:EDAS は、既存のインスタンス仕様のセットまたはインスタンス起動テンプレートに基づいてインスタンスを購入します。次に、EDAS は購入したインスタンスをアプリケーションが属するクラスタにインポートしてスケールアウトします。
パラメータ
説明
作成方法
[既存のインスタンス仕様に基づいて購入]:EDAS は、クラスタ内のインスタンスの既存の仕様の 1 つに基づいてインスタンスを購入します。
[インスタンス起動テンプレートに基づいて購入]:EDAS は、ECS コンソールで作成したインスタンス起動テンプレートに基づいてインスタンスを購入します。
テンプレートホスト または 起動テンプレート
[作成方法] の値によって、[テンプレートホスト] または [起動テンプレート] が表示されるかどうかが決まります。インスタンス購入のテンプレートとして、[テンプレートホスト] に既存のインスタンス仕様のセット、または [起動テンプレート] にインスタンス起動テンプレートを選択します。
パスワード
[既存のインスタンス仕様に基づいて購入] を選択した場合は、ログオンキーペアを選択する必要があります。
利用規約
[elastic Compute Service 利用規約|イメージの利用規約] を選択します。
[既存のリソースを優先]:EDAS は、アプリケーションが属するクラスタ内のアイドルインスタンスを優先的に使用します。クラスタ内のアイドルインスタンスの数がスケールアウト要件を満たせない場合、EDAS は自動スケーリング機能を使用して必要な数のインスタンスを購入します。
[スケールアウトごとに追加するインスタンスの数] を指定します。このパラメータは、各スケールアウトがトリガーされた後に自動的に追加されるインスタンスの数を指定します。
[グループ内のインスタンスの最大数] を指定します。このパラメータは、クラスタ内のインスタンスの最大数を指定します。クラスタ内のインスタンスの数がパラメータ値に達すると、スケールアウトはトリガーされなくなります。リソース制限に基づいてこのパラメータを指定します。
自動スケーリング結果の表示
設定されたルールに基づいてスケールアウトまたはスケールインがトリガーされた後、次のいずれかの方法を使用して、ルールが有効になっているかどうかを確認できます。
アプリケーションの 基本情報 ページで、インスタンスの数が増減したかどうかを確認します。
アプリケーション詳細ページの左側のナビゲーションペインで、[変更履歴] をクリックします。変更タイプが [スケールアウト] または [アプリケーションのスケールイン] で、ソースが auto_scale である変更履歴を見つけ、[アクション] 列の [表示] をクリックします。[変更の詳細] ページで、変更の詳細を表示します。
参照
ECS クラスタでのスケールアウトの詳細については、次のトピックを参照してください。