Auto Scalingは、ワークロードの変更とスケーリングポリシーに基づいてElastic Compute service (ECS) インスタンスの数を自動的に調整するAlibaba Cloudサービスです。 十分なコンピューティングリソースを確保し、アイドルリソースを防ぎ、コストを削減するのに役立ちます。 識別可能なパターンによるワークロードの変動に効果的に対処するために、Auto Scalingコンソールでスケジュールタスクを作成し、指定された時点で自動スケーリングを有効にできます。 これにより、ビジネスニーズを満たすためにECSインスタンスの数を自動的に増減できます。
シナリオ
説明
ワークロードの変動が予測可能なパターンに従い、時間に基づいて明確なピーク時間とオフピーク時間を識別できる場合、Auto Scalingを使用して、指定された時点でのECSインスタンスの数を自動的に増減できます。
たとえば、ゲーム会社では、ビジネスワークロードが毎晩18:00:00から23:00:00に一貫して増加し、この期間中にサーバーを追加する必要があります。 しかし、他の期間中は、通常の動作を維持するために必要なサーバの数は固定されます。
解決策
ビジネス変動が発生した時点でスケジュールタスクを作成できます。 これらのスケジュールされたタスクをトリガーすることで、スケーリングルールの自動実行を有効にし、ECSインスタンスの自動スケーリングを効果的に実装できます。
メリット
ゼロ先行リソースセットアップコスト
Auto Scalingは、ビジネス要件に基づいてECSインスタンスを作成およびリリースするため、リソースセットアップに関連する初期費用が不要になります。 通常のビジネストラフィックに対してコンピューティングリソースを予約するだけで済みます。
自動スケーリング
スケジュールされたタスクは、指定された時点で自動スケーリングを可能にする。 このアプローチは、リソースを効果的に節約し、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インスタンス数が下限に達するまで、ECSインスタンスをスケーリンググループに追加します。
最大インスタンス数
5
スケーリンググループ内のインスタンス数の上限を指定します。 スケーリンググループ内のインスタンス数がこのパラメーターの値より大きい場合、Auto scalingは、スケーリンググループ内のECSインスタンス数が上限を下回るまで、ECSインスタンスをスケーリンググループから削除します。
ネットワークタイプ
VPC
[VPC] を選択します。スケーリンググループのECSインスタンスが仮想プライベートクラウド (VPC) に存在することを指定します。
[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メモリ、エンタープライズレベル
ビジネス要件に基づいて、vCPUの数とECSインスタンスのメモリサイズを指定します。
画像の選択
パブリックイメージ: Alibaba Cloud Linux 3.2104 LTS 64ビット
ECSインスタンスをデプロイするイメージを選択します。 この例では、パブリックイメージが使用されます。 実際のビジネスシナリオでは、アプリケーションのカスタムイメージを選択できます。
ストレージ
システムディスク
エンタープライズSSD (ESSD) 、40 GiB、およびPL0
ECSインスタンスのシステムディスクを選択します。
ネットワークとセキュリティグループ
パブリック IP アドレス
パブリックIPv4アドレスの割り当て、帯域幅課金、および1 Mbit/s帯域幅
ECSインスタンスにパブリックIPアドレスを割り当てるかどうかを指定します。 アウトバウンドパブリック帯域幅に対して課金されます。 帯域幅料金はECSインスタンス料金に含まれています。
[セキュリティグループ]
sg-bp18kz60mefsicfg ****
既存のセキュリティグループを選択します。 セキュリティグループの作成方法については、「セキュリティグループの作成」をご参照ください。
管理設定
[ログイン資格情報]
後で設定
[後で設定] を選択します。インスタンスの作成後、ECSインスタンスのパスワードを手動で設定する必要があります。
[スケーリング設定のプレビュー] ダイアログボックスで情報を確認し、[作成] をクリックします。
では、スケーリング設定が作成されます。 [有効化] をクリックします。
[スケーリング設定の有効化] ダイアログボックスで、[OK] をクリックします。
説明スケーリンググループでは、1つのスケーリング設定を有効にする必要があります。 スケーリング設定を有効にすると、スケーリング設定は [アクティブ] 状態になります。
[スケーリンググループの有効化] メッセージで、[OK] をクリックします。
スケーリンググループを有効にすると、ビジネス要件に基づいて自動インスタンスのスケーリングがトリガーされます。
この例では、[最小インスタンス数] パラメーターを1に設定します。 この場合、Auto Scalingは、スケーリンググループを有効にした後、スケーリンググループのスケーリング設定に基づいて1つのECSインスタンスを自動的に作成します。 スケーリンググループの詳細ページの [インスタンス] タブに移動し、[自動作成] タブでインスタンス情報を確認できます。
ステップ3: スケーリングルールの作成
スケーリングルールは、スケーリンググループにインスタンスを追加するか、スケーリンググループからインスタンスを削除するかを指定します。
スケーリンググループの詳細ページで、[スケーリングルールとイベントトリガータスク] タブをクリックします。 次に、[スケーリングルール] タブをクリックします。
[スケーリングルールの作成] をクリックし、スケーリングルールを作成するパラメーターを設定し、[OK] をクリックします。
この例では、単純なスケーリングルールが作成されます。 スケーリングルールの作成方法については、「スケーリングルールの管理」をご参照ください。
パラメーター
説明
ルール名
スケーリングルールの名前を入力します。 名前は、UIに表示されるフォーマット要件に従う必要があります。
ルールタイプ
この例では、単純なスケーリングルールが作成されます。 スケーリングルールの詳細については、「概要」をご参照ください。
操作
スケーリングルールの実行時に追加または削除するインスタンスの数を指定します。 各スケーリングイベント中に追加または削除するインスタンスの数は1,000を超えることはできません。
クールダウン時間
オプションです。 単位は秒です。 このパラメーターを設定しない場合、スケーリンググループのクールダウン期間が有効になります。 詳細については、「クールダウン期間」をご参照ください。
この手順を繰り返して、スケールアウトとスケールインのルールを作成します。 この例で使用される設定を次の表に示します。
スケーリングルール
サンプル設定
スケールアウトルール
ルール名: 追加
ルールタイプ: 単純なスケーリングルール
操作: 1つのインスタンスを追加
スケールインルール
ルール名: 削除
ルールタイプ: 単純なスケーリングルール
操作: 1つのインスタンスを削除します。
手順4: スケジュール済みタスクの作成
スケジュールされたタスクは、指定された時点で特定のスケーリングルールを実行できる事前設定タスクです。
スケーリンググループの詳細ページで、[スケーリングルールとイベントトリガータスク] タブをクリックします。 次に、[スケジュール済みタスク] タブをクリックします。
[スケジュールタスクの作成] をクリックし、ビジネス要件に基づいてパラメーターを設定し、[OK] をクリックします。
このトピックで使用されるパラメーター設定を次の表に示します。 次の表に記載されていないパラメーターは、デフォルト設定になります。 スケジュールタスクの設定方法については、「概要」をご参照ください。
パラメーター
説明
タスク名
タスク名を入力します。 名前は、UIに表示されるフォーマット要件に準拠している必要があります。
実行日時
タスクをトリガーする特定の時点を指定します。
スケーリング方法
[既存のスケーリングルールの選択] を選択します。
単純なスケーリングルール
実行するスケーリングルールを選択します。
再発
スケジュールされたタスクの定期的なトリガーの時間間隔を指定します。 たとえば、1日1回タスクをトリガーできます。
この手順を繰り返して、スケールアウトとスケールインのルールを実行するスケジュール済みタスクを作成します。 このトピックで使用されるサンプル設定を次の表に示します。
スケジュール済みタスク
例
スケジュールされたスケールアウト
タスク名: scheduled-add
実行日時: 5月16日2024日午後6時
スケーリング方法: 既存のスケーリングルールを選択
単純なスケーリングルール: 追加
繰り返し: 日単位 (単純なスケーリングルールを1日1回実行する)
スケジュールされたスケールイン
タスク名: scheduled-remove
実行日時: 5月16日2024午後11:00
スケーリング方法: 既存のスケーリングルールを選択
単純なスケーリングルール: 削除
繰り返し: 日単位 (単純なスケーリングルールを1日1回実行する)
自動スケーリングの効果の確認
スケジュール済みタスクを作成すると、指定された時点でスケジュール済みタスクがトリガーされ、指定されたスケーリングルールが実行されます。
この例では、次の結果が得られます。
毎日18:00:00に1つのECSインスタンスをスケーリンググループに自動的に追加する
毎日23:00にスケーリンググループから1つのECSインスタンスを自動的に削除する
次のいずれかの方法を使用して効果を確認できます。
スケジュールされたタスクがトリガーされたら、スケーリンググループの詳細ページに移動し、[インスタンス] > [自動作成] を選択します。 次に、インスタンス数の変更を確認します。
スケジュールされたタスクがトリガーされたら、スケーリンググループの詳細ページに移動し、[スケーリングアクティビティ] タブをクリックします。 次に、スケーリングアクティビティが生成されているかどうかを確認します。 対応するスケーリングアクティビティが生成されたら、そのIDをクリックしてスケーリングアクティビティの詳細を表示します。