インスタンスの終了保護を変更する - Amazon Elastic Compute Cloud

インスタンスの終了保護を変更する

Amazon EC2 API の使用中にインスタンスが誤って終了するのを防ぐには、TerminateInstances を直接呼び出すか、別のインターフェイス (Amazon EC2 コンソールなど) を使用するかにかかわらず、インスタンスの終了保護を有効にします。DisableApiTermination 属性は、インスタンスを終了可能にするかどうかを制御します。デフォルトでは、インスタンスの削除保護は無効になっています。この属性の値は、インスタンスの起動時、もしくはインスタンスの実行中または停止時に、設定することができます。

InstanceInitiatedShutdownBehavior 属性が terminate に設定された場合、DisableApiTermination 属性は (システムシャットダウン用のオペレーティングシステムコマンドを使用するなどして) インスタンスからシャットダウンを開始して、インスタンスを終了できます。詳細については、「インスタンスによるシャットダウン動作を変更する」を参照してください。

考慮事項
  • 終了保護を有効にしても、インスタンスにインスタンスを終了する予定されたイベントがある場合、AWS によるインスタンスの終了は防げません。

  • 終了保護を有効にしても、インスタンスが異常な場合やスケールインイベント中に Amazon EC2 Auto Scaling がインスタンスを終了することは防げません。スケールイン時に Auto Scaling グループが特定のインスタンスを終了できるかどうかを制御するには、インスタンスのスケールイン保護を使用します。Auto Scaling グループが異常なインスタンスを終了できるかどうかを制御するには、ReplaceUnhealthy スケーリングプロセスを中断します

  • スポットインスタンス の削除保護を有効にすることはできません。

Console
起動時にインスタンスに対する終了保護を有効にするには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ダッシュボードで、[Launch Instance (インスタンスの起動)] を選択してください。

  3. [Advanced Details] (高度な詳細) を展開します。[終了保護] で、[有効化] を選択します。

  4. インスタンスの詳細の指定が終了したら、[インスタンスの起動] を選択します。

インスタンスに対する終了保護を変更するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択してください。

  4. インスタンスを選択してから、[アクション][インスタンスの設定][削除保護の変更] の順に選択します。

  5. [終了保護] で、[有効化] を選択またはクリアします。

  6. [保存] を選択します。

AWS CLI
インスタンスに対する終了保護を有効にするには

modify-instance-attribute コマンドを使用します。

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --disable-api-termination
インスタンスに対する終了保護を無効化するには

modify-instance-attribute コマンドを使用します。

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --no-disable-api-termination
PowerShell
インスタンスに対する終了保護を有効にするには

Edit-EC2InstanceAttribute コマンドレットを使用します。

Edit-EC2InstanceAttribute ` -InstanceId i-1234567890abcdef0 ` -DisableApiTermination $true
インスタンスに対する終了保護を無効化するには

Edit-EC2InstanceAttribute コマンドレットを使用します。

Edit-EC2InstanceAttribute ` -InstanceId i-1234567890abcdef0 ` -DisableApiTermination $false

終了保護を使用して複数のインスタンスを終了する

複数のアベイラビリティーゾーンにある複数のインスタンスを同じリクエストで同時に終了する場合、指定した中に終了保護が有効になっているインスタンスが 1 つ以上存在すると、そのリクエストは失敗し次のような結果が返されます。

  • 保護されたインスタンスと同じアベイラビリティーゾーンにあるインスタンスは終了されません。

  • 保護されたインスタンスが他に存在しないアベイラビリティーゾーンでは、特定のインスタンスを正常に終了することができます。

2 つのアベイラビリティーゾーンに次の 4 つのインスタンスがあるとします。

インスタンス アベイラビリティーゾーン 終了保護
インスタンス 1 AZ A Disabled
インスタンス 2 Disabled
インスタンス 3 AZ B Enabled
インスタンス 4 Disabled

これらのインスタンスすべてを同じリクエストで終了しようとすると、リクエストは以下のような結果とともに失敗を返します。

  • インスタンス 1インスタンス 2 は、どちらのインスタンスも終了保護が有効化されていないため、正常に終了します。

  • インスタンス 3インスタンス 4 は、インスタンス 3 で終了保護が有効になっているため、終了に失敗します。