スケーリンググループを作成または変更する場合、スケーリングポリシーとスケールインポリシーを組み合わせて、スケールイン中のインスタンスの削除シーケンスを制御できます。 Auto Scalingは、ポリシーで定義されている要件を満たすElastic Compute Service (ECS) インスタンスをスケーリンググループから自動的に削除します。 これにより、手動による介入が不要になり、ビジネス管理が自動化されます。 このトピックでは、ポリシーの組み合わせの効果的な方法について説明し、ビジネスシナリオに適したポリシーの組み合わせを作成するのに役立つ例を示します。
背景情報
ECSインスタンスを削除するには、スケーリングポリシーとスケールインポリシーを組み合わせる必要があります。 2つのポリシーは、ECSインスタンスの削除方法を決定します。
スケーリンググループからインスタンスを削除するポリシーを指定する方法の詳細については、「スケーリンググループの管理」をご参照ください。
スケーリンググループに、ポリシーの組み合わせで定義されている要件を満たす複数のECSインスタンスが含まれている場合、Auto scalingは、スケールイン中にスケーリンググループからECSインスタンスをランダムに削除します。
スケーリンググループから手動で追加されたECSインスタンスを削除しない場合は、ECSインスタンスを保護状態にします。
スケーリングポリシー
スケーリンググループのスケーリングポリシーを設定して、ゾーンやリソースコストなどの要因に基づいてECSインスタンスを追加または削除できます。 スケールイン中、Auto Scalingは、設定されたスケーリングポリシーの要件を満たすECSインスタンスをスケーリンググループから削除します。 Auto Scalingは、次のタイプのスケーリングポリシーをサポートします。
優先度ポリシー: 指定した最初のvSwitchの優先度が最も高くなります。 Auto Scalingは、最優先のvSwitchが存在するゾーン内のインスタンスをスケーリングします。 スケーリングが失敗した場合、Auto scalingは、次に高い優先順位のvSwitchが存在するゾーン内のインスタンスをスケーリングします。
分散分散ポリシー: このポリシーは、スケーリンググループが異なるゾーンにある複数のvSwitchに関連付けられている場合にのみ有効です。 Auto ScalingがECSインスタンスをスケーリングすると、ECSインスタンスの分散はゾーン間で分散されます。
コスト最適化ポリシー: このポリシーは、スケーリング設定に複数のインスタンスタイプがある場合にのみ有効です。 Auto Scalingは、スケールアウト時にvCPUの単価が最も低いECSインスタンスを優先的に作成します。 Auto Scalingは、スケールイン中にvCPUの単価が最も高いECSインスタンスを優先的に削除します。
説明スケーリング設定に複数のプリエンプティブルインスタンスタイプがある場合、Auto scalingはプリエンプティブルインスタンスを優先的に作成します。 Auto Scalingは、インベントリが不十分なためにプリエンプティブルインスタンスを作成できない場合にのみ、従量課金ECSインスタンスを作成します。
カスタム組み合わせポリシー: カスタム組み合わせポリシーを作成できます。 カスタムの組み合わせポリシーを使用して、従量課金インスタンスとプリエンプティブルインスタンスの比率を調整したり、ゾーン間でECSインスタンスの分散を分散したり、ビジネス要件を満たすインスタンスタイプを選択したりできます。
スケールインポリシー
Auto Scalingのスケールインポリシー機能は、時間順序に基づいて有効になります。 スケールインポリシーを設定するときは、Auto Scalingコンソールで1〜2ステップを設定する必要があります。
1つのステップのみを設定した場合、Auto Scalingは、ステップで定義された要件に基づいてのみECSインスタンスをフィルタリングします。
2つのステップを設定する場合、Auto Scalingは最初のステップで定義された要件に基づいてECSインスタンスをフィルタリングし、次に2番目のステップで定義された要件に基づいて結果からECSインスタンスをフィルタリングします。
次の方法で2つのステップを設定できます。
初期のスケーリング設定から作成されたインスタンス: Auto Scalingは、初期のスケーリング設定または初期の起動テンプレートに基づいて作成されたインスタンスを削除します。 スケーリンググループに手動で追加されたインスタンスには、スケーリング設定または起動テンプレートは関連付けられていません。 したがって、手動で追加されたインスタンスは最初に削除されません。 Auto scalingが最も早いスケーリング設定または最も早い起動テンプレートが関連付けられているすべてのインスタンスを削除した後、スケーリンググループからさらにインスタンスを削除する必要がある場合、Auto Scalingは手動で追加したインスタンスをランダムに削除します。
説明[初期のスケーリング設定から作成されたインスタンス] 設定のスケーリング設定ソースは、スケーリング設定または起動テンプレートにすることができます。
起動テンプレートのバージョンは、テンプレートの追加順序を示していません。 たとえば、スケーリンググループの作成時にlt-foress V2起動テンプレートを指定し、スケーリンググループの変更時にテンプレートをlt-foress V1起動テンプレートに置き換えると、Auto scalingはlt-foress V2起動テンプレートを最も早いテンプレートと見なします。
最も古いインスタンス: Auto Scalingは、最も早い時点で作成されたインスタンスを削除します。
最新のインスタンス: Auto Scalingは、最新の時点で作成されたインスタンスを削除します。
カスタムポリシー: Auto Scalingは、カスタムポリシーに基づいてスケーリンググループからインスタンスを削除します。 カスタムポリシーには、サービス、バージョン、および関数が含まれます。
ECSインスタンスの削除例
次の例では、次の表に記載されているECSインスタンスが使用されています。 シナリオ固有の例は、スケーリングポリシーとスケールインポリシーの組み合わせに基づいて、Auto ScalingがサンプルスケーリンググループからECSインスタンスを削除する方法を示しています。
次の表のECSインスタンスデータは参照のみに使用されます。 Auto Scalingコンソールに表示されるデータが優先されます。
インスタンスID | Zone | に追加されました | スケーリング設定 (asc-1は最も早い時点で追加されました) | vCPUの単価 (USD) |
i-1 | 杭州 (杭州) ゾーンH | 2021年5月17日11:05:00 | asc-1 | 1 |
i-2 | 杭州 (杭州) ゾーンI | 2021年5月18日11:05:00 | asc-1 | 2 |
i-3 | 杭州 (杭州) ゾーンI | 2021年5月19日11:05:00 | asc-1 | 3 |
i-4 | 杭州 (杭州) ゾーンH | 2021年5月20日11:05:00 | asc-2 | 3 |
i-5 | 杭州 (杭州) ゾーンI | 2021年5月21日11:05:00 | asc-2 | 3 |
シナリオ1: 優先度ポリシー + スケールインポリシー
Auto Scalingは、スケールインポリシーの要件を満たすECSインスタンスを除外します。 優先ポリシーは、フィルタリング結果には影響しません。
この例では、スケールインポリシーの最初のステップでカスタム組み合わせポリシーが定義されています。 ゾーンは杭州ゾーンIと杭州ゾーンHです。インスタンスIDはi-1とi-3です。 インスタンスの削除効果を次の表に示します。
最初のステップ | 第2ステップ | インスタンス削除効果 | 削除されたインスタンスID |
最も古いスケーリング設定を使用して作成されたインスタンス | 最も初期に作成されたインスタンス | Auto Scalingは、最も早いスケーリング設定を使用して作成されたECSインスタンスを除外し、結果から最も早い時点で作成されたECSインスタンスを除外します。 | i-1 |
最近作成されたインスタンス | Auto Scalingは、最も古いスケーリング設定を使用して作成されたECSインスタンスを除外し、最後に作成されたECSインスタンスを結果から除外します。 | i-3 | |
いいえポリシー | Auto Scalingは、最も古いスケーリング設定を使用して作成されたECSインスタンスを除外し、結果からランダムにECSインスタンスを選択して削除します。 |
| |
最も初期に作成されたインスタンス | - | Auto Scalingは、最も早い時点で作成されたECSインスタンスを削除します。 | i-1 |
最近作成されたインスタンス | - | Auto Scalingは、最近作成されたECSインスタンスを削除します。 | i-5 |
カスタムポリシー | 最も古いスケーリング設定を使用して作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、結果から最も古いスケーリング設定を使用して作成されたECSインスタンスを選択して削除します。 | i-1 |
最も初期に作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外してから、結果から最も早い時点で作成されたECSインスタンスを選択して削除します。 | i-1 | |
最近作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、最後に作成されたECSインスタンスを選択して削除します。 | i-3 | |
いいえポリシー | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、その結果からECSインスタンスをランダムに選択して削除します。 |
|
シナリオ2: 分散配布ポリシー + スケールインポリシー
Auto Scalingは、均衡分散ポリシーに基づいてECSインスタンスのゾーンを除外し、スケールインポリシーの要件を満たすECSインスタンスをスケーリンググループから削除します。 残りのECSインスタンスの分散は、ゾーン間で分散されます。 この例では、次のルールが有効になります。
杭州ゾーンIには、杭州ゾーンHよりも1つ多いECSインスタンスがあります。したがって、Auto Scalingは、均衡分散ポリシーに基づいて、杭州ゾーンIのECSインスタンスi-2、ECSインスタンスi-3、およびECSインスタンスi-5を除外します。
スケールインポリシーの最初のステップでカスタムポリシーが定義されている場合、Auto Scalingはカスタムポリシーに基づいて杭州ゾーンHのECSインスタンスi-1を除外します。
インスタンスの削除効果を次の表に示します。
最初のステップ | 第2ステップ | 説明 | 削除されたインスタンスID |
最も古いスケーリング設定を使用して作成されたインスタンス | 最も初期に作成されたインスタンス | Auto Scalingは、最も早いスケーリング設定を使用して作成されたECSインスタンスを除外し、結果から最も早い時点で作成されたECSインスタンスを除外します。 | i-2 |
最近作成されたインスタンス | Auto Scalingは、最も古いスケーリング設定を使用して作成されたECSインスタンスを除外し、最後に作成されたECSインスタンスを結果から除外します。 | i-3 | |
いいえポリシー | Auto Scalingは、最も古いスケーリング設定を使用して作成されたECSインスタンスを除外し、結果からランダムにECSインスタンスを選択して削除します。 |
| |
最も初期に作成されたインスタンス | - | Auto Scalingは、最も早い時点で作成されたECSインスタンスを削除します。 | i-2 |
最近作成されたインスタンス | - | Auto Scalingは、最近作成されたECSインスタンスを削除します。 | i-5 |
カスタムポリシー | 最も古いスケーリング設定を使用して作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、結果から最も古いスケーリング設定を使用して作成されたECSインスタンスを選択して削除します。 | i-3 |
最も初期に作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外してから、結果から最も早い時点で作成されたECSインスタンスを選択して削除します。 | i-3 | |
最近作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、最後に作成されたECSインスタンスを選択して削除します。 | i-3 | |
いいえポリシー | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、その結果からECSインスタンスをランダムに選択して削除します。 | i-3 |
シナリオ3: コスト最適化ポリシー + スケールインポリシー
Auto Scalingは、コスト最適化ポリシーに基づいて、vCPUの単価が最も高いECSインスタンスをスケーリンググループから優先的に削除します。 スケーリンググループに同時にvCPUの単価が最も高いECSインスタンスが複数含まれている場合、Auto scalingはスケールインポリシーに基づいてECSインスタンスを削除します。 この例では、vCPUの最高単価は USD 3。
Auto Scalingは、コスト最適化ポリシーに基づいて、ECSインスタンスi-3、ECSインスタンスi-4、およびECSインスタンスi-5を除外します。
スケールインポリシーの最初のステップでカスタムポリシーが定義されている場合、Auto Scalingは、カスタムポリシーに基づいて、杭州ゾーンHのECSインスタンスi-1と杭州ゾーンIのECSインスタンスi-3を除外します。
インスタンスの削除効果を次の表に示します。
最初のステップ | 第2ステップ | 説明 | 削除されたインスタンスID |
最も古いスケーリング設定を使用して作成されたインスタンス | 最も初期に作成されたインスタンス | Auto Scalingは、最も早いスケーリング設定を使用して作成されたECSインスタンスを除外し、結果から最も早い時点で作成されたECSインスタンスを除外します。 | i-3 |
最近作成されたインスタンス | Auto Scalingは、最も古いスケーリング設定を使用して作成されたECSインスタンスを除外し、最後に作成されたECSインスタンスを結果から除外します。 | i-3 | |
いいえポリシー | Auto Scalingは、最も古いスケーリング設定を使用して作成されたECSインスタンスを除外し、結果からランダムにECSインスタンスを選択して削除します。 | i-3 | |
最も初期に作成されたインスタンス | - | Auto Scalingは、最も早い時点で作成されたECSインスタンスを削除します。 | i-3 |
最近作成されたインスタンス | - | Auto Scalingは、最近作成されたECSインスタンスを削除します。 | i-5 |
カスタムポリシー | 最も古いスケーリング設定を使用して作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、結果から最も古いスケーリング設定を使用して作成されたECSインスタンスを選択して削除します。 | i-3 |
最も初期に作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外してから、結果から最も早い時点で作成されたECSインスタンスを選択して削除します。 | i-3 | |
最近作成されたインスタンス | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、最後に作成されたECSインスタンスを選択して削除します。 | i-3 | |
いいえポリシー | Auto Scalingは、最初にカスタムポリシーの要件を満たすECSインスタンスを除外し、その結果からECSインスタンスをランダムに選択して削除します。 | i-3 |
関連ドキュメント
複数のインスタンスタイプとゾーンに基づいてコスト最適化ポリシーを設定すると、スケーリングの成功率を向上させ、リソースコストを削減できます。 詳細については、「コスト最適化ポリシーと複数のインスタンスタイプの選択の組み合わせ」をご参照ください。
Auto Scalingは、カスタムスケールインポリシーの要件を満たすECSインスタンスでスケールします。 カスタムスケールインポリシーを設定する方法の詳細については、「Function Computeを使用してECSインスタンスのカスタムスケールインポリシーを作成する」をご参照ください。