

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

# キャパシティの再調整を有効にして、リスクがあるスポットインスタンスをプロアクティブに置き換える
<a name="enable-capacity-rebalancing-console-cli"></a>

 AWS マネジメントコンソール または を使用して AWS CLI 、Auto Scaling グループのキャパシティの再調整を有効にできます。キャパシティの再調整が有効になっている場合、Amazon EC2 Auto Scaling は、EC2 インスタンスの再調整レコメンデーションを受け取ったスポットインスタンスをプロアクティブに置き換えようとします。

## キャパシティの再調整を有効にする (コンソール)
<a name="enable-capacity-rebalancing-console"></a>

Auto Scaling グループを作成または更新するときに、キャパシティの再調整を有効または無効にできます。

**新しい Auto Scaling グループのキャパシティの再調整を有効にするには**

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

1. **[Auto Scaling グループの作成]** を選択します。

1. **ステップ 1 で、起動テンプレートまたは構成を選択し**、Auto Scaling グループの名前を入力し、起動テンプレートを選択してから、**[Next]** (次へ) を選択して次のステップに進みます。

1. **[ステップ 2: インスタンスの起動オプションを選択]** の **[インスタンスタイプの要件]** で、混合インスタンスグループを作成するための設定を選択します。この混合インスタンスグループには、起動できるインスタンスタイプ、インスタンス購入オプション、スポットインスタンスとオンデマンドインスタンスの配分戦略が含まれます。これらの設定はデフォルトで設定されていません。これらを設定するには、**[Override launch template]** (起動テンプレートを上書きする) を選択する必要があります。混合インスタンスグループの作成に関する詳細については、「[複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ](ec2-auto-scaling-mixed-instances-groups.md)」を参照してください。

1. **[ネットワーク]** で、必要なオプションを選択します。使用するサブネットが、異なるアベイラビリティーゾーンにあることを確認します。

1. **[配分戦略]** セクションで、スポット配分戦略を選択します。**[容量の再分散]** で、チェックボックスをオンまたはオフにして、容量の再分散を有効または無効にします。このオプションは、**[インスタンスの購入オプション]** セクションで Auto Scaling グループのスポットインスタンスとして起動するようにリクエストした場合にのみ表示されます。

1. Auto Scaling グループを作成します。

1. (オプション) 必要に応じてライフサイクルフックを追加します。詳細については、「[Auto Scaling グループにライフサイクル フックを追加する](adding-lifecycle-hooks.md)」を参照してください。

**既存の Auto Scaling グループのキャパシティの再調整を有効または無効にするには**

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

1. Auto Scaling グループの横にあるチェックボックスを選択します。ページの下部にスプリットペインが開きます。

1. **[Details]** (詳細) タブで、**[Allocation strategies]** (配分戦略)、**[Edit]** (編集) の順に選択します。

1. **[配分戦略]** セクションで、**[容量の再分散]** チェックボックスをオンまたはオフにして、容量の再分散を有効または無効にします。

1. **[更新]** を選択します。

## キャパシティの再調整を有効にする (AWS CLI)
<a name="enable-capacity-rebalancing-aws-cli"></a>

次の例は、 を使用してキャパシティの再調整 AWS CLI を有効または無効にする方法を示しています。

[[create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)] または [[update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)] コマンドに次のパラメータを指定して使用します。
+ `--capacity-rebalance` / `--no-capacity-rebalance` – キャパシティーの再調整が有効かどうかを示すブール値。

[[create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)] コマンドを呼び出す前に、Auto Scaling グループで使用するように設定されている起動テンプレートの名前が必要です。詳細については、「[Auto Scaling グループの起動テンプレートを作成する](create-launch-template.md)」を参照してください。

**注記**  
次の手順は、JSON または YAML でフォーマットされた設定ファイルの使用方法を示しています。 AWS CLI バージョン 1 を使用する場合は、JSON 形式の設定ファイルを指定する必要があります。 AWS CLI バージョン 2 を使用する場合は、YAML または JSON のいずれかでフォーマットされた設定ファイルを指定できます。

### JSON
<a name="enable-capacity-rebalancing-aws-cli-json"></a>

**新しい Auto Scaling グループを作成して設定するには**
+ 次の [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) コマンドを使用して、新しい Auto Scaling グループを作成し、キャパシティの再調整を有効にします。このコマンドは、Auto Scaling グループの唯一のパラメーターとして JSON ファイルを参照します。

  ```
  aws autoscaling create-auto-scaling-group --cli-input-json {{file://~/config.json}}
  ```

  [[混合インスタンス・ポリシー](ec2-auto-scaling-mixed-instances-groups.md)] を指定する CLI 設定ファイルがまだない場合は、作成します。

  次の行を設定ファイルのトップレベルの JSON オブジェクトに追加します。

  ```
  {
      "CapacityRebalance": true
  }
  ```

  次は、`config.json` ファイルの例です。

  ```
  {
      "AutoScalingGroupName": "{{my-asg}}",
      "DesiredCapacity": {{12}},
      "MinSize": {{12}},
      "MaxSize": {{15}},
      "CapacityRebalance": true,
      "MixedInstancesPolicy": {
          "InstancesDistribution": {
              "OnDemandBaseCapacity": {{0}},
              "OnDemandPercentageAboveBaseCapacity": {{25}},
              "SpotAllocationStrategy": "price-capacity-optimized"
          },
          "LaunchTemplate": {
              "LaunchTemplateSpecification": {
                  "LaunchTemplateName": "{{my-launch-template}}",
                  "Version": "{{$Default}}"
              },
              "Overrides": [
                  {
                      "InstanceType": "{{c5.large}}"
                  },
                  {
                      "InstanceType": "{{c5a.large}}"
                  },
                  {
                      "InstanceType": "{{m5.large}}"
                  },
                  {
                      "InstanceType": "{{m5a.large}}"
                  },
                  {
                      "InstanceType": "{{c4.large}}"
                  },
                  {
                      "InstanceType": "{{m4.large}}"
                  },
                  {
                      "InstanceType": "{{c3.large}}"
                  },
                  {
                      "InstanceType": "{{m3.large}}"
                  }
              ]
          }
      },
      "TargetGroupARNs": "{{arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff}}",
      "VPCZoneIdentifier": "{{subnet-5ea0c127}},{{subnet-6194ea3b}},{{subnet-c934b782}}"
  }
  ```

### YAML
<a name="enable-capacity-rebalancing-aws-cli-yaml"></a>

**新しい Auto Scaling グループを作成して設定するには**
+ 次の [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) コマンドを使用して、新しい Auto Scaling グループを作成し、キャパシティの再調整を有効にします。このコマンドは、Auto Scaling グループの唯一のパラメーターとして YAML ファイルを参照します。

  ```
  aws autoscaling create-auto-scaling-group --cli-input-yaml {{file://~/config.yaml}}
  ```

  YAML でフォーマットされた設定ファイルに以下の行を追加します。

  ```
  CapacityRebalance: true
  ```

  次は、`config.yaml` ファイルの例です。

  ```
  ---
  AutoScalingGroupName: {{my-asg}}
  DesiredCapacity: {{12}}
  MinSize: {{12}}
  MaxSize: {{15}}
  CapacityRebalance: true
  MixedInstancesPolicy:
    InstancesDistribution:
      OnDemandBaseCapacity: {{0}}
      OnDemandPercentageAboveBaseCapacity: {{25}}
      SpotAllocationStrategy: price-capacity-optimized
    LaunchTemplate:
      LaunchTemplateSpecification:
        LaunchTemplateName: {{my-launch-template}}
        Version: {{$Default}}
      Overrides:
      - InstanceType: {{c5.large}}
      - InstanceType: {{c5a.large}}
      - InstanceType: {{m5.large}}
      - InstanceType: {{m5a.large}}
      - InstanceType: {{c4.large}}
      - InstanceType: {{m4.large}}
      - InstanceType: {{c3.large}}
      - InstanceType: {{m3.large}}
  TargetGroupARNs:
  - {{arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff}}
  VPCZoneIdentifier: {{subnet-5ea0c127}},{{subnet-6194ea3b}},{{subnet-c934b782}}
  ```

**既存の Auto Scaling グループのキャパシティの再調整を有効にするには**
+ 以下の [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) コマンドを使用して、キャパシティの再調整を有効にします。

  ```
  aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
    --capacity-rebalance
  ```

**Auto Scaling グループのキャパシティの再調整を有効になっていることを確認するには**
+ 以下の [describe-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) コマンドを使用して、キャパシティの再調整が有効になっていることを確認し、詳細を表示します。

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

  以下に、応答の例を示します。

  ```
  {
      "AutoScalingGroups": [
          {
              "AutoScalingGroupName": "my-asg",
              "AutoScalingGroupARN": "{{arn}}",
              ...
              "CapacityRebalance": true
          }
      ]
  }
  ```

**キャパシティの再調整を無効にするには**  
キャパシティの再調整を無効にするには、[[update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)] コマンドに`--no-capacity-rebalance`オプションを付けて使用します。

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --no-capacity-rebalance
```

## 関連リソース
<a name="capacity-rebalancing-related-resources"></a>

容量の再調整の詳細については、 AWS コンピューティングブログ[のAmazon EC2 Auto Scaling の新しい容量再調整機能を使用してスポットインスタンスのライフサイクルをプロアクティブに管理する](https://aws.amazon.com/blogs/compute/proactively-manage-spot-instance-lifecycle-using-the-new-capacity-rebalancing-feature-for-ec2-auto-scaling/)」を参照してください。

EC2 インスタンスの再調整のレコメンデーションの詳細については、「*Amazon EC2 ユーザーガイド*」の「[EC2 インスタンスの再調整に関する推奨事項](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rebalance-recommendations.html)」を参照してください。

ライフスタイルフックの詳細については、以下のリソースを参照してください。
+ [チュートリアル:Lambda 関数を呼び出すライフサイクルフックの設定](tutorial-lifecycle-hook-lambda.md) (EventBridge の使用)
+ [チュートリアル: データスクリプトとインスタンスメタデータを使用してライフサイクル状態を取得する](tutorial-lifecycle-hook-instance-metadata.md)

## 制限事項
<a name="capacity-rebalancing-limitations"></a>
+ Amazon EC2 Auto Scaling は、インスタンスがスケールインから保護されていない場合のみ、再調整通知を受信したインスタンスを置き換えることができます。ただし、スケールイン保護はスポットの中断による終了を防ぐことはできません。詳細については、「[インスタンスのスケールイン保護を使用してインスタンスの終了を制御する](ec2-auto-scaling-instance-protection.md)」を参照してください。
+ キャパシティの再調整のサポートは、中東 (アラブ首長国連邦) リージョンを除くAmazon EC2 Auto Scaling が使用可能なすべての商用 AWS リージョン で利用できます。