

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

# 搭配使用容量保留與叢集置放群組
<a name="cr-cpg"></a>

您可以在叢集置放群組中建立容量保留，以便為您的工作負載預留 Amazon EC2 運算容量。叢集置放群組具有低網路延遲和高網路輸送量的優點。

在叢集置放群組中建立容量保留，可確保在需要時可隨時存取叢集置放群組中的運算容量。這非常適合為需要運算擴展的高效能 (HPC) 工作負載預留容量。它可讓您縮小叢集的規模，同時確保容量仍然可供您使用，以便在需要時進行擴展。

您在叢集置放群組中建立容量保留之後，可與其他 AWS 帳戶共用該容量保留。如需詳細資訊，請參閱[共用叢集置放群組中的容量保留](#cpg-cr-sharing)。

**Topics**
+ [限制](#cr-cpg-limitations)
+ [使用叢集置放群組中的容量保留](#work-with-crs-cpgs)
+ [共用叢集置放群組中的容量保留](#cpg-cr-sharing)

## 限制
<a name="cr-cpg-limitations"></a>

在叢集置放群組中建立容量保留時，請注意下列事項：
+ 若現有容量保留不在置放群組，則無法修改容量保留以在置放群組預留容量。若要預留置放群組中的容量，您必須在置放群組中建立容量保留。
+ 在置放群組中建立容量保留後，您不能將其修改為置放群組之外的預留容量。
+ 您可以透過修改置放群組中的現有容量保留或在置放群組中建立附加容量保留來增加置放群組中的預留容量。但是，這會增加出現容量不足錯誤的可能性。
+ 僅可與您擁有的叢集置放群組共用容量保留。不可與並非您擁有的叢集置放群組共用容量保留。
+ 您無法刪除具有 `active` 容量預留的叢集置放群組。您必須取消您在叢集置放群組中建立的所有容量保留之後，才可將其刪除。

## 使用叢集置放群組中的容量保留
<a name="work-with-crs-cpgs"></a>

要開始對叢集置放群組使用容量保留，請執行以下步驟。

**注意**  
如果要在現有叢集置放群組中建立容量保留，請跳過步驟 1。然後，對於步驟 2 和 3，指定現有叢集置放群組的 ARN。

**Topics**
+ [步驟 1：(*有條件*) 建立與容量保留搭配使用的叢集置放群組](#create-cpg)
+ [步驟 2：在叢集置放群組中建立容量保留](#create-cr-in-cpg)
+ [步驟 3：在叢集置放群組的容量保留中啟動執行個體](#launch-instance-into-cpg)

### 步驟 1：(*有條件*) 建立與容量保留搭配使用的叢集置放群組
<a name="create-cpg"></a>

僅當您需要建立新的叢集置放群組時，才執行此步驟。要使用現有的叢集置放群組，請跳過此步驟，然後對於步驟 2 和 3，請使用該叢集置放群組的 ARN。

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

**建立叢集置放群組**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Placement Groups** (置放群組)，然後選擇 **Create placement group** (建立置放群組)。

1. 對於 **Name** (名稱)，指定置放群組的描述性名稱。

1. 對於 **Placement strategy** (置放策略)，選擇 **Cluster** (叢集)。

1. 選擇**建立群組**。

1. 在**置放群組**表格的**群組 ARN** 欄中，記下您建立的叢集置放群組的 ARN。下一個步驟需要此值。

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

**建立叢集置放群組**  
使用 [create-placement-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-placement-group.html) 命令。

```
aws ec2 create-placement-group \
    --group-name MyPG \
    --strategy cluster
```

記下輸出中傳回的置放群組 ARN，因為下一個步驟會需要此 ARN。

------
#### [ PowerShell ]

**建立叢集置放群組**  
使用 [New-EC2PlacementGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2PlacementGroup.html) cmdlet。

```
New-EC2PlacementGroup `
    -GroupName my-placement-group `
    -Strategy "cluster"
```

記下輸出中傳回的置放群組 ARN，因為下一個步驟會需要此 ARN。

------

### 步驟 2：在叢集置放群組中建立容量保留
<a name="create-cr-in-cpg"></a>

在叢集置放群組中建立容量保留的方式與建立任何容量保留的方式相同。但是，您還必須指定要在其中建立容量保留的叢集置放群組的 ARN。

**考量事項**
+ 指定的叢集置放群組必須處於 `available` 狀態。如果叢集置放群組處於 `pending`、`deleting` 或 `deleted` 狀態，請求將失敗。
+ 容量保留和叢集置放群組必須位於相同的可用區域中。如果建立容量保留請求指定的可用區域不同於叢集置放群組的可用區域，則請求將失敗。
+ 您只能為叢集置放群組支援的執行個體類型建立容量保留。若您指定不支援的執行個體類型，請求就會失敗。
+ 如果您在叢集置放群組中建立 `open` 容量保留，並且存在具有相符屬性 (置放群組 ARN、執行個體類型、可用區域、平台和租期) 的現有執行中執行個體，這些執行個體就會自動在容量保留中執行。
+ 如果符合以下條件之一，則您建立容量預留的請求可能會失敗：
  + Amazon EC2 沒有足夠的容量可滿足請求。請稍後再試、嘗試其他可用區域，或是嘗試較小的容量。如果您的工作負載因應各種執行個體類型和大小，請嘗試不同的執行個體屬性。
  + 請求的數量超過所選執行個體系列的隨需執行個體限制。請提高執行個體系列的隨需執行個體限制，然後再試一次。如需詳細資訊，請參閱[隨需執行個體配額](ec2-on-demand-instances.md#ec2-on-demand-instances-limits)。

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

**如需建立容量保留**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 選擇 **容量預留**，接著選擇 **Create 容量預留 (建立 容量預留)**。

1. 在**建立容量保留**頁面上，根據需要指定執行個體類型、平台、可用區域、租用、數量和結束日期。

1. 對於**置放群組**，選取要在其中建立容量保留的叢集置放群組 ARN。

1. 選擇**建立**。

如需詳細資訊，請參閱[建立 容量預留](capacity-reservations-create.md)。

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

**如需建立容量保留**  
使用 [create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html) 命令。對於 `--placement-group-arn`，指定要在其中建立容量保留的叢集置放群組的 ARN。

```
aws ec2 create-capacity-reservation \
    --instance-type instance_type \
    --instance-platform platform \
    --availability-zone-id az_id \
    --instance-count quantity \
    --placement-group-arn "placement_group_arn"
```

------
#### [ PowerShell ]

**如需建立容量保留**  
使用 [Add-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2CapacityReservation.html) cmdlet。對於 `-PlacementGroupArn`，指定要在其中建立容量保留的叢集置放群組的 ARN。

```
Add-EC2CapacityReservation `
    -InstanceType instance_type `
    -InstancePlatform platform `
    -AvailabilityZoneId az_id `
    -InstanceCount quantity `
    -PlacementGroupArn "placement_group_arn"
```

------

### 步驟 3：在叢集置放群組的容量保留中啟動執行個體
<a name="launch-instance-into-cpg"></a>

您可以使用下列其中一個選項，將執行個體啟動至叢集置放群組中的容量保留。
+ *指定要在其中啟動執行個體的叢集置放群組的 ARN* – 若提供叢集置放群組的 ARN，Amazon EC2 則會在該叢集置放群組中啟動執行個體。您可以使用下列其中一種方法：
  + *指定 `open`* – 不必在執行個體啟動請求中指定容量保留。如果執行個體具備與指定置放群組中的容量保留相符的屬性 (置放群組 ARN、執行個體類型、可用區域、平台和租期)，則執行個體將自動在容量保留中執行。
  + *指定容量保留* – 如果容量保留僅接受目標執行個體啟動，則除了請求中的叢集置放群組之外，還必須指定目標容量保留。
  + *指定容量保留群組* – 若要了解詳細資訊，請參閱[在包含容量保留群組的叢集置放群組中使用容量保留](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cpg-odcr-crg.html)。
+ *僅指定容量保留群組* – 若要了解詳細資訊，請參閱[在包含容量保留群組的叢集置放群組中使用容量保留](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cpg-odcr-crg.html)。
+ *僅指定容量保留* – 您可在叢集置放群組的容量保留中啟動執行個體。
**注意**  
若透過僅指定容量保留或僅指定容量保留群組來啟動執行個體，執行個體會在叢集置放群組建立的容量保留中啟動，但執行個體不會直接連接至叢集置放群組。

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

**如需使用現有的容量保留啟動執行個體**

1. 請按照程序[啟動執行個體](ec2-launch-instance-wizard.md)，但在完成以下步驟以指定置放群組和容量保留的設定之前，請勿啟動執行個體。

1. 展開**進階詳細資訊**，並執行下列動作：

   1. 針對**置放群組**，選取要在其中啟動執行個體的叢集置放群組。

   1. 對於 **Capacity Reservation** (容量保留)，根據容量保留的組態選取下列其中一個選項：
      + **開放式** - 將執行個體啟動至叢集置放群組中具有相符屬性和足夠容量的 `open` 容量保留內。
      + **依 ID 分類的目標** - 將執行個體啟動到僅接受目標執行個體啟動的容量保留中。
      + **依群組分類的目標** - 在所選容量保留群組內具有相符屬性和可用容量的容量保留中啟動執行個體。

1. 在 **Summary** (摘要) 面板中，檢閱您的執行個體組態，然後選擇 **Launch instance** (啟動執行個體)。如需詳細資訊，請參閱[使用主控台中的啟動執行個體精靈，啟動 EC2 執行個體](ec2-launch-instance-wizard.md)。

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

**如需使用現有的容量保留啟動執行個體**  
使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令。如果您需要針對特定容量保留或容量保留群組，請指定 `--capacity-reservation-specification` 參數。對於 `--placement`，指定 `GroupName` 參數，然後指定您在上述步驟建立的置放群組的名稱。

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count quantity \
    --instance-type instance_type \
    --key-name key_pair_name \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=capacity_reservation_id} \
    --placement "GroupName=cluster_placement_group_name"
```

------
#### [ PowerShell ]

**如需使用現有的容量保留啟動執行個體**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet。對於 `-Placement`，指定 `GroupName` 參數，然後指定您在上述步驟建立的置放群組的名稱。

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType instance_type `
    -KeyName key_pair_name `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationTarget_CapacityReservationId capacity_reservation_id `
    -Placement_GroupName cluster_placement_group_name
```

------

## 共用叢集置放群組中的容量保留
<a name="cpg-cr-sharing"></a>

您可僅共用容量保留，或同時共用容量保留及建立容量保留的叢集置放群組，藉此在叢集置放群組中共用容量保留。

您可藉由僅共用容量保留，讓取用者帳戶僅存取該容量保留。取用者帳戶無法查看或存取建立容量保留的叢集置放群組。這樣可讓您精細控制取用者帳戶存取權。取用者帳戶無法檢視有關叢集置放群組的任何資訊，包括其 ARN 在內。

若共用叢集置放群組與容量保留，取用者帳戶則可查看及存取叢集置放群組。他們可啟動執行個體，並在其中建立自己的容量保留。

如需詳細資訊，請參閱下列資源。
+ [在叢集置放群組的容量保留中啟動執行個體](#launch-instance-into-cpg)
+ [共用容量保留](capacity-reservation-sharing.md)
+ [共用放置群組](share-placement-group.md)