スケーリングルールの機能は、そのタイプによって異なります。ルールは、スケーリングアクティビティをトリガーしたり、スケーリンググループの境界値を設定したりできます。ビジネスニーズに基づいてスケーリングルールのタイプを選択できます。たとえば、スケーリンググループの境界値を設定するだけでよい場合は、予測スケーリングルールを使用できます。このトピックでは、スケーリングルールの作成、実行、変更、削除の方法について説明します。
背景情報
Auto Scaling は、簡易スケーリングルール、ステップスケーリングルール、ターゲット追跡スケーリングルール、予測スケーリングルールの 4 種類のスケーリングルールをサポートしています。詳細については、「スケーリングルールの概要」をご参照ください。
ECS インスタンスを含むスケーリンググループでは、簡易スケーリングルール、ステップスケーリングルール、ターゲット追跡スケーリングルール、予測スケーリングルールを作成できます。
ECI インスタンスを含むスケーリンググループでは、簡易スケーリングルールとターゲット追跡スケーリングルールのみを作成できます。
スケーリンググループで作成できるスケーリングルールの数には制限があります。このクォータは、Auto Scaling の使用状況によって異なります。クォータを表示するには、クォータセンターに移動してください。
スケーリングルールの作成
Auto Scaling コンソールにログインします。
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。
管理するスケーリンググループを見つけ、[操作] 列の [詳細の表示] をクリックします。
ページ上部で、[スケーリングルールとタスク] タブをクリックします。
[スケーリングルール] タブで、[スケーリングルールの作成] をクリックします。
スケーリングルールのパラメーターを設定します。
[ルール名] を入力します。
[スケーリングルールタイプ] を選択し、対応するパラメーターを設定します。
次の表に、4 種類のスケーリングルールのパラメーターを示します。
簡易ルール
これらのパラメーターは、ECS および ECI インスタンスを含むスケーリンググループに設定できます。
名前
説明
実行するアクション
必要に応じてアクションを選択します:
インスタンス数を N 個に調整:スケーリングルールが実行された後、スケーリンググループ内のインスタンス数が N に変更されます。最大 1,000 個のインスタンスをスケーリングできます。
N 個のインスタンスを追加:スケーリングルールが実行された後、スケーリンググループに N 個のインスタンスが追加されます。最大 1,000 個のインスタンスを追加できます。
インスタンス数を N% 追加:スケーリングルールが実行された後、スケーリンググループ内のインスタンス数が N% 増加します。最大 1,000 個のインスタンスをスケーリングできます。
N 個のインスタンスを削除:スケーリングルールが実行された後、スケーリンググループから N 個のインスタンスが削除されます。最大 1,000 個のインスタンスを削除できます。
インスタンス数を N% 削除:スケーリングルールが実行された後、スケーリンググループ内のインスタンス数が N% 減少します。最大 1,000 個のインスタンスをスケーリングできます。
説明[実行するアクション] を [インスタンス数を N% 追加] または [インスタンス数を N% 削除] に設定した場合は、[調整するインスタンスの最小数] も設定する必要があります。
クールダウン時間
このパラメーターはオプションです。単位:秒。このパラメーターを指定しない場合、スケーリンググループのクールダウン時間が使用されます。詳細については、「クールダウン時間」をご参照ください。
ステップスケーリングルール
これらのパラメーターは、ECS インスタンスを含むスケーリンググループにのみ設定できます。
名前
説明
モニタリングタイプ
関連付ける監視タスクに基づいてモニタリングタイプを選択します。
システムモニタリング:CloudMonitor によって収集されたモニタリングメトリック。このオプションを選択すると、システムモニタリングタスクを指定できます。
カスタムモニタリング:CloudMonitor にレポートするカスタムモニタリングメトリック。このオプションを選択すると、カスタムモニタリングタスクを指定できます。
実行時間
監視タスクを指定します。タスクのトリガー条件が、ステップ調整のリファレンスとして使用されます。
例:平均 CPU 使用率が 3 つの連続した期間で 80% 以上である。
利用可能な監視タスクがない場合は、作成できます。[実行時間] パラメーターの横にある [監視タスクの作成] をクリックします。パラメーターの詳細については、「監視タスクの設定」をご参照ください。
説明ステップスケーリングルールの作成時に監視タスクを作成する場合、タスクの [監視対象リソース] は現在のスケーリンググループに自動的に設定され、[アラートトリガールール] は現在のステップスケーリングルールに自動的に設定されます。
実行するアクション
監視タスクのトリガー条件に基づいてステップ調整を設定します。超過サイズと対応するアクションを指定します。タスクがトリガーされると、Auto Scaling は超過サイズに基づいて対応するアクションを実行します。少なくとも 1 つのステップ調整を設定する必要があります。
例:
80 <= 平均 CPU 使用率 < 90 の場合、2 個のインスタンスを追加します。
90 <= 平均 CPU 使用率 < +∞ の場合、3 個のインスタンスを追加します。
各ステップ調整に設定する超過サイズは、CloudMonitor メトリックによって制限されます。たとえば、CloudMonitor メトリックが「平均 CPU 使用率が 3 つの連続した期間で 80% 以上」である場合、ステップ調整は >= 80% から開始する必要があります。
ステップスケーリングルールは、簡易スケーリングルールと同じアクションをサポートします:インスタンス数を N 個に調整、N 個のインスタンスを追加、N 個のインスタンスを削除、インスタンス数を N% 追加、インスタンス数を N% 削除。
説明[実行するアクション] を [インスタンス数を N% 追加] または [インスタンス数を N% 削除] に設定した場合は、[調整するインスタンスの最小数] も設定する必要があります。
ランプアップ期間
単位:秒。ランプアップ期間中のインスタンスはスケーリンググループに追加されますが、CloudMonitor にモニタリングデータをレポートしません。スケーリングするインスタンス数が動的に計算される場合、ランプアップ期間中のインスタンスは現在のインスタンス数の一部としてカウントされません。これにより、メトリックの変動が防止されます。
たとえば、ステップスケーリングルールのランプアップ期間が 300 秒で、2 つのインスタンスが追加された場合、これらの 2 つのインスタンスのメトリック値は、インスタンスが作成されてから 300 秒間、スケーリンググループの平均 CPU 使用率の計算に含まれません。
ターゲット追跡ルール
これらのパラメーターは、ECS および ECI インスタンスを含むスケーリンググループに設定できます。
名前
説明
メトリックタイプ
スケーリンググループのタイプに基づいて CloudMonitor メトリックを選択します。
スケーリンググループに ECS インスタンスが含まれている場合、次のいずれかの CloudMonitor メトリックを選択できます:
(ECS) 平均 CPU 使用率。単位:%
(ECS) 平均内部ネットワーク受信トラフィック。単位:kbit/min
(ECS) 平均内部ネットワーク送信トラフィック。単位:kbit/min
(ECS) 平均インターネット受信トラフィック。単位:kbit/min
(ECS) 平均インターネット送信トラフィック。単位:kbit/min
(ALB) サーバーグループ内のサーバーあたりの QPS。単位:counts/s
スケーリンググループに ECI インスタンスが含まれている場合、次のいずれかの CloudMonitor メトリックを選択できます:
CPU 使用率。単位:%
メモリ使用率。単位:%
(ALB) サーバーグループ内のサーバーあたりの QPS。単位:counts/s
説明(ALB) サーバーグループ内のサーバーあたりの QPS CloudMonitor メトリックを選択した場合は、ALB サーバーグループも選択する必要があります。
ターゲット値
選択した CloudMonitor メトリックのターゲット値。ターゲット追跡スケーリングルールは、メトリック値をターゲット値またはその近くに維持します。
ランプアップ期間
単位:秒。ランプアップ期間中のインスタンスはスケーリンググループに追加されますが、CloudMonitor にモニタリングデータをレポートしません。スケーリングするインスタンス数が動的に計算される場合、これらのインスタンスは現在のインスタンス数の一部としてカウントされません。これにより、メトリックの変動が防止されます。
スケールアウトアラートをトリガーするためにしきい値を満たす必要がある回数
ターゲット追跡スケーリングルールを作成すると、Auto Scaling は自動的に監視タスクを作成します。このパラメーターは、スケールアウトタスクをトリガーするためにしきい値を連続して満たす必要がある回数を指定します。
スケールインアラートをトリガーするためにしきい値を満たす必要がある回数
ターゲット追跡スケーリングルールを作成すると、Auto Scaling は自動的に監視タスクを作成します。このパラメーターは、スケールインタスクをトリガーするためにしきい値を連続して満たす必要がある回数を指定します。
スケールインの無効化
スケールインを無効にすると、自動的に作成される監視タスクの数に次のように影響します:
スケールインを無効にすると、ターゲット追跡スケーリングルールはスケールアウトアクティビティ用に 1 つの監視タスクのみを作成します。これにより、ECS または ECI インスタンスがスケーリンググループから削除されるのを防ぎます。
スケールインを許可すると、ターゲット追跡スケーリングルールは 2 つの監視タスクを作成します:1 つはスケールアウトアクティビティ用、もう 1 つはスケールインアクティビティ用です。
予測スケーリングルール
これらのパラメーターは、ECS インスタンスを含むスケーリンググループにのみ設定できます。各スケーリンググループに作成できる予測スケーリングルールは 1 つだけです。
名前
説明
既存のターゲット追跡ルールを使用
このパラメーターはオプションです。既存のターゲット追跡ルールを使用するかどうかを指定します。ターゲット追跡ルールが既に存在する場合、その [メトリックタイプ] と [ターゲット値] を使用できます。
ルールの選択
このパラメーターはオプションです。[既存のターゲット追跡ルールを使用] を有効にした後にのみ表示されます。ターゲット追跡ルールを選択して、その [メトリックタイプ] と [ターゲット値] を自動的に使用できます。
メトリックタイプ
必要に応じて CloudMonitor メトリックを選択します:
(ECS) 平均 CPU 使用率。単位:%
(ECS) 平均内部ネットワーク受信トラフィック。単位:kbit/min
(ECS) 平均内部ネットワーク送信トラフィック。単位:kbit/min
ターゲット値
選択した CloudMonitor メトリックのターゲット値。予測スケーリングルールは、ターゲット値を含む複数の要因に基づいて適切なインスタンス数を計算します。
ターゲット値を変更すると、スケーリンググループは既存の予測タスクを削除し、1 時間以内に新しい予測タスクを作成します。
予測モード
必要に応じて予測モードを選択します:
予測のみ:予測結果を生成しますが、予測タスクは作成しません。
予測とスケーリング:予測結果を生成し、予測タスクを作成します。
まず [予測のみ] を選択することを推奨します。予測結果が期待どおりであれば、モードを [予測とスケーリング] に変更します。予測結果は、スケーリングルールの詳細ページで確認できます。詳細については、「予測結果の表示」をご参照ください。
事前設定の最大値
スケーリンググループ内のインスタンスの最大数。このパラメーターは [最大値の処理方法] と一緒に使用されます。
デフォルト値は、スケーリンググループの現在の最大インスタンス数です。
最大値の処理方法
予測値が事前設定された最大値より大きい場合に、予測値を処理する方法。次のいずれかの方法を選択できます:
予測値が事前設定された最大値を上書き:予測値が事前設定された最大値より大きい場合、予測タスクの最大インスタンス数は予測値になります。
事前設定された最大値が予測値を上書き:予測値が事前設定された最大値より大きい場合、予測タスクの最大インスタンス数は事前設定された最大値になります。
予測値に指定されたパーセンテージを追加:この方法は [増加率] と一緒に使用されます。
デフォルト値は [予測値が事前設定された最大値を上書き] です。
増加率
このパラメーターは、[最大値の処理方法] を [予測値に指定されたパーセンテージを追加] に設定した場合にのみ表示されます。現在の予測値がこのパーセンテージで増加され、新しい予測値が生成されます。たとえば、現在の予測値が 100 で増加率が 10% の場合、予測タスクの最大インスタンス数は 110 になります。
増加率のデフォルト値は 0% です。最大値は 100% です。
事前起動時間
デフォルトでは、予測スケーリングルールによって自動的に作成される予測タスクは、正時に実行されます。事前起動時間を設定して、予測タスクを前もって実行し、リソースを準備できます。
単位:分。デフォルト値は 0 です。最大値は 60 です。
[OK] をクリックします。
スケーリングルールが作成されると、スケーリングルールリストでそのルールを見つけることができます。スケーリングルール ID をクリックすると、スケーリングルールタイプ、スケーリングルール識別子、実行時間、実行されるアクションなどの詳細を表示できます。
スケーリングルールの実行
注意事項
スケーリングルールを実行して、ECS または ECI リソースを手動または自動で調整できます。簡易スケーリングルールとステップスケーリングルールは手動で実行する必要があります。一方、Auto Scaling はターゲット追跡スケーリングルールと予測スケーリングルールを自動的に実行します。
スケーリングルールを実行する前に、次の点にご注意ください:
ご利用のアカウントに支払い遅延があってはなりません。アカウントに支払い遅延がある場合、スケーリングルールの実行は失敗します。Auto Scaling が期待どおりに機能するように、アカウントに十分な残高があることを確認してください。
スケーリングルールが属するスケーリンググループは、[有効] 状態である必要があります。
スケーリンググループで予想インスタンス数機能が有効になっていない場合、他のスケーリングアクティビティが進行中であってはなりません。スケーリンググループで予想インスタンス数機能が有効になっている場合、非並列のスケーリングアクティビティが進行中であってはなりません。詳細については、「予想インスタンス数」をご参照ください。
手順
スケーリングルールを実行する方法は、ビジネスシナリオによって異なります。次のリストに、利用可能な方法を示します。
手動での実行:ECS または ECI リソースを一時的に調整するには、スケーリングルールを手動で実行できます。スケーリンググループで進行中のスケーリングアクティビティがない場合、手動で実行されたルールによってトリガーされたスケーリングアクティビティはすぐに実行され、クールダウン時間が経過するのを待つ必要はありません。クールダウン時間中、スケーリンググループは CloudMonitor 監視タスクによってトリガーされたスケーリングアクティビティリクエストのみを拒否します。
自動での実行:ビジネスに予測可能なトラフィックパターンがある場合は、定期タスクを使用してスケーリングルールを実行できます。ビジネスに予測可能なトラフィックパターンがない場合は、モニタリングメトリックに基づく監視タスクを使用してスケーリングルールを実行できます。
手動での実行
Auto Scaling コンソールにログインします。
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。
管理するスケーリンググループを見つけ、[操作] 列の [詳細の表示] をクリックします。
ページ上部で、[スケーリングルールとタスク] タブをクリックします。
[スケーリングルール] タブで、実行するスケーリングルールを見つけ、[操作] 列の [実行] をクリックします。
[OK] をクリックします。
自動での実行
実行方法 | 説明 |
定期タスクを使用してスケーリングルールを実行する | 定期タスクを作成するときに、スケーリングルールを指定します。Auto Scaling は指定された時間にスケーリングルールを実行します。詳細については、「定期タスクの設定」をご参照ください。 |
監視タスクを使用してスケーリングルールを実行する | 監視タスクを作成するときに、スケーリングルールを指定します。Auto Scaling はアラート条件が満たされたときにスケーリングルールを実行します。詳細については、「監視タスクの設定」をご参照ください。 説明 監視タスクの詳細については、「監視タスクの概要」をご参照ください。 |
スケーリングルールの変更または削除
スケーリングルールがビジネス要件を満たさなくなった場合は、再作成する代わりにそのプロパティを変更できます。
スケーリングルールが不要になった場合は、削除してスケーリングルールのクォータを解放できます。
Auto Scaling コンソールにログインします。
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。
管理するスケーリンググループを見つけ、[操作] 列の [詳細の表示] をクリックします。
ページ上部で、[スケーリングルールとタスク] タブをクリックします。
[スケーリングルール] タブで、スケーリングルールを変更または削除します。
スケーリングルールの変更
変更するスケーリングルールを見つけ、[操作] 列の [変更] をクリックします。
必要に応じてパラメーターを変更し、[OK] をクリックします。
パラメーターの詳細については、「スケーリングルールの作成」をご参照ください。
説明[スケーリングルールタイプ] はどのスケーリングルールでも変更できません。ステップスケーリングルールの場合、[実行時間] は変更できません。
スケーリングルールの削除
削除するスケーリングルールを見つけ、[操作] 列の [削除] をクリックします。
表示されるダイアログボックスで、[OK] をクリックします。