

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：設定您的 EC2 機群以啟動執行個體至容量區塊
<a name="ec2-fleet-launch-instances-capacity-blocks-walkthrough"></a>

本教學課程將逐步引導您完成必須執行的所有步驟，以便 EC2 Fleet 在容量區塊中啟動您的執行個體。

在大多數情況下，EC2 機群請求的目標容量應小於或等於您所鎖定容量區塊的保留可用容量。超出容量區塊預留上限的目標容量請求將無法滿足。如果目標容量請求超出容量區塊保留上限，您會收到 `Insufficient Capacity Exception`，告知您請求超出容量區塊的保留上限。

**注意**  
對於容量區塊，EC2 Fleet 將不會撤回至針對所需的目標剩餘容量啟動隨需執行個體。

如果 EC2 Fleet 無法在可用的預留容量區塊中滿足所要求的目標容量，EC2 Fleet 會盡可能滿足容量需求，並傳回能夠啟動的執行個體。您可以再次重複呼叫 EC2 Fleet，直到佈建所有執行個體為止。

設定 EC2 Fleet 請求後，您必須等待至容量區塊預留的開始日期。如果您請求 EC2 機群啟動至尚未啟動的容量區塊，則會收到 `Insufficient Capacity Error`。

預留的容量區塊啟用後，您就可以執行 EC2 Fleet 的 API 呼叫，並根據您選取的參數將執行個體佈建到容量區塊中。在容量區塊中執行的執行個體會繼續執行，直到您手動停止或終止這些執行個體，或 Amazon EC2 在容量區塊保留結束時終止這些執行個體。

如需關於容量區塊的詳細資訊，請參閱 [ML 的容量區塊](ec2-capacity-blocks.md)。

**考量事項**
+ 在容量區塊中啟動執行個體時，僅支援 `instant` 類型的 EC2 機群請求。如需詳細資訊，請參閱[設定 instant 類型的 EC2 機群](instant-fleet.md)。
+ 同一 EC2 機群請求不支援多個容量區塊。
+ 不支援在使用 `OnDemandTargetCapacity` 或 `SpotTargetCapacity` 時，同時將 `capacity-block` 設為 `DefaultTargetCapacity`。
+ 如果將 `DefaultTargetCapacityType` 設為 `capacity-block`，則無法提供 `OnDemandOptions::CapacityReservationOptions`。一旦提供，便會發生例外狀況。

**設定 EC2 機群以啟動執行個體至容量區塊**

1. **建立啟動範本。**

   在啟動範本中，執行下列動作：
   + 針對 `InstanceMarketOptionsRequest`，將 `MarketType` 設定為 `capacity-block`。
   + 若要鎖定容量區塊保留，請為 `CapacityReservationID` 指定容量區塊保留 ID。

   請記下啟動範本名稱和版本。在下一個步驟中，您將用到這項資訊。

   如需建立啟動範本的詳細資訊，請參閱 [建立 Amazon EC2 啟動範本](create-launch-template.md)。

1. **設定 EC2 機群。**

   建立檔案 `config.json`，並為您的 EC2 機群採用以下組態。在下列範例中，以您自己的資源識別符取代資源識別符。

   如需有關設定 EC2 機群的詳細資訊，請參閱 [建立 EC2 Fleet](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 Fleet](create-ec2-fleet.md#create-ec2-fleet-procedure)。