

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

# Amazon EC2 Auto Scaling の手動スケーリング
<a name="ec2-auto-scaling-scaling-manually"></a>

Auto Scaling グループの EC2 インスタンスの数は、いつでも手動で調整できます。インスタンス数を手動で変更するこのプロセスは、*手動スケーリング*と呼ばれます。手動スケーリングは、特に 1 回限りのキャパシティ変更を行う場合、自動スケーリングの代替手段です。

グループを手動でスケールした後、Amazon EC2 Auto Scaling は、定義したスケーリングポリシーとスケジュールされたアクションに基づいて、通常の自動スケーリングアクティビティを再開します。デフォルトのインスタンスウォームアップが有効になっているグループの場合、新しいインスタンスは、ウォームアップ期間が経過してから自動スケーリングに使用されるメトリクスに反映されます。このウォームアップ期間は、新しいキャパシティでグループを安定化するのに役立ちます。詳細については、「[Auto Scaling グループに対するインスタンスのデフォルトウォームアップを設定する](ec2-auto-scaling-default-instance-warmup.md)」を参照してください。

グループを手動でスケールする前に、スケーリングポリシーとスケジュールされたアクションを一時的に無効にした方がよい場合があります。これにより、手動スケーリングアクションと自動スケーリングアクティビティの間に競合が発生するのを防ぎます。詳細については、「[スケーリングアクティビティをオフにする](CHAP_Troubleshooting.md#turn-off-scaling-activities)」を参照してください。

**Topics**
+ [既存の Auto Scaling グループの希望するキャパシティを変更する](#change-desired-capacity)
+ [Auto Scaling グループのインスタンスを終了する (AWS CLI)](#terminate-an-instance-aws-cli)

## 既存の Auto Scaling グループの希望するキャパシティを変更する
<a name="change-desired-capacity"></a>

Auto Scaling グループの希望するキャパシティを変更する場合、Amazon EC2 Auto Scaling は新しい希望するサイズに合わせるために、インスタンスの起動または終了プロセスを管理します。

------
#### [ Console ]

**Auto Scaling グループのサイズを変更するには**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) でAmazon EC2 コンソールを開き、ナビゲーションペインで [**Auto Scaling グループ**] を選択します。

1. Auto Scaling グループの横にあるチェックボックスを選択します。

   ページの下部に分割されたペインが開きます。

1. [**詳細**] タブで、[**グループの詳細**]、[**編集**] の順に選択します。

1. **[希望する容量]** で、希望するキャパシティを増加または減少させます。例えば、グループのサイズを 1 つ増やすには、現在の値が `1` の場合、`2` と入力します。

   **[希望する容量]** の新しい値が、**[最小の希望する容量]** と **[最大の希望する容量]** より大きい場合、**[最大の希望する容量]** は自動的に新しい希望するキャパシティの値に引き上げられます。

1. 完了したら、[**更新**] を選択します。

指定したグループサイズと同じ量のインスタンスが起動されたことを検証します。例えば、グループのサイズを 1 つ増やした場合は、Auto Scaling グループが追加のインスタンスを 1 つ起動していることを検証します。

**Auto Scaling グループのサイズが変更されたことを確認するには**

1. **[アクティビティ]** タブの **[アクティビティ履歴]** で、Auto Scaling グループに関連付けられているアクティビティの進行状況を表示できます。[**ステータス**] 列には、インスタンスの現在のステータスが表示されます。インスタンスが起動している間、ステータス列には [`Not yet in service`] と表示されます。ステータスは、インスタンスが起動されると `Successful` に変わります。更新アイコンを使用して、インスタンスの現在のステータスを表示することもできます。詳細については、「[Auto Scaling グループのスケーリングアクティビティを検証する](as-verify-scaling-activity.md)」を参照してください。

1. **[インスタンス管理]** タブの **[インスタンス]** で、インスタンスのステータスを表示できます。インスタンスの起動には短時間かかります。
   + [**ライフサイクル**] 列には、インスタンスの状態が表示されます。最初、インスタンスの状態は `Pending` です。インスタンスがトラフィックを受信できるようになったら、そのステータスは `InService` です。
   + **[ヘルスステータス]** 列には、インスタンスの Amazon EC2 Auto Scaling ヘルスチェックの結果が表示されます。

------
#### [ AWS CLI ]

以下の例では、最小サイズが 1 で、最大サイズが 5 である Auto Scaling グループを作成したことを前提としています。したがって、このグループでは現在インスタンスを実行中です。

**Auto Scaling グループのサイズを変更するには**  
以下の例に示すように、[set-desired-capacity](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/set-desired-capacity.html) コマンドを使用して Auto Scaling グループのサイズを変更します。

```
aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \
  --desired-capacity 2
```

Auto Scaling グループのデフォルトのクールダウン期間を受け入れることを選択した場合は、以下の例に示しているように `–-honor-cooldown` オプションを指定する必要があります。詳細については、「[Amazon EC2 Auto Scaling のスケーリングクールダウン](ec2-auto-scaling-scaling-cooldowns.md)」を参照してください。

```
aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \
  --desired-capacity 2 --honor-cooldown
```

**Auto Scaling グループのサイズを確認するには**  
以下の例のように、[describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) コマンドを使用して、Auto Scaling グループのサイズが変更されたことを確認します。

```
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
```

グループおよび起動されたインスタンスの詳細を示す出力例を次に示します。

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

`DesiredCapacity` が新しい値を示していることに注意してください。また、Auto Scaling グループによって追加のインスタンスが起動されています。

------

## Auto Scaling グループのインスタンスを終了する (AWS CLI)
<a name="terminate-an-instance-aws-cli"></a>

Auto Scaling グループを手動でスケールインしたいが、特定のインスタンスを終了したい場合があります。次の例に示すように、[terminate-instance-in-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/terminate-instance-in-auto-scaling-group.html) コマンドを使用し、終了するインスタンスの ID と `--should-decrement-desired-capacity` オプションを指定することで、Auto Scaling グループを手動でスケールインできます。

```
aws autoscaling terminate-instance-in-auto-scaling-group \
  --instance-id i-026e4c9f62c3e448c --should-decrement-desired-capacity
```

スケーリングアクティビティの詳細を示す出力例を次に示します。

```
{
    "Activities": [
        {
            "ActivityId": "b8d62b03-10d8-9df4-7377-e464ab6bd0cb",
            "AutoScalingGroupName": "my-asg",
            "Description": "Terminating EC2 instance: i-026e4c9f62c3e448c",
            "Cause": "At 2023-09-23T06:39:59Z instance i-026e4c9f62c3e448c was taken out of service in response to a user request, shrinking the capacity from 1 to 0.",
            "StartTime": "2023-09-23T06:39:59.015000+00:00",
            "StatusCode": "InProgress",
            "Progress": 0,
            "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}"
        }
    ]
}
```

このオプションはコンソールでは利用できません。ただし、Amazon EC2 コンソールの **[インスタンス]** ページを使用して、Auto Scaling グループのインスタンスを終了することはできます。これを行うと、Amazon EC2 Auto Scaling はインスタンスが実行されていないことを検出し、ヘルスチェックプロセスの一環として自動的に置き換えます。新しいインスタンスが起動されるまでに、インスタンスを終了してから 1～2 分かかります。インスタンスを終了する方法については、「*Amazon EC2 ユーザーガイド*」の「[インスタンスを終了する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)」を参照してください。

グループ内のインスタンスを終了し、アベイラビリティーゾーン間で分散が不均等になる場合、`AZRebalance` プロセスを一時停止しない限り、Amazon EC2 Auto Scaling はグループのバランスを再調整して均等分散を再確立します。詳細については、「[Amazon EC2 Auto Scaling プロセスの中断と再開](as-suspend-resume-processes.md)」を参照してください。