我有一個終止的 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 CLI 或 Amazon 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 群組中的執行個體