翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EC2 Auto Scaling の終了ポリシーを設定する
終了ポリシーは、Amazon EC2 Auto Scaling が特定の順序でインスタンスを終了するために従う基準を提供します。デフォルトでは、Amazon EC2 Auto Scaling は古い設定を使用しているインスタンスを最初に終了するように設計された終了ポリシーを使用します。終了ポリシーを変更して、最初に終了することが最も重要なインスタンスを制御できます。
Amazon EC2 Auto Scaling がインスタンスを終了すると、Auto Scaling グループで有効になっているアベイラビリティーゾーン間でバランスを維持しようとします。ゾーン間でのバランスを維持することは、終了ポリシーよりも優先されます。1 つのアベイラビリティーゾーンに他のアベイラビリティーゾーンよりも多くのインスタンスがある場合、Amazon EC2 Auto Scaling はまず不均衡なゾーンに終了ポリシーを適用します。アベイラビリティーゾーンのバランスが取れている場合、すべてのゾーンに終了ポリシーが適用されます。
デフォルトの終了ポリシーの仕組み
Amazon EC2 Auto Scaling がインスタンスを終了する必要がある場合、まず、どのアベイラビリティーゾーン (またはゾーン) が最も多いインスタンスと、スケールインから保護されていないインスタンスを少なくとも 1 つ特定します。次に、特定されたアベイラビリティーゾーン内の保護されていないインスタンスを次のように評価します。
古い設定を使用するインスタンス
-
起動テンプレートを使用するグループの場合 – インスタンスのいずれかが古い設定を使用しているかどうかを、以下の優先順位で判断します。
-
まず、起動設定で起動されたインスタンスを確認します。
-
次に、現在の起動テンプレートではなく、別の起動テンプレートを使用して起動されたインスタンスを確認します。
-
最後に、現在の起動テンプレートの最も古いバージョンを使用したインスタンスを確認します。
-
-
起動設定を使用するグループの場合 – インスタンスのいずれかが最も古い起動設定を使用しているかどうかを判断します。
古い設定のインスタンスが見つからない場合、または複数のインスタンスから選択できる場合、Amazon EC2 Auto Scaling は次の請求時間に近いインスタンスの次の基準を考慮します。
次の課金時間に近いインスタンス
前の基準を満たすインスタンスのいずれかが、次の課金時間に最も近いかどうかを判断します。複数のインスタンスの近さが同じ場合は、ランダムに 1 つ終了します。これによって、時間ごとに課金されるインスタンスを最大限に活用できます。ただし、EC2 のほとんどの使用量は 1 秒あたりに請求されるようになったため、この最適化によるメリットは少なくなります。詳細については、「Amazon EC2 の料金
次のフロー図は、起動テンプレートを使用するグループでデフォルトの終了ポリシーがどのように機能するかを示しています。
デフォルトの終了ポリシーと混合インスタンスグループ
Amazon EC2 Auto Scaling は、混合インスタンスグループのインスタンスを終了するときに追加の基準を適用します。
Amazon EC2 Auto Scaling がインスタンスを終了する必要がある場合、まずグループの設定に基づいて終了する購入オプション (スポットまたはオンデマンド) を特定します。これにより、グループが時間の経過とともに傾向として、スポットインスタンスとオンデマンドインスタンスが指定された比率になるようにできます。
次に、各アベイラビリティーゾーン内で独立に終了ポリシーを適用します。アベイラビリティーゾーンのバランスを維持するために、終了するアベイラビリティーゾーンで、スポットインスタンスかオンデマンドインスタンスかを決定します。インスタンスタイプに定義された重みを持つ混合インスタンスグループにも同じロジックが適用されます。
各ゾーン内で、デフォルトの終了ポリシーは次のように動作して、特定された購入オプション内でどの保護されていないインスタンスを終了できるかを決定します。
-
Auto Scaling グループの指定された割り当て戦略との整合性を向上させるために、いずれかのインスタンスを終了できるかどうかを決定します。最適化するインスタンスが特定されない場合、または複数のインスタンスから選択できる場合は、評価が続行されます。
-
いずれかのインスタンスが古い設定を使用しているかどうかを次の優先順序で判断します。
-
まず、起動設定で起動されたインスタンスを確認します。
-
次に、現在の起動テンプレートではなく、別の起動テンプレートを使用して起動されたインスタンスを確認します。
-
最後に、現在の起動テンプレートの最も古いバージョンを使用したインスタンスを確認します。
古い設定のインスタンスがない場合、または複数のインスタンスから選択できる場合は、評価が続行されます。
-
-
いずれかのインスタンスが次の課金時間に最も近いかどうかを判断します。複数のインスタンスの近さが同じ場合は、ランダムに 1 つ選択します。
事前定義された終了ポリシー
次の事前定義された終了ポリシーから選択します。
-
Default
– デフォルトの終了のポリシーに従って、インスタンスを終了します。 -
AllocationStrategy
– Auto Scaling グループのインスタンスを終了して、残りのインスタンスを、終了するインスタンスのタイプ (スポットインスタンスまたはオンデマンドインスタンス) の配分戦略に合わせます。このポリシーは、優先するインスタンスタイプが変更されたときに便利です。スポット配分戦略がlowest-price
の場合、N 個の最低価格のスポットプール間で、スポットインスタンスの分散バランスを徐々に再調整できます。スポット配分戦略がcapacity-optimized
の場合、使用可能なスポットキャパシティーがより多いスポットプール間で、スポットインスタンスの分散バランスを徐々に再調整できます。優先度の低いタイプのオンデマンドインスタンスを優先度の高いタイプのオンデマンドインスタンスに徐々に置き換えることもできます。 -
OldestLaunchTemplate
– 最も古い起動テンプレートを使用するインスタンスを終了します。このポリシーでは、現在の起動テンプレートを使用していないインスタンスが最初に終了され、その後、現在の起動テンプレートのうち最も古いバージョンを使用しているインスタンスが終了されます。このポリシーは、グループを更新し、以前の設定を使用しているインスタンスを廃止する場合に便利です。 -
OldestLaunchConfiguration
– 最も古い起動設定のインスタンスを終了します。このポリシーは、グループを更新し、以前の設定を使用しているインスタンスを廃止する場合に便利です。このポリシーでは、最新以外の起動設定を使用するインスタンスが最初に終了されます。 -
ClosestToNextInstanceHour
– 次の課金時間に最も近いインスタンスを終了します。これにより、時間単価のインスタンスを最大限に活用できます。 -
NewestInstance
– グループ内の最も新しいインスタンスを終了します。このポリシーは、新しい起動設定をテストするが、新しい設定は本稼働環境には保持しない場合に便利です。 -
OldestInstance
– グループ内の最も古いインスタンスを終了します。このオプションは、Auto Scaling グループのインスタンスを新しい EC2 インスタンスタイプにアップグレードする場合に便利です。より古いタイプのインスタンスをより新しいタイプのインスタンスに徐々に置き換えることができます。注記
Amazon EC2 Auto Scaling は、どの終了ポリシーが使用されているかに関係なく、常にアベイラビリティーゾーン間でインスタンスを最初に分散します。その結果、いくつかの新しいインスタンスが古いインスタンスの前に終了される状況が発生する可能性があります。例えば、最近追加されたアベイラビリティーゾーンがある場合、グループに使用されている他のアベイラビリティーゾーンより多くのインスタンスが含まれるアベイラビリティーゾーンがある場合。