Amazon EC2 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 グループはインスタンスを起動して、スタンバイ状態のインスタンスと置き換えます。その目的は、1 つ以上のインスタンスがスタンバイ状態である間にアプリケーションの容量を維持できるようにすることです。

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

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

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

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

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


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

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

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

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

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

インスタンスを一時的に削除する (コンソール)

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

インスタンスを一時的に削除するには

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

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

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

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

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

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

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

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

インスタンスを一時的に削除する (AWS CLI)

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

インスタンスを一時的に削除するには

  1. 以下の describe-auto-scaling-instances コマンドを実行して、更新するインスタンスを確認します。

    aws autoscaling describe-auto-scaling-instances

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

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, ... ] }
  2. 次の enter-standby コマンドを使用してインスタンスを Standby 状態に変更します。--should-decrement-desired-capacity オプションは、Auto Scaling グループで代わりのインスタンスが起動されないように希望する容量を減らします。

    aws autoscaling enter-standby --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg --should-decrement-desired-capacity

    以下に、レスポンスの例を示します。

    { "Activities": [ { "Description": "Moving EC2 instance to Standby: i-05b4f7d5be44822a6", "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-05b4f7d5be44822a6 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-05b4f7d5be44822a6

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

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

  5. 以下の exit-standby コマンドを使用して、インスタンスを稼働状態に戻します。

    aws autoscaling exit-standby --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg

    以下に、レスポンスの例を示します。

    { "Activities": [ { "Description": "Moving EC2 instance out of Standby: i-05b4f7d5be44822a6", "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-05b4f7d5be44822a6 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-05b4f7d5be44822a6

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

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, ... ] }