インスタンスの保持を設定する - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

インスタンスの保持を設定する

終了ライフサイクルアクションが失敗したときにインスタンスを保持するように Amazon EC2 Auto Scaling グループを設定します。

Auto Scaling グループでインスタンスライフサイクルポリシーを使用するには、終了ライフサイクルフックも設定する必要があります。インスタンスライフサイクルポリシーを設定しても、終了ライフサイクルフックがない場合、ポリシーは効果がありません。インスタンスライフサイクルポリシーは、終了ライフサイクルアクションが中止された場合にのみ適用され、CONTINUE結果が正常に完了した場合は適用されません。

インスタンスライフサイクルポリシーは、保持トリガーを使用して、インスタンスを保持するタイミングを決定します。TerminateHookAbandon トリガーにより、いくつかのシナリオで保持されます。

  • ABANDON 結果とともに CompleteLifecycleAction API を明示的に呼び出す場合。

  • ハートビートを受信せずにハートビートABANDONタイムアウトに達したために、デフォルトの終了ライフサイクルアクションがタイムアウトした場合。

  • デフォルトの結果 を持つ終了ライフサイクルアクションでグローバルタイムアウトに達するとABANDON、48 時間またはハートビートタイムアウトの 100 倍のいずれか小さい方になります。

Console
インスタンスの保持を設定するには
  1. Amazon EC2 Auto Scaling コンソールを開く

  2. Auto Scaling グループを作成する (インスタンスライフサイクルポリシーのデフォルトは終了)

  3. Auto Scaling グループの詳細ページに移動し、インスタンス管理タブを選択します。

  4. ライフサイクルフックのインスタンスライフサイクルポリシーで保持を選択します。

  5. 以下を使用して終了ライフサイクルフックを作成します。

    • ライフサイクル移行をインスタンス終了に設定

    • デフォルトの結果セットを Abandon に設定

AWS CLI
インスタンスの保持を設定するには

インスタンスライフサイクルポリシーで create-auto-scaling-group コマンドを使用します。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template,Version='$Latest' \ --min-size 1 \ --max-size 3 \ --desired-capacity 2 \ --vpc-zone-identifier subnet-12345678 \ --instance-lifecycle-policy file://lifecycle-policy.json

Lifecycle-policy.json の内容:

{ "RetentionTriggers": { "TerminateHookAbandon": "retain" } }
終了ライフサイクルフックを追加するには

put-lifecycle-hook コマンドを使用します。

aws autoscaling put-lifecycle-hook \ --lifecycle-hook-name my-termination-hook \ --auto-scaling-group-name my-asg \ --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING \ --default-result ABANDON \ --heartbeat-timeout 300