EC2 インスタンスを Auto Scaling グループにアタッチする - Amazon EC2 Auto Scaling (日本語)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EC2 インスタンスを Auto Scaling グループにアタッチする

Amazon EC2 Auto Scaling では、1 つ以上の EC2 インスタンスを既存の Auto Scaling グループにアタッチすることによって自動スケーリングを有効にするオプションが用意されています。インスタンスは、アタッチされた後、Auto Scaling グループの一部となります。

アタッチするインスタンスは次の条件を満たす必要があります。

  • インスタンスが running 状態であること。

  • インスタンスの起動に使用する AMI が引き続き存在していること。

  • インスタンスは他の Auto Scaling グループのメンバーではありません。

  • インスタンスは、Auto Scaling グループで定義されているいずれかのアベイラビリティーゾーンに起動されます。

  • Auto Scaling グループにアタッチしたロードバランサーターゲットグループがある場合は、インスタンスおよびロードバランサーは両方とも同じ VPC にあることが必要です。Auto Scaling グループにアタッチした Classic Load Balancer がある場合、インスタンスとロードバランサーは両方とも EC2-または同じ VPC にあることが必要です。

インスタンスをアタッチすると、アタッチされるインスタンスの数によって、グループの必要な容量は増加します。アタッチするインスタンスの数と希望する容量がグループの最大サイズを超える場合、リクエストは失敗します。

インスタンスをロードバランサーターゲットグループまたはClassic Load Balancer ロードバランサーにアタッチした Auto Scaling グループにアタッチする場合、インスタンスはロードバランサーに登録されます。

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

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

  • 最小サイズ = 1

  • 最大サイズ = 5

  • 希望する容量 = 2

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

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

既存の Auto Scaling グループ、または作成する新しい Auto Scaling グループに既存のインスタンスをアタッチできます。

新しい Auto Scaling グループにインスタンスをアタッチするには

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

  2. ナビゲーションペインで、[インスタンス] の下にある、[インスタンス] を選択して、インスタンスを選択します。

  3. 選択アクション,インスタンスの設定,Auto Scaling グループへのアタッチ

  4. リポジトリの []Auto Scaling グループにアタッチするページで、Auto Scaling グループ次に、グループの名前を入力し、[アタッチ

    新しい Auto Scaling グループは、Auto Scaling グループに指定したものと同じ名前で、新しい起動設定を使用して作成されます。起動設定は、アタッチしたインスタンスから設定(セキュリティグループや IAM ロールなど)を取得します。Auto Scaling グループは、アタッチしたインスタンスから設定(たとえば、アベイラビリティーゾーンおよびサブネット) を取得し、希望する容量と最大サイズ1

  5. (オプション) Auto Scaling グループの設定を編集するには、ナビゲーションペインのAUTO SCALING] で、Auto Scaling グループ。新しい Auto Scaling グループの横にあるチェックボックスを選択して、編集ボタンを選択し、必要に応じて設定を変更し、[更新

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

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

  2. (オプション) ナビゲーションペインの [AUTO SCALING] で、[Auto Scaling グループ] を選択します。Auto Scaling グループを選択し、Auto Scaling グループの最大サイズが別のインスタンスを追加できる十分な大きさであることを確認します。大きさが十分でない場合は、[詳細] タブで最大容量を増やします。

  3. ナビゲーションペインで、[インスタンス] の下にある、[インスタンス] を選択して、インスタンスを選択します。

  4. 選択アクション,インスタンスの設定,Auto Scaling グループにアタッチする

  5. リポジトリの []Auto Scaling グループにアタッチするページで、Auto Scaling グループ[Auto Scaling グループ] を選択して [アタッチ

  6. インスタンスがこの基準を満たさない場合、エラーメッセージとその詳細が表示されます。たとえば、インスタンスが Auto Scaling グループと同じアベイラビリティーゾーンにない可能性があります。[Close (閉じる)] を選択して、条件を満たすインスタンスでもう一度試してください。

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

インスタンスを Auto Scaling グループにアタッチするには

  1. 以下を使用して、特定の Auto Scaling グループを説明します。説明-auto-scaling-groupコマンド。

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg

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

    { "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "ServiceLinkedRoleARN": "arn", "TargetGroupARNs": [], "SuspendedProcesses": [], "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "MaxSize": 5, "VPCZoneIdentifier": "subnet-c87f2be0", "HealthCheckGracePeriod": 300, "TerminationPolicies": [ "Default" ], "CreatedTime": "2019-03-18T23:30:42.611Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2", "NewInstancesProtectedFromScaleIn": false, "DesiredCapacity": 2 } ] }
  2. 以下のコマンドを使用して、Auto Scaling グループにインスタンスをアタッチします。アタッチインスタンスコマンド。

    aws autoscaling attach-instances --instance-ids i-0787762faf1c28619 --auto-scaling-group-name my-asg
  3. インスタンスがアタッチされていることを確認するには、以下の説明-auto-scaling-groupコマンド。

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg

    次の応答の例は、希望する容量が、インスタンスが 1 個増加し、新しい容量が 3 になったことと、新しいインスタンス i-0787762faf1c28619 があることを示しています。

    { "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "ServiceLinkedRoleARN": "arn", "TargetGroupARNs": [], "SuspendedProcesses": [], "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "MaxSize": 5, "VPCZoneIdentifier": "subnet-c87f2be0", "HealthCheckGracePeriod": 300, "TerminationPolicies": [ "Default" ], "CreatedTime": "2019-03-18T23:30:42.611Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2", "NewInstancesProtectedFromScaleIn": false, "DesiredCapacity": 3 } ] }