

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

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

您可以在置放群組中建立容量保留，為您的工作負載保留 Amazon EC2 運算容量。

在置放群組中建立容量保留，可確保您可以在需要時存取置放群組中的運算容量。這可讓您縮減規模，同時確保容量仍可供您使用，以便在需要時進行縮減。

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

## 支援的置放策略
<a name="cr-pg-supported-strategies"></a>

您可以在使用下列策略的置放群組中建立容量保留：
+ 叢集
+ 精確時間

**注意**  
分散和分割區置放群組不支援容量保留。

如需有關支援的執行個體類型、可用區域和置放策略的資訊，請參閱 [Amazon EC2 執行個體的置放群組](placement-groups.md)。

**Topics**
+ [支援的置放策略](#cr-pg-supported-strategies)
+ [限制](#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. 針對**置放策略**，選擇置放策略。

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 {{strategy}}
```

記下輸出中傳回的置放群組 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 {{strategy}}
```

記下輸出中傳回的置放群組 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={{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 {{placement_group_name}}
```

------

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

您可以透過僅共用容量保留，或同時共用容量保留和建立它們的置放群組，在置放群組中共用容量保留。

您可藉由僅共用容量保留，讓取用者帳戶僅存取該容量保留。消費者帳戶對建立容量保留的置放群組沒有可見性或存取權。這樣可讓您精細控制取用者帳戶存取權。消費者帳戶無法檢視置放群組的任何相關資訊，包括其 ARN。

當您共用置放群組和容量保留時，置放群組可供取用者帳戶查看和存取。他們可啟動執行個體，並在其中建立自己的容量保留。

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