設定執行個體保留 - 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. 使用 建立您的終止生命週期關聯:

    • 生命週期轉換設定為執行個體終止

    • 預設結果設定為放棄

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" } }
新增終止 lifecycle hook

使用 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