メニュー
Auto Scaling
ユーザーガイド

Auto Scaling グループからの一時的なインスタンスの削除

Auto Scaling でインスタンスを InService 状態から Standby 状態に移行でき、インスタンスを更新またはトラブルシューティングして、インスタンスをサービスに返すことができます。スタンバイ状態のインスタンスはまだ Auto Scaling グループの一部ですが、アプリケーショントラフィックをアクティブに処理しません。

重要

スタンバイ状態のインスタンスに対して課金されます。

たとえば、Auto Scaling グループの起動設定をいつでも変更でき、Auto Scaling グループを起動するインスタンスすべてがこの設定を使用します。ただし、Auto Scaling グループは現在稼働中のインスタンスを更新しません。インスタンスを終了して Auto Scaling グループを置き換えるか、インスタンスをスタンバイ状態に移行して、ソフトウェアを更新し、インスタンスをサービスに戻せます。

スタンバイ状態の仕組み

Auto Scaling グループからインスタンスを一時的に削除できるように、スタンバイ状態は次のように機能します。

  1. ユーザーがインスタンスをスタンバイ状態にする。スタンバイ状態を終了するまで、インスタンスはこの状態のままです。

  2. Auto Scaling グループにアタッチされたロードバランサーまたはターゲットグループがある場合、インスタンスはロードバランサーまたはターゲットグループから登録解除されます。

  3. デフォルトでは、Auto Scaling は、スタンバイになっているインスタンスに応じて Auto Scaling グループの希望する容量を減らします。この場合、スタンバイ状態になっているインスタンスがあると、Auto Scaling は追加のインスタンスを起動できません。または、容量を減らさない Auto Scaling を指定できます。これにより、Auto Scaling はスタンバイ状態のインスタンスを置き換える追加のインスタンスを起動します。

  4. インスタンスを更新、またはトラブルシューティングできます。

  5. スタンバイ状態を終了することにより、インスタンスを稼働状態に戻します。

  6. スタンバイ状態にあったインスタンスを稼働状態に戻すと、Auto Scaling は希望する容量を増やします。インスタンスをスタンバイ状態に移行するときに容量を減らさない場合、Auto Scaling は必要以上のインスタンスがあることを検出し、Auto Scaling グループのサイズの削減を有効にする終了ポリシーを適用します。詳細については、「スケールイン時に Auto Scaling がどのインスタンスを削除するかを制御する」を参照してください。

  7. Auto Scaling グループにアタッチされたロードバランサーまたはターゲットグループがある場合、インスタンスはロードバランサーまたはターゲットグループに登録されます。

次の図は、このプロセスのインスタンス状態の遷移を示しています。

 インスタンスはスタンバイ状態になったりスタンバイ状態を終了したりします。

Auto Scaling グループのインスタンスの詳細なライフサイクルについては、「Auto Scaling ライフサイクル」を参照してください。

スタンバイ状態のインスタンスのヘルスステータス

Auto Scaling はスタンバイ状態にあるインスタンスのヘルスチェックを実行しません。インスタンスがスタンバイ状態にあるとき、スタンバイ状態に移行する前の状態がヘルスステータスに反映されます。インスタンスを稼働状態に戻すまで、Auto Scaling はインスタンスのヘルスチェックを実行しません。

たとえば、正常なインスタンスをスタンバイ状態に移行して終了する場合、インスタンスは正常であると Auto Scaling が報告し続けます。終了したインスタンスを稼働状態に戻すと、Auto Scaling はインスタンスのヘルスチェックを実行し、そのインスタンスが異常であると判定すると、代わりのインスタンスを起動します。

AWS マネジメントコンソール を使用したインスタンスの一時的な削除

以下の手順は、サービスに現在存在するインスタンスを更新する一般的な手順を示しています。

コンソールを使用してインスタンスを一時的に削除するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling Groups] を選択します。

  3. Auto Scaling グループを選択します。

  4. [Instances] タブで、インスタンスを選択します。

  5. [Actions]、[Set to Standby] を選択します。

  6. [Set to Standby] ページで、Auto Scaling で代替インスタンスを起動するにはチェックボックスをオンにします。必要な容量を減らすには、オフのままにします。[Set to Standby] を選択します。

  7. 必要に応じてインスタンスを更新、またはトラブルシューティングできます。終了したら、インスタンスを稼働状態に戻すために次のステップに進みます。

  8. インスタンスを選択し、[Actions]、[Set to InService] を選択します。[Set to InService] ページで、[Set to InService] を選択します。

AWS CLI を使用したインスタンスの一時的な削除

以下の手順は、サービスに現在存在するインスタンスを更新する一般的な手順を示しています。

AWS CLI を使用してインスタンスを一時的に削除するには

  1. 次の describe-auto-scaling-instances コマンドを使用して、更新するインスタンスを確認します。

    aws autoscaling describe-auto-scaling-instances

    以下に、応答の例を示します。

    { "AutoScalingInstances": [ { "AvailabilityZone": "us-west-2a", "InstanceId": "i-5b73d709", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" }, ... ] }
  2. 次の enter-standby コマンドを使用して、インスタンスを Standby 状態に変更します。--should-decrement-desired-capacity オプションは、Auto Scaling で代わりのインスタンスが起動されないように希望する容量を減らします。

    aws autoscaling enter-standby --instance-ids i-5b73d709 --auto-scaling-group-name my-asg --should-decrement-desired-capacity

    以下に、応答の例を示します。

    { "Activities": [ { "Description": "Moving EC2 instance to Standby: i-5b73d709", "AutoScalingGroupName": "my-asg", "ActivityId": "3b1839fe-24b0-40d9-80ae-bcd883c2be32", "Details": "{\"Availability Zone\":\"us-west-2a\"}", "StartTime": "2014-12-15T21:31:26.150Z", "Progress": 50, "Cause": "At 2014-12-15T21:31:26Z instance i-5b73d709 was moved to standby in response to a user request, shrinking the capacity from 4 to 3.", "StatusCode": "InProgress" } ] }
  3. (任意)次の describe-auto-scaling-instances コマンドを使用して、インスタンスが Standby であることを確認します。

    aws autoscaling describe-auto-scaling-instances --instance-ids i-5b73d709

    以下に、応答の例を示します。インスタンスのステータスが Standby に設定されました。

    { "AutoScalingInstances": [ { "AvailabilityZone": "us-west-2a", "InstanceId": "i-5b73d709", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "Standby", "LaunchConfigurationName": "my-lc" } ] }
  4. 必要に応じてインスタンスを更新、またはトラブルシューティングできます。終了したら、インスタンスを稼働状態に戻すために次のステップに進みます。

  5. 次の exit-standby コマンドを使用してインスタンスをサービスに戻します。

    aws autoscaling exit-standby --instance-ids i-5b73d709 --auto-scaling-group-name my-asg

    以下に、応答の例を示します。

    { "Activities": [ { "Description": "Moving EC2 instance out of Standby: i-5b73d709", "AutoScalingGroupName": "my-asg", "ActivityId": "db12b166-cdcc-4c54-8aac-08c5935f8389", "Details": "{\"Availability Zone\":\"us-west-2a\"}", "StartTime": "2014-12-15T21:46:14.678Z", "Progress": 30, "Cause": "At 2014-12-15T21:46:14Z instance i-5b73d709 was moved out of standby in response to a user request, increasing the capacity from 3 to 4.", "StatusCode": "PreInService" } ] }
  6. (任意)次の describe-auto-scaling-instances コマンドを使用して、インスタンスがサービスに戻っていることを確認します。

    aws autoscaling describe-auto-scaling-instances --instance-ids i-5b73d709

    以下に、応答の例を示します。インスタンスのステータスが InService に設定されました。

    { "AutoScalingInstances": [ { "AvailabilityZone": "us-west-2a", "InstanceId": "i-5b73d709", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" } ] }