

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

# 使用容量預留在特定可用區域中預留容量
<a name="use-ec2-capacity-reservations"></a>

Amazon EC2 隨需容量預留可讓您在特定可用區域中保留運算容量。若要開始將容量保留與 Auto Scaling 搭配使用，請先在特定可用區域中建立容量保留或容量保留群組。然後，您可以在建立容量保留偏好設定或更新現有群組時，將容量保留偏好設定新增至 Auto Scaling 群組。

若要建立容量保留，請參閱*《Amazon EC2 使用者指南*》中的[建立容量保留](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-create.html)。若要建立容量保留群組，請參閱*《Amazon EC2 使用者指南*》中的[建立容量保留群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-cr-group.html)。

## 容量保留偏好設定
<a name="asg-capacity-reservation-preference"></a>

「容量保留」偏好設定可協助您在使用隨需容量之前，將使用容量保留中的預留容量設為優先，如此有助於您有效率地使用容量保留功能。您可以從下列容量保留偏好設定選項中選取：
+ **預設** – Auto Scaling 會使用啟動範本或開放容量保留中的容量保留偏好設定。
+ **無** – Auto Scaling 不會在容量保留中啟動執行個體。執行個體將以隨需容量執行。
+ **僅限容量保留** – Auto Scaling 只會在容量保留或容量保留群組中啟動執行個體。如果容量無法使用，執行個體將無法啟動。
+ **容量保留優先** – Auto Scaling 會在容量保留或容量保留群組中啟動執行個體。如果容量不可用，執行個體將以隨需容量執行。

如果您選取「僅限容量保留」或「容量保留優先」，則可以指定容量保留目標。

**注意**  
您必須選取「容量保留」偏好設定。容量保留目標是選擇性的。

**容量保留偏好設定和啟動範本的考量事項**  
如果選取「僅限容量保留」或「容量保留優先」，請將下列事項列入考量：
+ 如果選取「僅限容量保留」或「容量保留優先」，則 Auto Scaling 會使用在 Auto Scaling 群組中指定的，而不是啟動範本中的容量保留目標。
+ 如果選取「僅限容量保留」或「容量保留優先」，但未指定容量保留目標，則 Auto Scaling 會使用啟動範本容量保留目標，或開放的容量保留目標。

**容量保留目標規格**  
如果您先選取容量保留或容量保留，可使用下列容量保留目標選項：
+ **開啟** – Auto Scaling 會在任何開啟的容量保留中啟動執行個體。如果您只選取容量保留，但無法使用容量，則執行個體將無法啟動。如果您先選取容量保留，但無法使用容量，執行個體將以隨需容量啟動。
+ **指定容量保留** – Auto Scaling 會在指定的容量保留中啟動執行個體。如果您只選取容量保留，但無法使用容量，則執行個體將無法啟動。如果您先選取容量保留，但無法使用容量，執行個體將以隨需容量啟動。
+ **指定容量保留資源群組** – Auto Scaling 會在指定容量保留資源群組中的開放容量保留中啟動執行個體。如果您只選取容量保留，但無法使用容量，則執行個體將無法啟動。如果您先選取容量保留，但無法使用容量，執行個體將以隨需容量啟動。

## 可用區域餘額和容量保留
<a name="az-balance-capacity-reservations"></a>

即使您使用容量保留偏好設定，Auto Scaling 仍會優先考慮可用區域餘額。這表示：
+ 使用 `capacity-reservations-first` – Auto Scaling 群組會先在 AZs 之間平均分配執行個體，然後在可用時使用容量預留。如果可用區域無法使用容量預留，執行個體將以隨需方式啟動，以維持可用區域平衡。
+ 使用 `capacity-reservations-only` – Auto Scaling 群組只會使用容量預留。根據可用容量預留的位置，這可能會導致 AZs 之間的執行個體分佈不均勻。

**範例**  
如果您在 AZ-a 中有 10 個容量預留、AZ-b 中有 3 個、AZ-c 中有 1 個，且所需的容量為 9 個執行個體：
+ 將 `capacity-reservations-first` 用於 9 個執行個體將導致每個 AZ 有 3 個執行個體 （維護 AZ 平衡），其中有些執行個體可能以隨需執行。
+ 將 `capacity-reservations-only`用於 9 個執行個體會導致根據可用容量預留的分佈不均勻。

# 將容量保留偏好設定與 Auto Scaling 群組搭配使用
<a name="capacity-reservation-create-asg-procedure"></a>

若要搭配 Auto Scaling 群組使用容量保留，您必須先建立容量保留或容量保留資源群組。然後，您可以在建立容量保留偏好設定或更新現有群組時，將容量保留偏好設定新增至 Auto Scaling 群組。

若要建立容量保留，請參閱*《Amazon EC2 使用者指南*》中的[建立容量保留](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-create.html)。若要建立容量保留群組，請參閱《*Amazon EC2 使用者指南*》中的[建立容量保留群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-group.html)。

當您建立或編輯 Auto Scaling 群組時，請使用下列其中一種方法來使用容量保留偏好設定。

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

**在新群組上使用容量保留偏好設定 （主控台）**

1. 遵循 中的指示[使用 Amazon EC2 啟動精靈建立 Auto Scaling 群組](create-asg-ec2-wizard.md)並完成程序中的每個步驟，直到步驟 3。

1. 在**設定群組大小和擴展**頁面**的其他容量設定**、**容量保留偏好設定**下，選取容量保留偏好設定。如需容量保留偏好設定的詳細資訊，請參閱 [容量保留偏好設定](use-ec2-capacity-reservations.md#asg-capacity-reservation-preference)。

1. 繼續[使用 Amazon EC2 啟動精靈建立 Auto Scaling 群組](create-asg-ec2-wizard.md)中的步驟。

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

**在新群組上使用容量保留偏好設定 (AWS CLI)**  
將 `--capacity-reservation-specification` 參數新增至 [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 命令。

1. 指定容量保留偏好設定。如需詳細資訊，請參閱[容量保留偏好設定](use-ec2-capacity-reservations.md#asg-capacity-reservation-preference)。

1. 指定容量保留目標。如果選取「僅限容量保留」或「容量保留優先」，但未指定容量保留目標，則 Auto Scaling 會使用啟動範本容量保留目標，或開放的容量保留目標。

------

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

**在現有群組上使用容量保留偏好設定 （主控台）**

1. 前往網址 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台，然後從導覽窗格中選擇 **Auto Scaling 群組**。

1. 在螢幕上方的導覽列中，選擇您在建立 Auto Scaling 群組時所在的 AWS 區域 。

1. 選取 Auto Scaling 群組旁的核取方塊。

   頁面底部會開啟一個分割窗格。

1. 在**詳細資訊**索引標籤的**容量保留偏好設定**下，選擇**編輯**。

1. 在**額外容量設定**、**容量保留偏好設定**下，選取容量保留偏好設定。如需容量保留偏好設定的詳細資訊，請參閱 [容量保留偏好設定](use-ec2-capacity-reservations.md#asg-capacity-reservation-preference)。

1. 選擇**更新**。

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

**在現有群組上使用容量保留偏好設定 (AWS CLI)**  
將 `--capacity-reservation-specification` 參數新增至 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令。

1. 指定容量保留偏好設定。如需詳細資訊，請參閱[容量保留偏好設定](use-ec2-capacity-reservations.md#asg-capacity-reservation-preference)。

1. 指定容量保留目標。如果選取「僅限容量保留」或「容量保留優先」，但未指定容量保留目標，則 Auto Scaling 會使用啟動範本容量保留目標，或開放的容量保留目標。

------

# 使用 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. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在頂端導覽列上，選取您有可中斷容量保留 AWS 區域 的 。

1. 在導覽窗格的 **Instances (執行個體)** 底下，選擇 **Launch Templates (啟動範本)**。

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>
+ 可中斷容量保留不支援混合執行個體政策。
+ 您必須在啟動範本中指定正確的市場類型 (`interruptible-capacity-reservation`) 以及容量保留 ID。

## 相關資源
<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)。