如何從 Auto Scaling 群組中移除已終止的 EC2 執行個體?

1 分的閱讀內容
0

我有一個終止的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。不過,執行個體在 Amazon EC2 主控台中顯示為狀況良好 (狀況良好) 且處於待命狀態 (待命狀態)。

簡短描述

EC2 Auto Scaling 不會對處於待命狀態的執行個體執行運作狀態檢查。EC2 Auto Scaling 不會知道待命執行個體的執行個體終止。

使用下列其中一種方法,從 EC2 Auto Scaling 群組中移除仍列為「狀況良好」和「待命狀態」的已終止執行個體:

  • 使用 AWS Command Line Interface (AWS CLI) 終止執行個體。
  • 將執行個體從 EC2 Auto Scaling 群組中分離,以將其從 EC2 Auto Scaling 主控台移除。
  • 將執行個體從 InStandby 中取出,以允許 Auto Scaling 使用運作狀態檢查來探索執行個體終止。

解決方法

**注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確認您使用的是最新版本的 AWS CLI

終止執行個體

執行下列命令以終止執行個體。將 YOUR-INSTANCE-ID 取得為執行個體的資源 ID

aws autoscaling terminate-instance-in-auto-scaling-group --instance-id YOUR-INSTANCE-ID --no-should-decrement-desired-capacity

**重要事項:**如果您為 EC2 Auto Scaling 群組設定了 lifecycle hook EC2_INSTANCE_TERMINATING,請使用 CompleteLifecycleAction 立即從群組中移除執行個體。

分離執行個體

執行下列命令,將執行個體從 EC2 Auto Scaling 群組中分離。將您的 YOUR-INSTANCE-ID 取代為執行個體的資源 ID,並將您的 YOUR_ASG_NAME 取代為 EC2 Auto Scaling 群組名稱。

aws autoscaling detach-instances --instance-ids YOUR-INSTANCE-ID --no-should-decrement-desired-capacity --auto-scaling-group-name YOUR-ASG-NAME

將執行個體退出待命狀態

1.    使用 AWS CLIAmazon EC2 主控台編輯 EC2 Auto Scaling 群組的大小上限。當您將執行個體重新啟用時,所需的容量會遞增 1,且不得超過群組的大小上限值。將大小上限設為目前值 + 傳回服務的執行個體數目 (1),否則您可能會收到類似下列錯誤:

An error occurred (ValidationError) when calling the ExitStandby operation: AutoScalingGroup YOUR-ASG-NAME has min-size=1, max-size=1, and desired-size=1. To place in service 1 instance, please update the AutoScalingGroup sizes appropriately.

**注意:**終止執行個體後,Amazon EC2 會啟動替換執行個體以符合所需容量。

2.    使用以下命令將執行個體退出待命狀態。請務必將您的 YOUR-INSTANCE-ID 取代為執行個體的資源 ID,並將您的 YOUR_ASG_NAME 取代為 EC2 Auto Scaling 群組的名稱。

aws autoscaling exit-standby --instance-ids YOUR-INSTANCE-ID --auto-scaling-group-name YOUR-ASG-NAME

相關資訊

暫時移除 Auto Scaling 群組中的執行個體

AWS 官方
AWS 官方已更新 1 年前