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

EC2 インスタンスを使用した Auto Scaling グループの作成

Auto Scaling グループを作成する際、Amazon EC2 インスタンス、そのインスタンスのサブネット、およびインスタンスの初期数を設定するために必要な情報を指定する必要があります。

Amazon EC2 インスタンスを設定するときは、起動設定、起動テンプレート、または EC2 インスタンスを指定できます。次の手順では、EC2 インスタンスを使用して Auto Scaling グループを作成する方法を説明します。起動設定や起動テンプレートを使用するには、「起動設定を使用して Auto Scaling グループを作成する」または「起動テンプレートを使用した Auto Scaling グループの作成」を参照してください。

EC2 インスタンスを使用して Auto Scaling グループを作成すると、Amazon EC2 Auto Scaling によって起動設定が作成され、Auto Scaling グループに関連付けられます。この起動設定は Auto Scaling グループと同じ名前であり、AMI ID、インスタンスタイプ、およびアベイラビリティーゾーンなどの属性が指定されたインスタンスから取得されます。

制約事項

次に EC2 インスタンスから Auto Scaling グループを作成する際の制限事項を示します。

  • 特定されたインスタンスにタグが指定されている場合、そのタグは新しい Auto Scaling グループの Tags 属性にはコピーされません。

  • Auto Scaling グループにはインスタンスを起動するために使用される AMI のブロックデバイスマッピングが含まれます。インスタンスが起動した後にアタッチされるブロックのデバイスは含まれません。

  • 特定されたインスタンスが 1 つ以上のロードバランサーに登録されている場合、そのロードバランサーの名前は、新しい Auto Scaling グループの LoadBalancerNames 属性にはコピーされません。

前提条件

開始する前に、Amazon EC2 コンソールまたは describe-instances コマンド (AWS CLI) を使用して EC2 インスタンスの ID を確認します。EC2 インスタンスは以下の基準を満たす必要があります。

  • インスタンスが、Auto Scaling グループを作成するアベイラビリティーゾーン内にあること。

  • インスタンスが他の Auto Scaling グループのメンバーではないこと。

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

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

コンソールを使用して EC2 インスタンスから Auto Scaling グループを作成する

コンソールを使用して実行中の EC2 インスタンスから Auto Scaling グループを作成し、新しい Auto Scaling グループにインスタンスを追加できます。詳細については、「Auto Scaling グループへの EC2 インスタンスのアタッチ」を参照してください。

AWS CLI を使用して EC2 インスタンスから Auto Scaling グループを作成する

以下の create-auto-scaling-group コマンドを使用して、EC2 インスタンス i-7f12e649 から Auto Scaling グループ my-asg-from-instance を作成します。

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg-from-instance --instance-id i-7f12e649 --min-size 1 --max-size 2 --desired-capacity 2

以下の describe-auto-scaling-groups コマンドを使用して、Auto Scaling グループを定義します。

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg-from-instance

以下の応答の例は、グループの希望する容量が 2 であり、グループには実行中のインスタンスが 2 つあり、起動設定の名前が my-asg-from-instance であることを示しています。

{ "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "HealthCheckGracePeriod": 0, "SuspendedProcesses": [], "DesiredCapacity": 2, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg-from-instance", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "InstanceId": "i-6bd79d87", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-asg-from-instance" }, { "InstanceId": "i-6cd79d80", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-asg-from-instance" } ], "MaxSize": 2, "VPCZoneIdentifier": "subnet-6bea5f06", "TerminationPolicies": [ "Default" ], "LaunchConfigurationName": "my-asg-from-instance", "CreatedTime": "2014-12-29T16:14:50.397Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2" } ] }

以下の describe-launch-configs コマンドを使用して、起動設定 my-asg-from-instance を定義します。

aws autoscaling describe-launch-configurations --launch-configuration-names my-asg-from-instance