

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

# EC2 Auto Scaling による中断可能なキャパシティ予約
<a name="asg-interruptible-capacity-reservations"></a>

中断可能なキャパシティ予約は、 AWS 組織内のオンデマンドキャパシティ予約の所有者によって貸された予備のキャパシティを表します。これらの予約は、キャパシティー所有者が 2 分間の中断通知でいつでもキャパシティーを再利用できるため、中断可能なワークロードに適しています。その後、インスタンスは終了します。中断可能なキャパシティ予約の概要とその仕組みについては、*Amazon EC2 ユーザーガイド*」の[「中断可能なキャパシティ予約](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/interruptible-capacity-reservations.html)」を参照してください。

開始するには、アカウント内のオンデマンドキャパシティ予約から未使用のキャパシティを割り当てることで、割り込み可能な予約を作成します。次に、起動テンプレートを作成し、割り込み可能なキャパシティ予約 ID と適切な市場タイプを指定します。最後に、作成した起動テンプレートを使用するように Auto Scaling グループを作成します。

**注記**  
混合インスタンスグループは、割り込み可能なキャパシティ予約ではサポートされていません。
割り込み可能なキャパシティ予約は、新しい属性を `interruptible`に設定してアカウントに表示されます`true`。

**Topics**
+ [操作のガイドライン](#operational-guidelines)
+ [起動テンプレートで中断可能なキャパシティ予約を指定する](#specify-interruptible-cr)
+ [制限事項](#limitations)
+ [関連リソース](#related-resources)

## 操作のガイドライン
<a name="operational-guidelines"></a>

以下は、Auto Scaling グループで中断可能なキャパシティ予約を使用する際に従うべき基本的な運用ガイドラインです。
+ 割り込み可能なキャパシティ予約から起動されたインスタンスは、キャパシティが再利用されたときに 2 分間の通知で終了できます。正常なシャットダウンを処理するようにアプリケーションを設計します。
+ Amazon EC2 は、インスタンスを終了する 2 分前に EventBridge 通知を送信します。Auto Scaling はこれらのイベントに自動的には反応しませんが、中断通知に応答するようにカスタムオートメーションを設定できます。
+ 容量の再利用によりインスタンスが終了すると、Auto Scaling のヘルスチェッカーは終了を検出し、グループの設定に従って代替インスタンスを自動的に起動します。
+ 整合性を確保するために、 `$Default`または バージョンではなく、特定の`$Latest`バージョンの起動テンプレートをポイントします。

**注記**  
割り込み可能なキャパシティ予約インスタンスが再利用されると、Auto Scaling グループのスケーリングアクティビティは になります`taken out of service in response to an Amazon EC2 health check that indicated it had been terminated or stopped`。Auto Scaling は、ヘルスチェックに失敗したインスタンスの場合と同じ方法でインスタンスの置き換えを試みます。

## 起動テンプレートで中断可能なキャパシティ予約を指定する
<a name="specify-interruptible-cr"></a>

Auto Scaling グループの特定の中断可能なキャパシティ予約をターゲットとする起動テンプレートを作成するには、次のいずれかの方法を使用します。

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

**起動テンプレートで中断可能なキャパシティ予約を指定するには (コンソール)**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 上部のナビゲーションバーで、割り込み可能なキャパシティ予約がある AWS リージョン を選択します。

1. ナビゲーションペインで、[**インスタンス**] の [**テンプレートの起動**] を選択します。

1. **[起動テンプレートの作成]** を選択し、起動テンプレートを作成します。必要に応じて、AMI の ID、インスタンスタイプ、およびその他の起動テンプレート設定を含めます。

1. **[高度な詳細]** セクションを展開して、詳細設定を表示します。

1. **購入オプション**で、**中断可能なキャパシティ予約**を選択します。

1. **キャパシティ予約** で **ID でターゲット**を選択し、次に**キャパシティ予約 - ID でターゲット** で、既存の割り込み可能なキャパシティ予約のキャパシティ予約 ID を選択します。

1. 完了したら、**[起動テンプレートの作成]** を選択します。

起動テンプレートを使用した Auto Scaling グループの作成について詳しくは、「[起動テンプレートを使用して Auto Scaling グループを作成する](create-asg-launch-template.md)」を参照してください。

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

**起動テンプレートで中断可能なキャパシティ予約を指定するには (AWS CLI)**  
次の [create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html) コマンドを使用して、既存の割り込み可能なキャパシティ予約 ID を指定する起動テンプレートを作成します。各ユーザー入力プレースホルダーを独自の情報に置き換えます。

```
aws ec2 create-launch-template --launch-template-name my-template-for-interruptible-cr \
  --version-description AutoScalingVersion1 --region us-east-2 \
  --launch-template-data file://config.json
```

**ヒント**  
このコマンドがエラーをスローする場合は、 を AWS CLI ローカルで最新バージョンに更新していることを確認してください。

`config.json` の内容:

```
{
    "ImageId": "ami-04d5cc9b88example",
    "InstanceType": "t3.nano",
    "SecurityGroupIds": [
        "sg-903004f88example"
    ],
    "KeyName": "MyKeyPair",
    "InstanceMarketOptions": {
        "MarketType": "interruptible-capacity-reservation"
    },
    "CapacityReservationSpecification": {
        "CapacityReservationTarget": {
            "CapacityReservationId": "cr-02168da1478b509e0"
        }
    }
}
```

出力例を次に示します。

```
{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-068f72b724example",
        "LaunchTemplateName": "my-template-for-interruptible-cr",
        "CreateTime": "2023-10-27T15:12:44.000Z",
        "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}
```

次の [describe-launch-template-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-template-versions.html) コマンドを使用して、起動テンプレートに関連付けられた割り込み可能なキャパシティ予約 ID を確認できます。

```
aws ec2 describe-launch-template-versions --launch-template-names my-template-for-interruptible-cr \
  --region us-east-2
```

------

**Auto Scaling グループレベルの設定**  
オプションでAuto Scaling グループレベルでキャパシティ予約設定を指定して、起動テンプレート設定を上書きできます。
+ **キャパシティ予約設定: **割り込み可能なキャパシティ予約でのみサポート`capacity-reservations-only`されます。`capacity-reservations-first` 設定はサポートされていません。
+ **ターゲット仕様**: グループレベルで別の割り込み可能なキャパシティ予約 ID を指定して、起動テンプレート設定を上書きできます。

## 制限事項
<a name="limitations"></a>
+ 混合インスタンスポリシーは、割り込み可能なキャパシティ予約ではサポートされていません。
+ 起動テンプレートで、キャパシティ予約 ID とともに正しい市場タイプ (`interruptible-capacity-reservation`) を指定する必要があります。

## 関連リソース
<a name="related-resources"></a>
+ 割り込み可能なキャパシティ予約の作成と管理の詳細については、*Amazon EC2 ユーザーガイド*」の[「割り込み可能なキャパシティ予約](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/interruptible-capacity-reservations.html)」を参照してください。
+ Auto Scaling でのキャパシティ予約の使用に関する一般的な情報については、「」を参照してください[キャパシティ予約を使用して特定のアベイラビリティーゾーンでキャパシティを予約する](use-ec2-capacity-reservations.md)。
+ Auto Scaling グループのヘルスチェックの詳細については、[Auto Scaling グループのインスタンスのヘルスチェック](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html)」を参照してください。