Auto Scaling グループから終了した EC2 インスタンスを削除する方法を教えてください。

最終更新日: 2019 年 4 月 15 日

終了した Amazon Elastic Compute Cloud (Amazon EC2) インスタンスがあります。ですがインスタンスが Amazon EC2 コンソールでは正常 (Healthy)、スタンバイ状態 (InStandby) と表示されます。Amazon EC2 Auto Scaling (EC2 Auto Scaling) グループからこの終了したインスタンスを削除するにはどうしたらよいですか?

簡単な説明

EC2 Auto Scaling は、スタンバイ状態のインスタンスのヘルスチェックを実行しません。EC2 Auto Scaling は、スタンバイ状態のインスタンスのインスタンス終了を認識しません。

次のいずれかの方法を使用して、まだ正常で待機中としてリストされている終了したインスタンスを EC2 Auto Scaling グループから削除できます。

  • AWS コマンドラインインターフェイス (AWS CLI) を使用して、インスタンスを終了します。
  • EC2 Auto Scaling グループからインスタンスをデタッチします。これで EC2 Auto Scaling コンソールからインスタンスが削除されます。
  • インスタンスをスタンバイ状態から解除すると、Auto Scaling はヘルスチェックを使用してインスタンスの終了を検出できます。

解決方法

ユースケースに適した方法を使用して、EC2 Auto Scaling グループから終了したインスタンスを削除します。

インスタンスの終了

次のコマンドを使用してインスタンスを終了します。必ず 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 グループにライフサイクルフック 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.

注: 目的のインスタンスが終了した後、希望するキャパシティーに合うように代替インスタンスが起動されます。

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

この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合