EC2 容量不足エラーの処理 - AWS での Instance Scheduler

EC2 容量不足エラーの処理

容量不足が原因で Instance Scheduler がインスタンスの起動に失敗した場合、デフォルトの動作は、起動に失敗したイベントを発行し (EventBridge イベントを参照)、次のスケジューリング間隔で再試行することです。または、Instance Scheduler を設定して、開始オペレーションを再試行する前にインスタンスのサイズを別のインスタンスタイプに変更することもできます。この機能は、容量に制約のある環境でのインスタンスの可用性を向上させるのに役立ちます。

設定

EC2 インスタンスの代替インスタンスタイプを有効にするには、以下のようなインスタンスタイプのカンマ区切りリストに記載された優先順に IS-PreferredInstanceTypes タグをインスタンスに追加します (最初のタイプが最も優先されます)。

IS-PreferredInstanceTypes: t3.medium,t3.large,m5.large

仕組み

代替インスタンスタイプリストは優先順に提供され、最初のタイプが最も優先されます。Instance Scheduler が EC2 インスタンスを起動しようとすると、次のようになります。

  1. インスタンスが現在最も望ましいサイズでない場合、開始する前に最も望ましいサイズへの変更を試みます。

  2. 開始オペレーションが成功した場合、それ以上の代替操作は試行されません。

  3. 容量不足が原因で開始オペレーションが失敗した場合:

    1. リスト内の次の代替インスタンスタイプにサイズ変更を試みます

    2. 開始オペレーションを再試行します

    3. それでも失敗した場合、次の代替タイプを試行します

    4. 成功するか、すべての代替案が使い果たされるまで続行します

要件と制限

インスタンスの互換性: 代替インスタンスタイプは、インスタンスの現在の設定 (AMI、サブネット、セキュリティグループなど) と互換性がある必要があります。詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスタイプを変更する」を参照してください。

タグ形式: IS-PreferredInstanceTypes タグ値は、有効な EC2 インスタンスタイプのカンマ区切りリストである必要があります。

最初に t3.small として設定されたインスタンスの場合、以下のように設定できます。

Schedule: office-hours IS-PreferredInstanceTypes: t3.small,t3.medium,t3.large,m5.large

容量の問題が原因で t3.small インスタンスの起動に失敗した場合、Instance Scheduler は、成功するかすべてのオプションが使い果たされるまで、インスタンスのサイズ変更と起動を t3.medium として、次いで、t3.largem5.large の順に試みます。