Auto Scaling は、ポリシーに基づいてコンピューティングリソースを調整し、トラフィックの変動に対応してコストを削減します。予測不可能なワークロードに対しては、イベントトリガーのタスクを使用して CPU 使用率などのメトリクスを監視し、しきい値に達したときに ECS インスタンスを自動的に追加または削除します。
シナリオ
シナリオの説明
サービスの需要が予測不可能に変動するため、事前に必要なサーバー数を判断することが困難です。
たとえば、ニュースウェブサイトではトラフィックが予測不可能です。人気のニュース記事が報じられるとトラフィックが急増し、記事が古くなるとトラフィックは減少します。
ソリューション
Cloud Monitor とイベントトリガーのタスクを使用して、監視メトリクスが指定された条件を満たしたときにスケーリングルールを実行し、ワークロードに基づいてサーバーを自動的にスケーリングします。
メリット
-
待機サーバーのコスト不要
Auto Scaling はオンデマンドで ECS インスタンスを作成およびリリースするため、待機サーバーが不要になります。日常のトラフィックに必要なコンピューティングリソースのみを維持します。
-
自動スケーリング
Cloud Monitor は負荷の変動をリアルタイムで追跡し、ビジネス需要を満たす自動スケーリングを実現すると同時に、リソースと O&M コストを削減します。
前提条件
初めて Auto Scaling を使用する際は、Resource Access Management (RAM) ユーザーの権限付与を完了している必要があります。
サービスリンクロール AliyunServiceRoleForAutoScaling が作成されていること。詳細については、「サービスリンクロール」をご参照ください。
RAM ユーザーとして Auto Scaling を使用する場合、RAM ユーザーに AliyunESSFullAccess ポリシーが付与されている必要があります。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
ステップ 1:スケーリンググループの作成
スケーリンググループは、ビジネス要件を満たすインスタンスのコレクションであり、Auto Scaling のコアユニットとして機能します。Auto Scaling は、必要に応じてインスタンスを追加または削除することで、スケーリンググループ内のインスタンス数を調整します。
-
スケーリンググループ ページに移動します。
-
Auto Scaling コンソールにログインします。
-
左側のナビゲーションウィンドウで、スケーリンググループ をクリックします。
上部のナビゲーションバーで、Auto Scaling が有効化されているリージョンを選択します。
-
-
ページの左上隅にある 作成 をクリックします。
-
フォームから作成する タブで、スケーリンググループのパラメーターを設定し、作成する をクリックします。
次の表に、このトピックで使用するパラメーター設定を示します。次の表に記載されていないパラメーターは、デフォルト設定のままにします。スケーリンググループの作成方法の詳細については、「スケーリンググループの作成」をご参照ください。
パラメーター
例
説明
スケーリンググループ名
test
スケーリンググループの名前を入力します。名前は UI に表示されるフォーマット要件を満たす必要があります。
タイプ
ECS
[ECS] を選択します。これにより、スケーリンググループに ECS インスタンスが含まれることを指定します。
インスタンス設定ソース
ゼロから作成
この段階では、ECS インスタンスを自動的に作成するためのテンプレートを指定しません。スケーリンググループを作成した後、スケーリング設定の作成に進むことができます。
最小インスタンス数
1
スケーリンググループ内のインスタンスの最小数を指定します。スケーリンググループ内のインスタンス数がこの値を下回った場合、Auto Scaling は目的の最小数に達するまで ECS インスタンスを追加します。
最大インスタンス数
5
スケーリンググループ内のインスタンスの最大数を指定します。インスタンス数がこの値を超えた場合、Auto Scaling は指定された制限を下回るまで ECS インスタンスを削除します。
VPC
vpc-bp1jmxxau0lur929p****
スケーリンググループ内の ECS インスタンス用の VPC を選択します。
VSwitch の選択
vsw-2zeknnyw2ewufbs4z****
vsw-2zesy03h8eaf9fe0l****
スケーリンググループ内の ECS インスタンス用に、1 つ以上の vSwitch を選択します。スケールアウトイベントの成功率を向上させるために、複数の vSwitch を選択することを推奨します。
ステップ 2:スケーリング設定の作成と有効化
スケーリング設定は、スケールアウトイベント中に ECS インスタンスを作成するために使用されるテンプレートです。課金方法、インスタンスタイプ、ストレージ、ネットワーク設定などの情報が含まれます。スケーリング設定を作成した後、スケーリング設定を有効にし、次にスケーリンググループを有効にすることができます。
-
目的のスケーリンググループを見つけ、次のいずれかの方法でスケーリンググループの詳細ページを開きます。
-
[スケーリンググループ名/ID] 列のスケーリンググループの ID をクリックします。
-
[操作] 列の [詳細] をクリックします。
-
-
詳細ページの上部にある [スケーリング設定] タブをクリックします。
-
スケーリング設定 タブで、スケーリング設定の作成 をクリックします。
-
スケーリング設定の作成 ページで、パラメーターを設定し、作成する をクリックします。
次の表に、このトピックで使用するパラメーター設定を示します。次の表に記載されていないパラメーターは、デフォルト設定のままにします。スケーリング設定の作成方法の詳細については、「スケーリング設定の作成 (ECS インスタンス)」をご参照ください。
セクション
パラメーター
例
説明
基本情報
スケーリング設定名
test
スケーリング設定の名前を入力します。名前は UI に表示されるフォーマット要件を満たす必要があります。
課金方法
値を [従量課金] に設定します。
Auto Scaling は無料ですが、スケールアウトイベント中に作成された ECS インスタンスには料金が発生します。この例では、従量課金方法が使用されます。詳細については、ECS の「課金概要」をご参照ください。
イメージとインスタンス
インスタンス構成モード
インスタンスパターンの指定
ECS インスタンスの仕様を選択するには、[インスタンスパターンの指定] を選択します。
インスタンス属性組み合わせの指定
2 vCPU、4 GiB メモリ、エンタープライズレベル
ビジネス要件に基づいて、ECS インスタンスの適切な vCPU 数とメモリサイズを選択します。
イメージの選択
パブリックイメージ:Alibaba Cloud Linux 3.2104 LTS 64 ビット
ECS インスタンスをデプロイするためのイメージを選択します。この例ではパブリックイメージを使用します。実際のシナリオでは、アプリケーションに固有のカスタムイメージを選択できます。
ストレージ
システムディスク
ESSD (エンタープライズ SSD)、40 GiB、PL0
ECS インスタンスのシステムディスクを選択します。
ネットワークとセキュリティグループ
パブリック IP アドレス
[パブリック IPv4 アドレスの割り当て]、[帯域幅課金]、および 1 Mbit/s の帯域幅
ECS インスタンスにパブリック IP アドレスを割り当てるかどうかを指定します。アウトバウンドのパブリック帯域幅は別途課金され、料金は ECS インスタンスのコストに含まれます。
セキュリティグループ
sg-bp18kz60mefsicfg****
既存のセキュリティグループを選択します。セキュリティグループの作成方法の詳細については、「セキュリティグループの作成」をご参照ください。
[管理設定]
ログイン資格情報
後で設定
[後で設定] を選択します。これにより、インスタンス作成後に ECS インスタンスのパスワードを手動で設定する必要があります。
-
[スケーリング設定のプレビュー] ダイアログボックスで、設定を確認し、注文の作成 をクリックします。
-
スケーリング設定が作成されます。 ダイアログボックスで、有効化 をクリックします。
-
スケーリング設定の使用 ダイアログボックスで、OK をクリックします。
説明スケーリンググループ内で 1 つのスケーリング設定を有効にする必要があります。スケーリング設定を有効にすると、その状態は アクティブ になります。
-
スケーリンググループを有効化 ダイアログボックスで、OK をクリックします。
Auto Scaling がビジネス要件に基づいてインスタンスを自動的にスケーリングできるようにするには、スケーリンググループを有効にする必要があります。
この例では、インスタンスの最小数は 1 です。そのため、スケーリンググループを有効にすると、Auto Scaling はスケーリング設定に基づいて自動的に 1 つの ECS インスタンスを作成します。スケーリンググループの詳細ページの インスタンス タブに移動し、自動的に作成 タブをクリックしてインスタンス情報を表示できます。

ステップ 3:スケーリングルールの作成
スケーリングルールは、スケーリングイベント中に実行される具体的なアクション (追加または削除するインスタンス数など) を定義します。
-
スケーリンググループの詳細ページで、スケーリングルールとアラートタスク タブをクリックし、次に スケーリングルール タブをクリックします。
-
スケーリングルールの作成 をクリックし、パラメーターを設定してから OK をクリックします。
この例では、簡易スケーリングルールが作成されます。スケーリングルールの作成方法の詳細については、「スケーリングルールの設定」をご参照ください。
パラメーター
説明
ルール名
スケーリングルールの名前を入力します。名前は UI に表示されるフォーマット要件を満たす必要があります。
ルールタイプ
スケーリングルールのタイプを指定します。この例では、[簡易スケーリングルール] を選択します。スケーリングルールの詳細については、「概要」をご参照ください。
操作
スケーリングルールが実行されたときに追加または削除するインスタンス数を指定します。各スケーリングイベントで追加または削除されるインスタンス数は 1,000 を超えてはなりません。
クールダウン時間
任意。スケーリングルールの冷却期間を指定します。単位:秒。このパラメーターを設定しない場合、スケーリンググループの冷却期間が有効になります。詳細については、「冷却期間」をご参照ください。
このステップを繰り返して、スケールアウトおよびスケールインルールを作成します。次の表に、この例で使用する設定を示します。
スケーリングルール
例
スケールアウトルール
-
ルール名:add
-
ルールタイプ:簡易スケーリングルール
-
操作:1 インスタンスを追加
スケールインルール
-
ルール名:remove
-
ルールタイプ:簡易スケーリングルール
-
操作:1 インスタンスを削除
-
ステップ4:イベントトリガーのタスクの作成
イベントトリガーのタスクは、メトリクスをリアルタイムで監視します。統計が指定された条件を満たすと、アラートがトリガーされ、スケーリングルールが実行されます。
-
スケーリンググループ詳細ページで、[スケーリングルールとイベントトリガー型タスク] タブをクリックし、次に イベントによって開始されるタスク タブをクリックします。
-
イベントトリガータスク (システム) タブで、アラームタスクの作成 をクリックし、タスクを設定してから OK をクリックします。
説明このトピックではシステムメトリクスを使用します。カスタムビジネスメトリクスを報告してイベントトリガーのタスクを作成することもできます。詳細については、「イベントトリガーのタスクの概要」をご参照ください。
主要な構成を以下に説明します。言及されていない項目はデフォルト設定のままにします。詳細については、「イベントトリガーのタスクの設定」をご参照ください。
構成項目
説明
[名前]
タスク名を入力します。形式要件はコンソールに表示されます。
[アラートメトリックの説明]
1 つ以上のシステム定義のメトリックをアラート条件として選択します。メトリックを追加するには、メトリックの追加 をクリックします。
構成項目:
-
メトリック: システム監視メトリックです。 たとえば、[(ECS) CPU 使用率] は、スケーリンググループ内の ECS インスタンスの CPU 使用率を監視します。
-
統計方法: 平均値、最大値、または最小値に基づいてメトリックがしきい値を超えているかどうかを判断します。 たとえば、[平均値 >= 70%] の場合、スケーリンググループの平均 CPU 使用率が 70% 以上に達するとアラートが発生します。
アラーム応答ルール
アラートがトリガーされた後に実行するスケーリングルールを選択します。
この手順を繰り返して、スケールアウトおよびスケールインルールの両方に対してイベントトリガーのタスクを作成します。サンプル構成:
イベントトリガーのタスク
サンプル構成
アラートトリガーのスケールアウト
-
[名前]:alarm-add
-
[アラートメトリックの説明]:(ECS) CPU使用率の平均値 >= 70%
-
実行するルール:add
アラートトリガーのスケールイン
-
[名前]:alarm-remove
-
[アラートメトリックの説明]:(ECS) CPU使用率の平均値 < 20%
-
実行するルール:remove
-
自動スケーリング効果の検証
イベントトリガーのタスクが作成された後、システムはリアルタイムでメトリクスを監視し、条件が満たされるとスケーリングアクティビティを開始します。
期待される結果:
-
スケーリンググループ内の ECS インスタンスの CPU 使用率が 70% を超えると、1 つの ECS インスタンスが自動的に追加されます。
-
スケーリンググループ内の ECS インスタンスの CPU 使用率が 20% 未満の場合、1 つの ECS インスタンスが自動的に削除されます。
ストレステストツールを使用して結果を検証します。
-
イベントトリガー型タスクの実行中に、スケーリンググループの詳細ページに移動します。インスタンス タブ、次に 自動的に作成 タブをクリックして、インスタンス数の変更を確認します。
-
イベントトリガー型のタスクが完了したら、スケーリンググループの詳細ページに移動します。スケーリングアクティビティ タブで、スケーリングアクティビティが期待どおりに実行されたことを確認します。アクティビティ ID をクリックして詳細を確認します。