スケーリングルールのタイプによって、スケーリングルールの機能が決まります。 スケーリングルールを使用してスケーリングアクティビティをトリガーしたり、スケーリンググループの境界値を自動的に設定したりできます。 ビジネス要件に基づいて、さまざまなタイプのスケーリングルールを作成できます。 たとえば、ビジネス要件を満たすようにスケーリンググループの境界値のみを設定する必要がある場合は、予測スケーリングルールを作成できます。 このトピックでは、スケーリングルールを作成、実行、変更、および削除する方法について説明します。
背景情報
Auto Scalingでは、単純なスケーリングルール、ステップスケーリングルール、ターゲット追跡スケーリングルール、および予測スケーリングルールの種類がサポートされています。 詳細については、「概要」をご参照ください。
スケーリンググループがElastic Compute Service (ECS) タイプの場合、単純なスケーリングルール、ステップスケーリングルール、ターゲット追跡スケーリングルール、および予測スケーリングルールを作成できます。
スケーリンググループがElastic Container Instanceタイプの場合、単純なスケーリングルールとターゲット追跡スケーリングルールを作成できます。
スケーリンググループに対して作成できるスケーリングルールの数は限られています。 スケーリングルールのクォータを表示するには、クォータセンターをご参照ください。
スケーリングルールの作成
Auto Scalingコンソールにログインします。
左側のナビゲーションウィンドウで、スケーリンググループをクリックします。
上部のナビゲーションバーで、リージョンを選択します。
スケーリングルールを作成するスケーリンググループを見つけて、アクション列の詳細をクリックします。
表示されるページの上部で、スケーリングルールとイベントトリガータスクタブをクリックします。
スケーリングルールタブで、スケーリングルールの作成をクリックします。
スケーリングルールの作成ダイアログボックスで、必要に応じてパラメーターを設定します。
ルール名フィールドに名前を入力します
ルール型を指定して、必要に応じて関連するパラメータを設定します。
次の表に、各タイプのスケーリングルールのパラメーターを示します。
単純なスケーリングルール
ECSタイプのスケーリンググループとElastic Container Instanceタイプのスケーリンググループに対して、簡単なスケーリングルールを作成できます。
パラメーター
説明
操作
スケーリングルールが実行されたときに実行される操作。 有効な値:
[Nインスタンスに変更]: スケーリングルールを実行すると、スケーリンググループ内のインスタンス数がNに変更されます。各操作で最大1000個のインスタンスをスケーリンググループに追加または削除できます。
Nインスタンスの追加: スケーリングルールが実行されると、Nインスタンスがスケーリンググループに追加されます。 各操作で最大1000個のインスタンスをスケーリンググループに追加できます。
Add N %: スケーリングルールが実行されると、スケーリンググループ内の既存のインスタンスがN % 追加されます。 各操作で最大1000個のインスタンスをスケーリンググループに追加できます。
[Nインスタンスの削除]: スケーリングルールを実行すると、スケーリンググループからNインスタンスが削除されます。 各操作でスケーリンググループから最大1000個のインスタンスを削除できます。
N % の削除: スケーリングルールが実行されると、スケーリンググループ内の既存のインスタンスのN % が削除されます。 各操作でスケーリンググループから最大1000個のインスタンスを削除できます。
説明[操作] パラメーターを [N % の追加] または [N % の削除] に設定した場合、[調整する最小インスタンス数] パラメーターも設定する必要があります。
クールダウン時間
スケーリングルールのクールダウン期間。 単位は秒です。 このパラメーターはオプションです。 このパラメーターを指定しない場合、スケーリンググループのクールダウン期間が使用されます。 詳細については、「クールダウン期間」をご参照ください。
ステップスケーリングルール
ECSタイプのスケーリンググループに対してのみステップスケーリングルールを作成できます。
パラメーター
説明
モニタリングタイプ
監視するメトリックのタイプ。 有効な値:
システムモニタリング: CloudMonitorによって提供されるシステムメトリクス。 [モニタリングタイプ] パラメーターを [システムモニタリング] に設定した場合、スケーリングルールにシステムイベントトリガータスクを指定できます。
カスタムモニタリング: CloudMonitorに報告されるカスタムメトリクス。 [モニタリングタイプ] パラメーターを [カスタムモニタリング] に設定した場合、スケーリングルールにカスタムイベントトリガータスクを指定できます。
開始時刻
イベントトリガータスクによってスケーリングルールがトリガーされた時点。 イベントトリガータスクをトリガーする条件は、ステップスケーリングの参照として使用されます。
たとえば、平均CPU使用率が3回連続して80% 以上である場合にスケーリングルールをトリガーするイベントトリガータスクを選択できます。
使用可能なイベントトリガータスクがない場合は、ステップスケーリングルールのイベントトリガータスクを作成できます。 ステップスケーリングルールのイベントトリガータスクを作成するには、[開始時刻] テキストボックスの右側にある [イベントトリガータスクの作成] をクリックします。 詳細については、「アラームタスクの作成」をご参照ください。
説明ステップスケーリングルールを作成するときにイベントトリガータスクを作成する場合、イベントトリガータスクによって監視されるリソースは、ステップスケーリングルールを作成するスケーリンググループであり、イベントトリガータスクのトリガールールは、作成したステップスケーリングルールです。
操作
ステップスケーリングルールのステップ調整とアラート違反。 イベントトリガータスクがトリガーされた後、Auto Scalingは指定された操作を実行し、インスタンスを段階的にスケールします。 少なくとも1つのステップ調整を指定する必要があります。
例:
平均CPU使用率が80% 以上90% 未満の場合、2つのECSインスタンスを追加します。
平均CPU使用率が90% 以上の場合、3つのECSインスタンスを追加します。
イベントトリガータスクのトリガー条件に基づいて、各スケーリングステップのアラート違反のサイズを設定する必要があります。 たとえば、イベントトリガータスクは、平均CPU使用率が3回連続して80% 以上になったときにトリガーされます。 この場合、初期スケーリング調整のための警告違反の下限は、80% 以上でなければならない。
ステップスケーリングルールは、Nインスタンスへの変更、Nインスタンスの追加、Nインスタンスの削除、N % の既存インスタンスの追加、N % の既存インスタンスの削除など、単純なスケーリングルールと同じ操作をサポートします。
説明[操作] パラメーターを [N % の追加] または [Nの削除] [%] に設定した場合は、[調整する最小インスタンス数] パラメーターも設定する必要があります。
インスタンスのウォームアップ時間
インスタンスがウォームアップ状態にある期間。 単位は秒です。 Auto Scalingは、Warmup状態のインスタンスをスケーリンググループに追加しますが、インスタンスのモニタリングデータをCloudMonitorに報告しません。 Auto Scalingがモニタリングデータに基づいてスケーリングするインスタンスの数を計算する場合、Auto Scalingは、ウォーミングアップ期間が終了するまでメトリック値が変動しないように、ウォーミングアップ状態のインスタンスをスケーリンググループ内の既存のインスタンスの一部としてカウントしません。
たとえば、ステップスケーリングルールのインスタンスウォームアップ時間パラメーターを300秒に設定します。 Auto Scalingがステップスケーリングルールを実行して2つのインスタンスを作成した後、Auto scalingがスケーリンググループ内のインスタンスの平均CPU使用率を300秒以内に計算する場合、2つのインスタンスの平均CPU使用率はカウントされません。
ターゲット追跡スケーリングルール
ECSタイプのスケーリンググループとElastic Container Instanceタイプのスケーリンググループのターゲットトラッキングスケーリングルールを作成できます。
パラメーター
説明
メトリックタイプ
監視するメトリックのタイプ。 スケーリンググループのタイプに基づいてCloudMonitorメトリックを選択します。
スケーリンググループがECSタイプの場合、次のメトリックがサポートされます。
(ECS) 平均CPU使用率 単位: % 。
(ECS) 平均受信内部トラフィック単位: KB /分。
(ECS) 平均アウトバウンド内部トラフィック。 単位: KB/min。
(ECS) 平均受信パブリックトラフィック。 単位: KB/min。
(ECS) 平均送信パブリックトラフィック。 単位: KB/min。
(ALB) バックエンドサーバーごとのQPS。 単位: カウント /秒。
スケーリンググループがElastic Container Instanceタイプの場合、次のメトリクスがサポートされます。
CPU使用率。 単位: % 。
メモリを使用します。 単位: % 。
(ALB) バックエンドサーバーごとのQPS。 単位: queries/s。
説明Metric Typeパラメーターを (ALB) QPS per Backend Serverに設定した場合は、ALB Server Groupパラメーターも設定する必要があります。
ターゲット値
メトリックのターゲット値。 Auto Scalingは、監視対象メトリックの値を目標値に近づけます。
インスタンスのウォームアップ時間
インスタンスがウォームアップ状態にある期間。 単位は秒です。 Auto Scalingは、Warmup状態のインスタンスをスケーリンググループに追加しますが、インスタンスのモニタリングデータをCloudMonitorに報告しません。 Auto Scalingがモニタリングデータに基づいてスケーリングするインスタンスの数を計算する場合、Auto Scalingは、ウォーミングアップ期間が終了するまでメトリック値が変動しないように、ウォーミングアップ状態のインスタンスをスケーリンググループ内の既存のインスタンスの一部としてカウントしません。
スケールアウトアラートのしきい値
スケールアウトがトリガーされるまでにアラート条件が連続して満たされた回数。 ターゲット追跡スケーリングルールが作成されると、イベントトリガータスクが自動的に作成され、ターゲット追跡スケーリングルールに関連付けられます。
スケールインアラートのしきい値
スケールインがトリガーされるまでにアラート条件が連続して満たされた回数。 ターゲット追跡スケーリングルールが作成されると、イベントトリガータスクが自動的に作成され、ターゲット追跡スケーリングルールに関連付けられます。
スケールインの無効化
スケールインを無効にするかどうかを指定します。 この機能は、自動的に作成されるイベントトリガータスクの数に影響します。
スケールインの無効化機能を有効にした場合、Auto Scalingは、ターゲット追跡スケーリングルールに関連付けるスケールアウト用のイベントトリガータスクを1つだけ作成します。
スケールインの無効化機能を無効にすると、Auto Scalingはスケールアウト用に1つのイベントトリガータスクを作成し、スケールイン用に1つのイベントトリガータスクを作成してターゲット追跡スケーリングルールに関連付けます。
予測スケーリングルール
ECSタイプのスケーリンググループに対してのみ、予測スケーリングルールを作成できます。 スケーリンググループごとに作成できる予測スケーリングルールは1つだけです。
パラメーター
説明
既存のターゲット追跡スケーリングルールの参照
既存のターゲット追跡スケーリングルールを参照するかどうかを指定します。 このパラメーターはオプションです。 ターゲット追跡スケーリングルールがスケーリンググループに存在する場合、予測スケーリングルールは、ターゲット追跡スケーリングルールに指定されているメトリックタイプおよびターゲット値パラメーターの値を継承できます。
ルールの選択
このパラメーターは、[既存のターゲット追跡スケーリングルールの参照] 機能を有効にした後にのみ使用できます。 既存のターゲット追跡スケーリングルールを選択して、予測スケーリングルールの [メトリックタイプ] および [ターゲット値] フィールドを自動的に入力できます。 このパラメーターはオプションです。
メトリックタイプ
メトリックのタイプ。 有効な値:
(ECS) 平均CPU使用率 単位: % 。
(ECS) 平均受信内部トラフィック単位: KB /分。
(ECS) 平均アウトバウンド内部トラフィック。 単位: KB/min。
ターゲット値
メトリックのターゲット値。 予測スケーリングルールが実行されると、Auto scalingは、ターゲット値などの要因に基づいてスケーリングできるインスタンスの適切な数を計算します。
Target valueパラメーターの値を変更すると、Auto Scalingは既存の予測タスクを削除し、1時間以内に新しい予測タスクを作成します。
予測モード
予測スケーリングルールが機能するモード。 有効な値:
予測のみ: 予測を生成しますが、予測タスクは作成しません。
予測とスケール: 予測を生成し、予測タスクを作成します。
予測がビジネス要件を満たすことを確認した後、[予測のみ] を選択し、値を [予測とスケール] に変更することを推奨します。 予測スケーリングルールの詳細ページで、予測がビジネス要件を満たしているかどうかを確認できます。 詳細については、「View the prediction effect of a predictive scaling rule」をご参照ください。
プリセット最大容量
スケーリンググループに含めることができるインスタンスの最大数。 このパラメーターは、Maximum Capacity Handling Methodパラメーターと共に使用されます。
このパラメーターを設定しない場合、スケーリンググループに指定されたインスタンスの現在の最大数が使用されます。
最大容量処理方法
予測値がプリセットされた最大容量より大きい場合、予測値またはプリセットされた最大容量を使用するかどうかを指定します。 有効な値:
Predicted Capacity Overwrites Preset Max Capacity: 予測値がプリセットされた最大容量より大きい場合、予測値を使用します。
Preset Max Capacity Overwrites Predicted Capacity: 予測値がプリセット最大容量より大きい場合、プリセット最大容量を使用します。
[Predicted Capacity with Additional Ratio]: 特定の比率だけ増加した予測値を使用します。 この値を選択した場合、[増加率] パラメーターを設定する必要があります。
デフォルト値: 予測容量がプリセット最大容量に上書きされます。
増加率
予測値の増加率。 このパラメーターは、[最大容量処理方法] パラメーターを [追加比率の予測容量] に設定した場合にのみ使用できます。 この比率だけ増加する予測値は、予測タスクが次に実行されるときに使用される。 たとえば、予測値が100で、増加率パラメーターを10% に設定した場合、予測タスクの次回の実行時に使用される予測値が110されます。
有効値: 0~100。 デフォルト値:0 単位: % 。
起動前の時間
予測スケーリングルールによって作成された予測タスクが事前に起動される期間。 デフォルトでは、予測タスクは1時間に実行されます。 事前起動時間パラメーターを設定して、予測タスクを事前に起動し、リソースを事前に準備することができます。
単位は分です。 デフォルト値:0 最大値: 60。
OKをクリックします。
スケーリングルールを作成すると、[スケーリングルール] タブにスケーリングルールが表示されます。 スケーリングルールのIDをクリックすると、ルールの種類、一意の識別子、実行時間、スケーリングルールのスケーリング操作などの情報を表示できます。
スケーリングルールの実行
使用上の注意
スケーリングルールを手動で実行して、ECSインスタンスまたはエラスティックコンテナインスタンスの数を調整できます。 Auto Scalingを有効にしてスケーリングルールを実行することもできます。 単純なスケーリングルールとステップスケーリングルールを手動で実行する必要があります。 Auto Scalingでは、ターゲット追跡スケーリングルールと予測スケーリングルールを実行できます。
スケーリングルールを実行する前に、次の項目に注意してください。
Alibaba Cloudアカウント内で料金滞納はありません。 料金滞納がある場合、スケーリングルールは実行されません。 期待どおりにAuto Scalingを使用するには、Alibaba Cloudアカウントに十分な残高があることを確認してください。
実行するスケーリングルールが属するスケーリンググループは、[有効] 状態である必要があります。
スケーリンググループに対して [期待インスタンス数] 機能が有効になっている場合、スケーリングルールを実行するときに、スケーリンググループに進行中のスケーリングアクティビティがない必要があります。 スケーリンググループの [期待インスタンス数] 機能が無効になっている場合、スケーリングルールを実行するときに、スケーリンググループに進行中の非並列スケーリングアクティビティがない必要があります。 詳細については、「期待インスタンス数」をご参照ください。
手順
次のセクションでは、さまざまなシナリオでスケーリングルールを実行する方法について説明します。
手動実行: ECSインスタンスまたはエラスティックコンテナインスタンスの数をスケジュール外に調整する場合は、スケーリングルールを手動で実行できます。 スケーリンググループに進行中のスケーリングアクティビティがない場合は、指定されたクールダウン期間を無視して、すぐにスケーリングルールを実行できます。 指定されたクールダウン期間内に、Auto ScalingはCloudMonitorイベントトリガータスクによって開始されたスケーリングリクエストを拒否します。
自動実行: ビジネスに特定のパターンがある場合、スケジュールされたタスクを使用して、スケーリングルールを自動的に実行できます。 ビジネスに特定のパターンがない場合は、イベントトリガータスクを使用して、スケーリングルールを自動的に実行できます。
手動実行
Auto Scalingコンソールにログインします。
左側のナビゲーションウィンドウで、スケーリンググループをクリックします。
上部のナビゲーションバーで、リージョンを選択します。
スケーリングルールを実行するスケーリンググループを見つけて、アクション列の詳細をクリックします。
表示されるページの上部で、スケーリングルールとイベントトリガータスクタブをクリックします。
スケーリングルールタブで、実行するスケーリングルールを見つけて、アクション列の実行をクリックします。
表示されるメッセージで、[OK] をクリックします。
自動実行
実行方法 | 説明 |
スケジュールされたタスクを使用してスケーリングルールを実行する | スケジュールタスクを作成するときは、タスクでスケーリングルールを指定します。 Auto Scalingは、指定された時点でスケーリングルールを自動的に実行します。 スケジュールタスクの作成方法の詳細については、「スケジュールタスクの作成」をご参照ください。 |
イベントトリガータスクを使用してスケーリングルールを実行する | イベントトリガータスクを作成するときは、タスクでスケーリングルールを指定します。 Auto Scalingは、タスクのアラート条件が満たされると、スケーリングルールを自動的に実行します。 イベントトリガータスクの作成方法の詳細については、「アラームタスクの作成」をご参照ください。 説明 イベントトリガータスク機能の詳細については、「概要」をご参照ください。 |
スケーリングルールの変更または削除
スケーリングルールがビジネス要件を満たしていない場合は、新しいルールを作成しなくても、スケーリングルールのパラメーター設定を変更できます。
スケーリングルールが不要になった場合は、スケーリングルクォータを解放するためにスケーリングルールを削除できます。
Auto Scalingコンソールにログインします。
左側のナビゲーションウィンドウで、スケーリンググループをクリックします。
上部のナビゲーションバーで、リージョンを選択します。
スケーリングルールを変更または削除するスケーリンググループを見つけて、アクション列の詳細をクリックします。
表示されるページの上部で、スケーリングルールとイベントトリガータスクタブをクリックします。
スケーリングルールタブで、スケーリングルールを変更または削除します。
スケーリングルールの変更
変更するスケーリングルールを見つけて、[操作] 列の [編集] をクリックします。
[スケーリングルールの編集] ダイアログボックスで、ビジネス要件に基づいてパラメーター設定を変更し、[OK] をクリックします。
特定のパラメーターの詳細については、「スケーリングルールの作成」をご参照ください。
説明どのタイプのスケーリングルールに対しても、[ルールタイプ] パラメーターの設定を変更することはできません。 ステップスケーリングルールの [開始時間] パラメーターの設定は変更できません。
スケーリングルールの削除
削除するスケーリングルールを見つけて、[操作] 列の [削除] をクリックします。
[スケーリングルールの削除] メッセージで、[OK] をクリックします。