

# チュートリアル: キャパシティブロックにインスタンスを起動するように EC2 フリートを設定する
<a name="ec2-fleet-launch-instances-capacity-blocks-walkthrough"></a>

このチュートリアルでは実行すべきステップを段階的に解説しています。これらのステップを実行すると、EC2 フリートがキャパシティブロックでインスタンスを起動します。

ほとんどの場合、EC2 フリートリクエストのターゲットキャパシティは、ターゲットとするキャパシティブロック予約の使用可能なキャパシティ以下でなければなりません。キャパシティブロック予約の制限を超えるターゲットキャパシティリクエストは受理されません。ターゲットキャパシティリクエストがキャパシティブロック予約の制限を超えると、キャパシティブロック予約の制限を超えるキャパシティに対して、`Insufficient Capacity Exception` が発生します。

**注記**  
キャパシティブロックの場合、EC2 フリートは希望するターゲットキャパシティの残りをオンデマンドインスタンスの起動にフォールバックしません。

EC2 フリートが利用可能なキャパシティブロック予約で要求されたターゲットキャパシティを満たすことができない場合、EC2 フリートは可能な限り多くの容量を満たし、起動できたインスタンスを返します。すべてのインスタンスがプロビジョニングされるまで EC2 フリート の呼び出しを繰り返すことができます。

EC2 フリートリクエストを設定したら、キャパシティブロック予約の開始日まで待つ必要があります。まだ開始されていないキャパシティブロックで EC2 フリートに起動するようリクエストすると、`Insufficient Capacity Error` が発生します。

キャパシティブロック予約が有効になったら、EC2 フリートの API コールを行い、選択したパラメータに基づいてキャパシティブロックにインスタンスをプロビジョニングできます。キャパシティブロックで実行されているインスタンスは、手動で停止あるいは終了するまで、またはキャパシティブロック予約が完了して Amazon EC2 がインスタンスを終了するまで実行され続けます。

キャパシティーブロックの詳細については、[機械学習用のキャパシティブロック](ec2-capacity-blocks.md) を参照してください。

**考慮事項**
+ キャパシティブロックへのインスタンスの起動では、`instant` タイプの EC2 フリートリクエストのみがサポートされます。詳細については、「[タイプが instant の EC2 フリートを設定する](instant-fleet.md)」を参照してください。
+ 同じ EC2 フリートリクエストでは、複数のキャパシティブロックはサポートされません。
+ `OnDemandTargetCapacity` または `SpotTargetCapacity` を使用しながら `DefaultTargetCapacity` として `capacity-block` を設定することはサポートされていません。
+ `DefaultTargetCapacityType` が `capacity-block` に設定されている場合、`OnDemandOptions::CapacityReservationOptions` は提供できません。例外が発生します。

**キャパシティブロックにインスタンスを起動するように EC2 フリートを設定するには**

1. **起動テンプレートを作成します。**

   起動テンプレートで、次の操作を行います。
   + `InstanceMarketOptionsRequest` の場合、`MarketType` を `capacity-block` に設定します。
   + キャパシティブロックの予約をターゲットにするには、`CapacityReservationID` にキャパシティブロックの予約 ID を指定します。

   起動テンプレートの名前とバージョンを書き留めます。この情報は、次のステップで使用します。

   起動テンプレートの作成の詳細については、「[Amazon EC2 起動テンプレートを作成する](create-launch-template.md)」を参照してください。

1. **EC2 フリートを設定します。**

   EC2 フリート用に次の設定を使用して `config.json` ファイルを作成します。次の例では、リソース識別子を独自のリソース識別子に置き換えます。

   EC2 フリートの設定の詳細については、「[EC2 フリートの作成](create-ec2-fleet.md)」を参照してください。

   ```
   { 
       "LaunchTemplateConfigs": [
           {
               "LaunchTemplateSpecification": {
                   "LaunchTemplateName": "{{CBR-launch-template}}", 
                   "Version": "{{1}}"
               }, 
               "Overrides": [
                   {
                       "InstanceType": "{{p5.48xlarge}}", 
                       "AvailabilityZone": "{{us-east-1a}}"   
                   },
               ]
           }
       ], 
       "TargetCapacitySpecification": {
           "TotalTargetCapacity": {{10}}, 
           "DefaultTargetCapacityType": "capacity-block"
       },
       "Type": "instant"
   }
   ```

1. **フリートを起動します。**

   次の [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) コマンドを使用します。

   ```
   aws ec2 create-fleet --cli-input-json file://config.json
   ```

   詳細については、「[EC2 フリートの作成](create-ec2-fleet.md#create-ec2-fleet-procedure)」を参照してください。