Amazon EC2 Auto Scaling (日本語)
ユーザーガイド

Auto Scaling グループからの EC2 インスタンスのデタッチ

Auto Scaling グループからインスタンスを削除できます。インスタンスをデタッチした後、Auto Scaling グループの残りのメンバーとは別にそれらのインスタンスを管理できます。インスタンスをデタッチすることで、以下のことを行えます。

  • インスタンスを 1 つの Auto Scaling グループから移動して別のグループにアタッチします。詳細については、「Auto Scaling グループへの EC2 インスタンスのアタッチ」を参照してください。

  • アプリケーションを実行している既存のインスタンスを使用して作成することによって Auto Scaling グループをテストした後、テストが完了したら Auto Scaling グループからこれらのインスタンスをデタッチします。

インスタンスをデタッチするときは、デタッチするインスタンスの数を Auto Scaling グループの希望する容量から減らすことができます。容量を減らさない場合、Amazon EC2 Auto Scaling はデタッチしたインスタンスに置き換わる新しいインスタンスを起動します。容量を減らして、同一アベイラビリティーゾーンから複数のインスタンスをデタッチする場合は、AZRebalance プロセスを中断しない限り、Amazon EC2 Auto Scaling はアベイラビリティーゾーンを再調整できます。詳細については、「スケーリングプロセス」を参照してください。

デタッチするインスタンス数によって Auto Scaling グループのサイズが最低容量を下回る場合、インスタンスをデタッチする前にグループの最低容量を減らす必要があります。

ロードバランサーにアタッチした Auto Scaling グループからインスタンスをデタッチすると、インスタンスはロードバランサーから登録解除されます。インスタンスをターゲットグループにアタッチした Auto Scaling グループにデタッチする場合、インスタンスはターゲットグループから登録解除されます。ロードバランサーで Connection Draining が有効になっている場合、Amazon EC2 Auto Scaling は未処理のリクエストが完了するまで待機します。

例では、以下の設定で Auto Scaling グループを使用します。

  • Auto Scaling グループ名 = my-asg

  • 最小サイズ = 1

  • 最大サイズ = 5

  • 希望する容量 = 4

  • アベイラビリティーゾーン = us-west-2a

インスタンスのデタッチ (コンソール)

Auto Scaling グループからインスタンスをデタッチするには、以下の手順を使用します。

既存の Auto Scaling グループからインスタンスをデタッチするには

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

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

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

  4. [Instances] タブで、インスタンスを選択し、[Actions]、[Detach] の順に選択します。

  5. 代わりのインスタンスを起動する場合、[Detach Instance] ページでチェックボックスを選択し、必要な容量を減らす場合はチェックボックスをオフのままにしておきます。[Detach Instance (インスタンスのデタッチ)] を選択します。

インスタンスのデタッチ (AWS CLI)

Auto Scaling グループからインスタンスをデタッチするには、以下の手順を使用します。

既存の Auto Scaling グループからインスタンスをデタッチするには

  1. 以下の describe-auto-scaling-instances コマンドを使用して、現在のインスタンスを一覧表示します。

    aws autoscaling describe-auto-scaling-instances

    以下のレスポンスの例では、グループに実行中のインスタンスが 4 個あることが示されています。

    { "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" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0f280a4c58d319a8a", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" } ] }
  2. 以下の detach-instances コマンドを使用して、インスタンスをデタッチし、希望する容量を減らします。

    aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg --should-decrement-desired-capacity
  3. 以下の describe-auto-scaling-instances コマンドを使用して、インスタンスがデタッチされたことを確認します。

    aws autoscaling describe-auto-scaling-instances

    以下のレスポンスの例では、実行中のインスタンスが 3 個になったことが示されています。

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0f280a4c58d319a8a", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" } ] }