Amazon EC2 Auto Scaling の手動スケーリング
既存の Auto Scaling グループのサイズはいつでも手動で変更できます。Auto Scaling グループの希望するキャパシティーを更新するか、Auto Scaling グループにアタッチされているインスタンスを更新できます。グループの手動スケーリングは、自動スケーリングが不要な場合や、キャパシティーをインスタンスの固定数に保持する必要がある場合に役立ちます。
Auto Scaling グループのサイズを変更する (コンソール)
Auto Scaling グループの希望するキャパシティーを変更する場合、Amazon EC2 Auto Scaling は新しいグループサイズを維持するために、インスタンスの起動または終了プロセスを管理します。
以下の例では、最小サイズが 1 で、最大サイズが 5 である Auto Scaling グループを作成したことを前提としています。したがって、このグループでは現在インスタンスを実行中です。
Auto Scaling グループのサイズを変更するには
https://console.aws.amazon.com/ec2/
でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。 -
Auto Scaling グループの横にあるチェックボックスを選択します。
[Auto Scaling groups] (Auto Scaling グループ) ページの下部にスプリットペインが開きます。
-
[詳細] タブで、[グループの詳細]、[編集] の順に選択します。
-
[Desired capacity (希望するキャパシティー)] で、希望するキャパシティーを 1 つ増やします。現在の値が
1
の場合、2
と入力します。希望するキャパシティーは、グループの最大サイズと同じかそれ以下である必要があります。[Desired capacity (希望するキャパシティー)] の新しい値が、[Maximum capacity (最大キャパシティー)] より大きい場合は、[Maximum capacity (最大キャパシティー)] を更新する必要があります。
-
完了したら、[更新] を選択します。
ここで、Auto Scaling グループが 1 つの追加のインスタンスを起動したことを確認します。
Auto Scaling グループのサイズが変更されたことを確認するには
-
[Activity (アクティビティ)] タブの [Activity history (アクティビティ履歴)] では、[Status (ステータス)] 列にインスタンスの現在のステータスが表示されます。インスタンスのステータスが [Successful (成功)] に変わるまで、更新ボタンを使用します。これは、Auto Scaling グループが新しいインスタンスを正常に起動したことを示します。
注記 インスタンスの起動に失敗した場合は、「Amazon EC2 Auto Scaling をトラブルシューティングする」でトラブルシューティングのヒントを見つけることができます。
-
[Instance management (インスタンス管理)] タブにある、[Instances (インスタンス)] の [Lifecycle (ライフサイクル)] 列にインスタンスの状態が表示されます。インスタンスの起動には短時間かかります。インスタンスが起動されると、状態は
InService
に変わります。Auto Scaling グループによって1
つの新しいインスタンスが起動され、そのインスタンスがInService
状態になっていることを確認できます。
Auto Scaling グループのサイズを変更する (AWS CLI)
Auto Scaling グループのサイズを変更する場合、Amazon EC2 Auto Scaling は新しいグループサイズを維持するために、インスタンスの起動または終了プロセスを管理します。デフォルトの動作ではデフォルトのクールダウン期間が完了するまで待機されませんが、デフォルトを上書きしてクールダウン期間が完了するまで待機されるようにできます。詳細については、「Amazon EC2 Auto Scaling のスケーリングクールダウン」を参照してください。
以下の例では、最小サイズが 1 で、最大サイズが 5 である Auto Scaling グループを作成したことを前提としています。したがって、このグループでは現在インスタンスを実行中です。
Auto Scaling グループのサイズを変更するには
以下の例に示すように、set-desired-capacity コマンドを使用して Auto Scaling グループのサイズを変更します。
aws autoscaling set-desired-capacity --auto-scaling-group-name
my-asg
\ --desired-capacity 2
Auto Scaling グループのデフォルトのクールダウン期間を受け入れることを選択した場合は、以下の例に示しているように –-honor-cooldown
オプションを指定する必要があります。
aws autoscaling set-desired-capacity --auto-scaling-group-name
my-asg
\ --desired-capacity 2 --honor-cooldown
Auto Scaling グループのサイズを確認するには
以下の例のように、describe-auto-scaling-groups コマンドを使用して、Auto Scaling グループのサイズが変更されたことを確認します。
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name
my-asg
以下に示すのは、グループおよび起動されたインスタンスの詳細を含む出力例です。
{
"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
}
]
}
DesiredCapacity
が新しい値を示していることに注意してください。また、Auto Scaling グループによって追加のインスタンスが起動されています。