

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

# Amazon EC2 帳單與購買選項
<a name="instance-purchasing-options"></a>

您可以使用下列選項來最佳化 Amazon EC2 的成本：
+ **[隨需執行個體](ec2-on-demand-instances.md)** – 對於啟動的執行個體，按秒數付費。
+ **[Savings Plans](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html)** – 對一致的使用量設定綁約來降低 Amazon EC2 成本，每小時以美金計價，為期一年或三年。
+ **[預留執行個體](ec2-reserved-instances.md)** – 透過設定綁約至一致的執行個體設定來降低 Amazon EC2 的成本，包含執行個體類型和區域，為期一年或三年。
+ **[Spot 執行個體](using-spot-instances.md)** – 請求未使用的 EC2 執行個體，可大幅降低您的 Amazon EC2 成本。
+ **[專用主機](dedicated-hosts-overview.md)** – 付費使用專供您執行執行個體的實體主機，並使用您現有的每個通訊端、每個核心或每個 VM 軟體的許可，以降低成本。
+ **[專用執行個體](dedicated-instance.md)** – 依時數為單一租戶硬體上執行的執行個體付費。
+ **[容量預留](capacity-reservation-overview.md)**：在特定的可用區域中，為 EC2 執行個體預留容量。

如果您無法對特定執行個體組態進行綁約，但可以對使用量進行綁約，請購買 Savings Plans 以降低隨需執行個體成本。如果您需要容量預留，請針對特定可用區域購買預留執行個體或容量預留。容量區塊可用於保留 GPU 執行個體叢集。如能彈性決定應用程式執行的時機以及應用程式是否可以中斷，則 Spot 執行個體會是一項具成本效益的選擇。專用執行個體或專用執行個體可協助您處理合規性要求，並使用您現有的伺服器軟體授權來減少成本。

如需詳細資訊，請參閱 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/) 和 [Amazon EC2 受管執行個體](amazon-ec2-managed-instances.md)。

# 購買 Amazon EC2 的隨需執行個體
<a name="ec2-on-demand-instances"></a>

透過隨需執行個體，您只需要按秒數支付運算容量開銷，無需簽訂長期合約。您可以完整控制執行個體的生命週期 — 您決定何時啟動、停止、休眠、開始、重新開機或終止它。

購買隨需執行個體時，無需簽訂長期合約。您僅需按隨需執行個體處於 `running` 狀態的秒數付費，最少 60 秒。執行中隨需執行個體的每秒小時價格是固定的，列在 [Amazon EC2 定價、隨需定價頁面](https://aws.amazon.com/ec2/pricing/on-demand/)上。

我們建議您將隨需執行個體用於具有短期、不定期但無法中斷之工作負載的應用程式。

若要大幅節省隨需執行個體，請使用 [AWS Savings Plans](https://aws.amazon.com/savingsplans/)、[Spot 執行個體](using-spot-instances.md) 或 [Amazon EC2 的預留執行個體概觀](ec2-reserved-instances.md)。

**Contents**
+ [隨需執行個體配額](#ec2-on-demand-instances-limits)
  + [監控隨需執行個體配額和用量](#monitoring-on-demand-limits)
  + [請求提高配額](#vcpu-limits-request-increase)
+ [查詢隨需執行個體的價格](#query-aws-price-list)

## 隨需執行個體配額
<a name="ec2-on-demand-instances-limits"></a>

 AWS 帳戶 每個區域每個 執行中的隨需執行個體數量有配額。隨需執行個體配額是依照執行中隨需執行個體正在使用的*虛擬中央處理單元 (vCPU) 的數量*來進行管理，與執行個體類型無關。每個配額類型可指定一個或多個執行個體系列的 vCPU 數量上限。

您的帳戶包括下列隨需執行個體的配額。對於處於待處理、停止中、已停止和休眠狀態的執行個體，不會計入您的隨需執行個體配額。容量保留則會計入隨需執行個體的配額，即使未使用也一樣。


| 名稱 | 預設 | 可調整 | 
| --- | --- | --- | 
| 執行中隨需 DL 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-6E869C2A) | 
| 執行中隨需 F 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-74FC7D96) | 
| 執行中隨需 G 和 VT 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-DB2E81BA) | 
| 執行中隨需 HPC 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-F7808C92) | 
| 執行中隨需記憶體密集型執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-43DA4232) | 
| 執行中隨需 Inf 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1945791B) | 
| 執行中隨需 P 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-417A185B) | 
| 執行中隨需的標準 (A、C、D、H、I、M、R、T、Z) 執行個體 | 5 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-1216C47A) | 
| 執行中隨需 Trn 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-2C3B7624) | 
| 執行中隨需 X 執行個體 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-7295265B) | 

如需不同執行個體系列、產生和大小的相關資訊，請參閱 [Amazon EC2 執行個體類型指南](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html)。

只要 vCPU 的數量不超過您的帳戶配額，就可以啟動滿足不斷變化之應用程式需求的任意執行個體類型組合。例如，在 256 個 vCPU 的標準執行個體配額下，您可以啟動 32 個 `m5.2xlarge` 執行個體 (32 x 8 個 vCPU) 或 16 個 `c5.4xlarge` 執行個體 (16 x 16 個 vCPU)。如需詳細資訊，請參閱[EC2 隨需執行個體限制](https://aws.amazon.com/ec2/faqs/#EC2_On-Demand_Instance_limits)。

**Topics**
+ [監控隨需執行個體配額和用量](#monitoring-on-demand-limits)
+ [請求提高配額](#vcpu-limits-request-increase)

### 監控隨需執行個體配額和用量
<a name="monitoring-on-demand-limits"></a>

可以使用下列方法檢視和管理每個區域的隨需執行個體配額。

**使用 Service Quotas 主控台檢視目前的配額**

1. 在 https：//[https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/) 開啟 Service Quotas 主控台。

1. 從導覽列上，選取一個區域。

1. 在篩選條件欄位中，輸入 **On-Demand**。

1. **套用的配額值**欄會顯示帳戶中每個隨需執行個體配額類型的 vCPU 數目上限。

**使用 AWS Trusted Advisor 主控台檢視您目前的配額**  
在 AWS Trusted Advisor 主控台中開啟[服務限制頁面](https://console.aws.amazon.com/trustedadvisor/home?#/category/service-limits)。

**設定 CloudWatch 警示**  
透過 Amazon CloudWatch 指標整合，您可以根據配額來監控 EC2 用量。您也可以設定警示，在接近配額時提出警告。如需詳細資訊，請參閱「Service Quotas 使用者指南」**中的 [Service Quotas 與 Amazon CloudWatch 警示](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html)。

### 請求提高配額
<a name="vcpu-limits-request-increase"></a>

即使 Amazon EC2 根據使用量自動提高隨需執行個體配額，您也可以在必要時要求提高配額。例如，如果您打算啟動的執行個體超過目前配額允許的數量，則可以使用或 [Amazon EC2 服務配額](ec2-resource-limits.md) 中所述的 Service Quotas 主控台來請求提高配額。

## 查詢隨需執行個體的價格
<a name="query-aws-price-list"></a>

您可以使用 Price List Service API 或 AWS Price List API 來查詢隨需執行個體的價格。如需詳細資訊，請參閱*AWS Billing 《 使用者指南*》中的[使用 AWS 價目表 API](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html)。

# Amazon EC2 的預留執行個體概觀
<a name="ec2-reserved-instances"></a>

**重要**  
建議選擇 Savings Plans,而非預留執行個體。Save Plans 是節省 AWS 運算成本最簡單且最靈活的方式，並提供較低的價格 （高達隨需定價 72% 的折扣），就像預留執行個體一樣。不過，Savings Plans 與預留執行個體不同。使用預留執行個體時，您需要對特定執行個體組態進行綁約，而使用 Savings Plans 時，則可以靈活地使用最符合需求的執行個體組態。若要使用 Savings Plans，您可以對一致的使用量設定綁約，每小時以美金計價。如需詳細資訊，請參閱 [AWS Savings Plans 使用者指南](https://docs.aws.amazon.com/savingsplans/latest/userguide/)。

相較於隨需資料庫執行個體的定價，預留執行個體可大幅節省 Amazon EC2 成本。預留執行個體並非實體執行個體，而是一種套用到您帳戶中隨需執行個體用量的計費折扣。這些 隨需執行個體 必須符合特定的屬性，像是執行個體類型和區域，才能受益於計費折扣。

**Topics**
+ [預留執行個體範例案例](#ri-example-scenario)
+ [決定預留執行個體定價的重要變數](#ri-key-pricing-variables)
+ [地區和區域預留執行個體 (範圍)](reserved-instances-scope.md)
+ [預留執行個體類型 (優惠類別)](reserved-instances-types.md)
+ [預留執行個體折扣的套用方式](apply_ri.md)
+ [使用您的 預留執行個體](using-reserved-instances.md)
+ [預留執行個體的計費方式](concepts-reserved-instances-application.md)
+ [購買 Amazon EC2 預留執行個體](ri-market-concepts-buying.md)
+ [銷售 Amazon EC2 可轉換預留執行個體不能在預留執行個體 Marketplace 中銷售](ri-market-general.md)
+ [修改 預留執行個體](ri-modifying.md)
+ [交換 可轉換預留執行個體](ri-convertible-exchange.md)
+ [預留執行個體配額](ri-limits.md)

## 預留執行個體範例案例
<a name="ri-example-scenario"></a>

下圖顯示購買及使用預留執行個體的基本案例。

![\[購買預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-basics.png)


在此案例中，您的帳戶中會有一個執行中且目前以隨需費率付款的隨需執行個體 (T2)。您購買符合您執行中執行個體屬性的預留執行個體，即會立即套用計費利益。接下來，您會為 C4 執行個體購買預留執行個體。您的帳戶中沒有任何符合此預留執行個體屬性的執行中執行個體。在最終步驟中，您會啟動符合 C4 預留執行個體屬性的執行個體，並會立即套用計費利益。

## 決定預留執行個體定價的重要變數
<a name="ri-key-pricing-variables"></a>

預留執行個體定價取決於以下重要變數。

### 執行個體屬性
<a name="ri-pricing-variable-instance-attributes"></a>

預留執行個體有四個執行個體屬性可決定其價格。
+ **執行個體類型**：例如，`m4.large`。這是由執行個體系列 (例如 `m4`) 和執行個體大小 (例如 `large`) 所組成。
+ **區域**：購買 預留執行個體 的區域。
+ **租用**：您的執行個體是在共享 (預設) 或是單一租戶 (專用) 硬體上執行。如需詳細資訊，請參閱[Amazon EC2 專用執行個體](dedicated-instance.md)。
+ **平台**：作業系統，例如 Windows 或 Linux/Unix。如需詳細資訊，請參閱[選擇平台](ri-market-concepts-buying.md#ri-choosing-platform)。

### 期限承諾
<a name="ri-pricing-variable-term-commitment"></a>

您可以購買一年或三年承諾的預留執行個體，三年承諾提供更大折扣。
+ **一年**：一年定義為 31536000 秒 (365 天)。
+ **三年**：三年定義為 94608000 秒 (1095 天)。

預留執行個體不會自動續訂。當它們到期時，您可以繼續使用 EC2 執行個體而無須中斷，但您將需要支付隨需費率的費用。在以上的範例中，當涵蓋 T2 和 C4 執行個體的預留執行個體到期時，您會重新開始支付隨需費率，直到您終止執行個體或購買符合執行個體屬性的新預留執行個體。

**重要**  
在您購買預留執行個體之後，您便無法取消購買。但是，若您需要變更，您可以[修改](ri-modifying.md)、[交換](ri-convertible-exchange.md)或[販售](ri-market-general.md)您的預留執行個體。

### 付款選項
<a name="ri-payment-options"></a>

預留執行個體有下列付款選項：
+ **全預付款**：期間開始時便支付完整的款項，並在期間的剩餘部分不會產生其他成本或額外的每小時費用，無論使用多少小時。
+ **部分預付款**：必須預先支付其中一部分的成本，期間內剩餘的小時數則會以折扣後的每小時費率計費，無論是否有使用預留執行個體。
+ **無預付款**：您在期間中的每個小時都會以折扣後的每小時費率計費，無論是否有使用預留執行個體。不需要預付款。
**注意**  
無預付款預留執行個體是以合約義務為基礎，針對保留的完整期間每月付款。基於此原因，在您購買無預付款預留執行個體前，將需要成功的帳單歷史記錄。

一般來說，為預留執行個體支付較高的預付款可以節省更多費用。您也可以在預留執行個體 Marketplace 上尋找由第三方提供、價格較低且有效期間長度較短的預留執行個體。如需詳細資訊，請參閱[銷售 Amazon EC2 可轉換預留執行個體不能在預留執行個體 Marketplace 中銷售](ri-market-general.md)。

### 方案類別
<a name="ri-pricing-variable-offering-class"></a>

若您的運算需求變更，根據優惠類別，您可能可以修改或交換您的 預留執行個體。
+ **標準**：這些提供更多的折扣，但只能修改。標準版 預留執行個體 無法交換。
+ **可轉換**：這些提供比標準預留執行個體更少的折扣，但可以與具有不同執行個體屬性的另一個可轉換預留執行個體交換。可轉換預留執行個體亦可修改。

如需詳細資訊，請參閱[預留執行個體類型 (優惠類別)](reserved-instances-types.md)。

**重要**  
在您購買預留執行個體之後，您便無法取消購買。但是，若您需要變更，您可以[修改](ri-modifying.md)、[交換](ri-convertible-exchange.md)或[販售](ri-market-general.md)您的預留執行個體。

如需詳細資訊，請參閱 [Amazon EC2 預留執行個體定價頁面](https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/)。

# 地區和區域預留執行個體 (範圍)
<a name="reserved-instances-scope"></a>

您購買預留執行個體時會決定預留執行個體的範圍。範圍是地區或區域。
+ **地區**：當您為某一地區購買預留執行個體時，它便稱為*地區*預留執行個體。
+ **區域**：當您為某一特定可用區域購買預留執行個體時，它便稱為*區域*預留執行個體。

範圍不影響價格。您為區域或區域 預留執行個體 支付相同的價格。如需 預留執行個體 定價的詳細資訊，請參閱 [決定預留執行個體定價的重要變數](ec2-reserved-instances.md#ri-key-pricing-variables) 和 [Amazon EC2 預留執行個體定價](https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/)。

如需有關如何指定預留執行個體範圍的詳細資訊，請參閱 [RI 屬性](https://aws.amazon.com/ec2/pricing/reserved-instances/#riattributes)，特別是**可用區域**項目符號。

## 地區與區域預留執行個體之間的差異
<a name="reserved-instances-regional-zonal-differences"></a>

下表特別列出地區預留執行個體與區域預留執行個體之間的一些主要差異：


|  | 地區預留執行個體 | 區域預留執行個體 | 
| --- | --- | --- | 
|  能夠預留容量  |  區域預留執行個體*不會*預留容量。  |  指定可用區域中的區域預留執行個體會預留容量。  | 
|  可用區域彈性  |  預留執行個體折扣會套用到指定區域內任何可用區域中的執行個體用量。  |  無可用區域彈性 – 預留執行個體折扣僅套用到指定可用區域中的執行個體用量。  | 
|  執行個體大小彈性  |  預留執行個體折扣會套用到執行個體系列中的執行個體用量，而無論大小。 只在使用預設租用的 Amazon Linux/Unix 預留執行個體上才支援。如需詳細資訊，請參閱[由正規化因素決定的執行個體大小彈性](apply_ri.md#ri-normalization-factor)。 |  無執行個體大小彈性 – 預留執行個體折扣僅套用到指定之執行個體類型和大小的執行個體用量。  | 
|  將購買項目放入佇列  |  您可以將區域預留執行個體的購買項目放入佇列。  |  您無法將區域預留執行個體的購買項目放入佇列。  | 

如需詳細資訊和範例，請參閱 [預留執行個體折扣的套用方式](apply_ri.md)。

# 預留執行個體類型 (優惠類別)
<a name="reserved-instances-types"></a>

預留執行個體 的產品類別為標準版或可轉換版。標準版的 預留執行個體 提供的折扣比可轉換版的 預留執行個體 更多，但您無法交換標準版的 預留執行個體。您可以交換可轉換版的 預留執行個體。您可以修改標準版和可轉換版的 預留執行個體。

預留執行個體 的組態會在期間內包含單一執行個體類型、平台、範圍和租用。若您的運算需求變更，您可能可以修改或交換您的 預留執行個體。

## 標準版與可轉換版 預留執行個體 的差異
<a name="offering-class-differences"></a>

以下為標準版和可轉換版 預留執行個體 的不同。


|  | 標準預留執行個體 | Convertible Reserved Instance | 
| --- | --- | --- | 
| 修改 預留執行個體 | 可以修改某些屬性。如需詳細資訊，請參閱[修改 預留執行個體](ri-modifying.md)。 | 可以修改某些屬性。如需詳細資訊，請參閱 [修改 預留執行個體](ri-modifying.md)。 | 
| 交換預留執行個體 | 無法交換。 | 可使用新的屬性 (包含執行個體系列、執行個體類型、平台、範圍或租用) 在另一個 可轉換預留執行個體 的期間內交換。如需詳細資訊，請參閱 [交換 可轉換預留執行個體](ri-convertible-exchange.md)。 | 
| 在預留執行個體 Marketplace 銷售 | 可在預留執行個體 Marketplace 销售。 | 不可在預留執行個體 Marketplace 销售。 | 
| 在預留執行個體 Marketplace 購買 | 可在預留執行個體 Marketplace 購買。 | 不可在預留執行個體 Marketplace 購買。 | 

# 預留執行個體折扣的套用方式
<a name="apply_ri"></a>

預留執行個體並非實體執行個體，而是一種套用到您帳戶中執行中隨需執行個體的計費折扣。隨需執行個體必須符合預留執行個體的特定規格，才能得利於計費折扣。

如果您購買預留執行個體並且已有符合預留執行個體規格的執行中預留執行個體，即會立即並自動套用計費折扣。您不需要重新啟動您的執行個體。如果您沒有符合資格的執行中隨需執行個體，請啟動具有與預留執行個體相同規格的隨需執行個體。如需詳細資訊，請參閱 [使用您的 預留執行個體](using-reserved-instances.md)。

預留執行個體的方案類別 (標準或可轉換) 不會影響計費折扣的套用方式。

**Topics**
+ [區域預留執行個體的套用方式](#apply-zonal-ri)
+ [區域預留執行個體的套用方式](#apply-regional-ri)
+ [執行個體大小彈性](#ri-instance-size-flexibility)
+ [套用預留執行個體的範例](#ri-usage-examples)

## 區域預留執行個體的套用方式
<a name="apply-zonal-ri"></a>

為了在特定可用區域預留容量而購買的預留執行個體稱為區域預留執行個體。
+ 預留執行個體折扣會套用到該可用區域中相符的執行個體用量。
+ 執行中執行個體的屬性 (租用、平台、可用區域、執行個體類型和執行個體大小) 必須符合該預留執行個體的屬性。

例如，如果您為可用區域 us-east-1a 購買兩個 `c4.xlarge` 預設租用 Linux/Unix 標準預留執行個體，則最多能有兩個在可用區域 us-east-1a 中執行的 `c4.xlarge` 預設租用 Linux/Unix 執行個體獲得預留執行個體折扣帶來的利益。

## 區域預留執行個體的套用方式
<a name="apply-regional-ri"></a>

為區域購買的預留執行個體稱為區域預留執行個體，並會提供可用區域和執行個體大小彈性。
+ 預留執行個體折扣會套用到該區域內任何可用區域中的執行個體用量。
+ 預留執行個體折扣會套用到執行個體系列中的執行個體用量，而無論大小—這稱為[執行個體大小彈性](#ri-instance-size-flexibility)。

## 執行個體大小彈性
<a name="ri-instance-size-flexibility"></a>

由於執行個體大小彈性的因素，執行個體專屬折扣適用於具相同[系列](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html)的執行個體使用。根據正規化因素，預留執行個體先套用至執行個體系列中最小的執行個體，接著逐步套用至最大的執行個體。有關如何套用預留執行個體折扣的範例，請參閱 [案例 2：使用正規化因素的單個帳戶中的預留執行個體](#ri-usage-ex2)。

### 限制
<a name="ri-instance-size-flexibility-limitations"></a>
+ **支援：**僅區域預留執行個體支援執行個體大小彈性。
+ **不支援：**下列預留執行個體*不支援*執行個體大小彈性：
  + 為特定可用區域購買的預留執行個體 (區域預留執行個體)
  + G4ad、G4dn、G5、G5g、G6、G6e、G6f、Gr6、Gr6f、hpc7a、P5、Inf1、Inf2、u7i-6tb 和 u7i-8tb 執行個體的預留執行個體
  + 預留執行個體 適用於 Windows Server、Windows Server with SQL Standard、Windows Server with SQL Server Enterprise、Windows Server with SQL Server Web、RHEL 和 SUSE Linux Enterprise Server
  + 搭配專用租用的預留執行個體

### 由正規化因素決定的執行個體大小彈性
<a name="ri-normalization-factor"></a>

執行個體大小彈性取決於執行個體大小的正規化因素。在區域內的任何可用區域中，折扣可完整或部分套用到相同執行個體系列的執行中執行個體，而這取決於保留的執行個體大小而定。只要執行個體系列、租用和平台三個屬性符合即可。

下表列出執行個體系列中不同的大小，以及其對應的正規化因素。此規模會用於將預留執行個體折扣費率套用到執行個體系列的標準化用量。


| 執行個體大小 | 正規化因素 | 
| --- | --- | 
| nano | 0.25 | 
| micro | 0.5 | 
| small | 1 | 
| medium | 2 | 
| large | 4 | 
| xlarge | 8 | 
| 2xlarge | 16 | 
| 3xlarge | 24 | 
| 4xlarge | 32 | 
| 6xlarge | 48 | 
| 8xlarge | 64 | 
| 9xlarge | 72 | 
| 10xlarge | 80 | 
| 12xlarge | 96 | 
| 16xlarge | 128 | 
| 18xlarge | 144 | 
| 24xlarge | 192 | 
| 32xlarge | 256 | 
| 48xlarge | 384 | 
| 56xlarge | 448 | 
| 112xlarge | 896 | 

舉例而言，`t2.medium` 執行個體的正規化因素為 2。若您在US East (N. Virginia) 中購買 `t2.medium` 預設租用 Amazon Linux/Unix 預留執行個體，且在該區域中您的帳戶內有兩個執行中的 `t2.small` 執行個體，計費利益便會完整套用到兩個執行個體。

![\[套用區域預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-instance-flex-full.png)


或者，若您在US East (N. Virginia) 區域中的帳戶有一個執行中的 `t2.large` 執行個體，計費利益便會套用到執行個體的 50% 用量。

![\[套用區域預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-instance-flex-partial.png)


正規化因數也會在修改預留執行個體時套用。如需詳細資訊，請參閱[修改 預留執行個體](ri-modifying.md)。

#### 裸機執行個體的正規化因素
<a name="ri-normalization-factor-bare-metal"></a>

執行個體大小彈性也套用到執行個體系列中的裸機執行個體。如果您在裸機執行個體上有搭配共用租用的地區 Amazon Linux/Unix 預留執行個體，則可享受在相同執行個體系列中節省預留執行個體。反之亦然：如果您在與裸機執行個體相同的系列中有搭配共用租用的地區 Amazon Linux/Unix 預留執行個體，則可享受在裸機執行個體系列中節省預留執行個體。

`metal` 執行個體大小沒有單一正規化因素。裸機執行個體的正規化因素與相同執行個體系列中的對等虛擬化執行個體大小相同。例如，`i3.metal` 執行個體具有與 `i3.16xlarge` 執行個體相同的正規化因素。


| 執行個體大小 | 正規化因素 | 
| --- | --- | 
| a1.metal | 32 | 
|  m5zn.metal \$1 x2iezn.metal z1d.metal  | 96 | 
|  c6g.metal \$1 c6gd.metal \$1 i3.metal \$1 m6g.metal \$1 m6gd.metal \$1 r6g.metal \$1 r6gd.metal \$1 x2gd.metal  | 128 | 
| c5n.metal | 144 | 
|  c5.metal \$1 c5d.metal \$1 i3en.metal \$1 m5.metal \$1 m5d.metal \$1 m5dn.metal \$1 m5n.metal \$1 r5.metal \$1 r5b.metal \$1 r5d.metal \$1 r5dn.metal \$1 r5n.metal  | 192 | 
|  c6i.metal \$1 c6id.metal \$1 m6i.metal \$1 m6id.metal \$1 r6d.metal \$1 r6id.metal  | 256 | 
|  u-18tb1.metal \$1 u-24tb1.metal  | 448 | 
|  u-6tb1.metal \$1 u-9tb1.metal \$1 u-12tb1.metal  | 896 | 

例如，`i3.metal` 執行個體的正規化因素為 128。如果您在US East (N. Virginia) 購買 `i3.metal` 預設租用 Amazon Linux/Unix 預留執行個體，則計費利益可套用如下：
+ 如果您在該區域中的帳戶有一個執行中的 `i3.16xlarge`，計費利益會完全套用到 `i3.16xlarge` 執行個體 (`i3.16xlarge` 正規化因素 = 128)。
+ 或者，如果您在該區域中的帳戶有兩個執行中的 `i3.8xlarge` 執行個體，計費利益會完全套用到這兩個 `i3.8xlarge` 執行個體 (`i3.8xlarge` 正規化因素 = 64)。
+ 或者，如果您在該區域中的帳戶有四個執行中的 `i3.4xlarge` 執行個體，計費利益會完全套用到所有這四個 `i3.4xlarge` 執行個體 (`i3.4xlarge` 正規化因素 = 32)。

反之亦然。例如，若您在US East (N. Virginia) 購買兩個 `i3.8xlarge` 預設租用 Amazon Linux/Unix 預留執行個體，而且您在該區域中有一個執行中的 `i3.metal` 執行個體，計費利益會完全套用到 `i3.metal` 執行個體。

## 套用預留執行個體的範例
<a name="ri-usage-examples"></a>

**Topics**
+ [案例 1：單一帳戶中的預留執行個體](#ri-usage-ex1)
+ [案例 2：使用正規化因素的單個帳戶中的預留執行個體](#ri-usage-ex2)
+ [案例 3：連結帳戶中的區域預留執行個體](#ri-usage-ex3)
+ [案例 4：連結帳戶中的區域預留執行個體](#ri-usage-ex4)

### 案例 1：單一帳戶中的預留執行個體
<a name="ri-usage-ex1"></a>

您正在帳戶 A 中執行下列隨需執行個體：
+ 4 個 `m3.large` Linux，位於 us-east-1a 可用區域中的預設租用執行個體
+ 2 個 `m4.xlarge` Amazon Linux，位於 us-east-1b 可用區域中的預設租用執行個體
+ 1 個 `c4.xlarge` Amazon Linux，位於 us-east-1c 可用區域中的預設租用執行個體

您在帳戶 A 中購買下列預留執行個體：
+ 4 個 `m3.large` Linux，位於 us-east-1a 可用區域中的預設租用預留執行個體 (容量已預留)
+ 4 個 `m4.large` Amazon Linux，位於 us-east-1 區域中的預設租用預留執行個體
+ 1 個 `c4.large` Amazon Linux，位於 us-east-1 區域中的預設租用預留執行個體

預留執行個體利益會以下列方式套用：
+ 四個 `m3.large` 執行個體會使用四個 `m3.large` 區域預留執行個體的折扣和容量保留，因為它們之間的屬性 (執行個體大小、區域、平台、租用) 相符。
+ `m4.large` 區域預留執行個體可提供可用區域和執行個體大小彈性，因為它們是使用預設租用的區域 Amazon Linux 預留執行個體。

  `m4.large` 相當於 4 個標準化單位/小時。

  您已購買四個 `m4.large` 區域預留執行個體，總共等於 16 個標準化單位/小時 (4x4)。帳戶 A 擁有兩個執行中的 `m4.xlarge` 執行個體，相當於 16 個標準化單位/小時 (2x8)。在此案例中，四個 `m4.large` 區域預留執行個體可為兩個 `m4.xlarge` 執行個體提供完整用量的計費利益。
+ 位於 us-east-1 中的 `c4.large` 區域預留執行個體可提供可用區域和執行個體大小彈性，因為它是使用預設租用的區域 Amazon Linux 預留執行個體，並會套用到 `c4.xlarge` 執行個體。`c4.large` 執行個體相當於 4 個標準化單位/小時，`c4.xlarge` 則相當於 8 個標準化單位/小時。

  在此案例中，`c4.large` 區域預留執行個體會為 `c4.xlarge` 用量提供部分利益。這是因為 `c4.large` 預留執行個體相當於 4 個標準化單位/小時用量，但 `c4.xlarge` 執行個體需要 8 個標準化單位/小時。因此，`c4.large` 預留執行個體計費折扣會套用到 50% 的 `c4.xlarge` 用量。剩餘的 `c4.xlarge` 用量會以隨需費率收費。

### 案例 2：使用正規化因素的單個帳戶中的預留執行個體
<a name="ri-usage-ex2"></a>

您正在帳戶 A 中執行下列隨需執行個體：
+ 2 個 `m3.xlarge` Amazon Linux，位於可用區域 us-east-1a 中的預設租用執行個體
+ 2 個 `m3.large` Amazon Linux，位於 us-east-1b 可用區域中的預設租用執行個體

您在帳戶 A 中購買下列預留執行個體：
+ 1 個 `m3.2xlarge` Amazon Linux，位於 us-east-1 區域中的預設租用預留執行個體

預留執行個體利益會以下列方式套用：
+ 位於 us-east-1 中的 `m3.2xlarge` 區域預留執行個體可提供可用區域和執行個體大小彈性，因為它是使用預設租用的區域 Amazon Linux 預留執行個體。它首先套用至 `m3.large` 執行個體，然後套用至 `m3.xlarge` 執行個體，因為它會根據正規化因素，先套用至執行個體系列中最小的執行個體，接著逐步套用至最大的執行個體。

  `m3.large` 執行個體相當於 4 個標準化單位/小時。

  `m3.xlarge` 執行個體相當於 8 個標準化單位/小時。

  `m3.2xlarge` 執行個體相當於 16 個標準化單位/小時。

  此利益適用於如下情況：

  `m3.2xlarge` 區域預留執行個體為 2 x `m3.large` 用量提供全部利益，因為這些執行個體共佔用 8 個標準化單位/小時。這將留下 8 個標準化單位/小時來套用至 `m3.xlarge` 執行個體。

  藉助剩餘的 8 個標準化單位/小時，`m3.2xlarge` 區域預留執行個體可為 1 x `m3.xlarge` 用量提供全部利益，因為每個 `m3.xlarge` 執行個體相當於 8 個標準化單位/小時。剩餘的 `m3.xlarge` 用量會以隨需費率收費。

### 案例 3：連結帳戶中的區域預留執行個體
<a name="ri-usage-ex3"></a>

預留執行個體會先套用到購買帳戶中的用量，之後則是組織內任何其他帳戶內的合格用量。如需詳細資訊，請參閱[預留執行個體 與合併帳單](concepts-reserved-instances-application.md#concepts-reserved-instances-billing)。針對提供執行個體大小彈性的區域預留執行個體，利益會先套用至執行個體系列中最小的執行個體，接著逐步套用至最大的執行個體。

您正在帳戶 A (購買帳戶) 中執行下列隨需執行個體：
+ 2 個 `m4.xlarge` Linux，位於 us-east-1a 可用區域中的預設租用執行個體
+ 1 個 `m4.2xlarge` Linux，位於 us-east-1b 可用區域中的預設租用執行個體
+ 2 個 `c4.xlarge` Linux，位於 us-east-1a 可用區域中的預設租用執行個體
+ 1 個 `c4.2xlarge` Linux，位於 us-east-1b 可用區域中的預設租用執行個體

另一個客戶正在帳戶 B – 一個連結帳戶中執行下列隨需執行個體：
+ 2 個 `m4.xlarge` Linux，位於 us-east-1a 可用區域中的預設租用執行個體

您在帳戶 A 中購買下列區域預留執行個體：
+ 4 個 `m4.xlarge` Linux，位於 us-east-1 區域中的預設租用預留執行個體
+ 2 個 `c4.xlarge` Linux，位於 us-east-1 區域中的預設租用預留執行個體

地區預留執行個體利益會以下列方式套用：
+ 帳戶 A (購買帳戶) 中的兩個 `m4.xlarge` 執行個體及單一 `m4.2xlarge` 執行個體會使用四個 `m4.xlarge` 預留執行個體的折扣。三個執行個體全部符合屬性 (執行個體系列、區域、平台、租用)。扣折會先套用到購買帳戶 (帳戶 A) 中的執行個體，即使帳戶 B (連結帳戶) 有兩個也符合預留執行個體的 `m4.xlarge` 也一樣。沒有容量保留，因為預留執行個體是地區預留執行個體。
+ 兩個 `c4.xlarge` 預留執行個體的折扣會套用至兩個 `c4.xlarge` 執行個體，因為這兩個執行個體的大小小於 `c4.2xlarge` 執行個體。沒有容量保留，因為預留執行個體是地區預留執行個體。

### 案例 4：連結帳戶中的區域預留執行個體
<a name="ri-usage-ex4"></a>

一般而言，某帳戶擁有的預留執行個體會先套用到該帳戶中的用量。但是，若組織中其他帳戶內有合格且未使用的特定可用區域預留執行個體 (區域性預留執行個體)，便會在套用該帳戶擁有的區域預留執行個體前套用到帳戶。這是為了確保最高的預留執行個體使用率和較低的帳單。基於計費目的，組織中的所有帳戶都會視為一個帳戶處理。以下範例可協助說明。

您正在帳戶 A (購買帳戶) 中執行下列隨需執行個體：
+ 1 個位於 us-east-1a 可用區域中的 `m4.xlarge` Linux 預設租用執行個體

一名客戶正在連結帳戶 B 中執行下列隨需執行個體：
+ 1 個位於 us-east-1b 可用區域中的 `m4.xlarge` Linux 預設租用執行個體

您在帳戶 A 中購買下列區域預留執行個體：
+ 1 個 `m4.xlarge` Linux，位於 us-east-1 區域中的預設租用預留執行個體

一名客戶也在連結帳戶 C 中購買下列區域預留執行個體：
+ 1 個 `m4.xlarge` Linux，位於 us-east-1a 可用區域中的預設租用預留執行個體

預留執行個體利益會以下列方式套用：
+ 帳戶 C 擁有的 `m4.xlarge` 區域性預留執行個體折扣會套用到帳戶 A 中的 `m4.xlarge` 用量。
+ 帳戶 A 擁有的 `m4.xlarge` 區域預留執行個體折扣會套用到帳戶 B 中的 `m4.xlarge` 用量。
+ 若帳戶 A 擁有的區域預留執行個體先套用到帳戶 A 的用量，則帳戶 C 擁有的區域性預留執行個體便會處於未使用的狀態，且帳戶 B 的用量會以隨需費率收費。

如需詳細資訊，請參閱 AWS Cost and Usage Report中的[了解您的預留執行個體](https://docs.aws.amazon.com/cur/latest/userguide/understanding-ri.html)。

**注意**  
區域預留執行個體預留容量僅適用於擁有的帳戶，無法與其他  AWS 帳戶共用。如果您需要與其他  AWS 帳戶共用容量，請使用 [使用 EC2 隨需容量保留來保留運算容量](ec2-capacity-reservations.md)。

# 使用您的 預留執行個體
<a name="using-reserved-instances"></a>

預留執行個體會自動套用至執行中的隨需執行個體，只要其規格相符。若您沒有符合您預留執行個體規格的執行中隨需執行個體，預留執行個體會處於未使用的狀態，直到您使用必要的規格啟動執行個體為止。

如果您要啟動隨需執行個體，以利用預留執行個體的計費利益，請確定您在設定隨需執行個體時指定下列資訊：

**平台**  
您必須指定符合您預留執行個體平台 (產品描述) 的 Amazon Machine Image (AMI)。例如，如果針對您的預留執行個體指定了 `Linux/UNIX`，您可以從 Amazon Linux AMI 或 Ubuntu AMI 啟動執行個體。

**執行個體類型**  
如果購買了區域預留執行個體，您必須指定與預留執行個體相同的執行個體類型，例如 `t3.large`。如需詳細資訊，請參閱 [區域預留執行個體的套用方式](apply_ri.md#apply-zonal-ri)。  
如果購買了區域預留執行個體，您必須從預留執行個體之執行個體的同一執行個體系列指定執行個體類型。例如，如果針對預留執行個體指定了 `t3.xlarge`，您必須從 T3 系列啟動執行個體，但可以指定任何大小，例如 `t3.medium`。如需詳細資訊，請參閱 [區域預留執行個體的套用方式](apply_ri.md#apply-regional-ri)。

**可用區域**  
如果針對特定可用區域購買了區域預留執行個體，您必須將執行個體啟動到相同的可用區域。  
如果購買了區域預留執行個體，您可以將執行個體啟動到區域中針對預留執行個體指定的任何可用區域。

**租用**  
執行個體的租用 (`dedicated` 或 `shared`) 必須符合預留執行個體的租用。如需詳細資訊，請參閱 [Amazon EC2 專用執行個體](dedicated-instance.md)。

如需預留執行個體如何套用到執行中隨需執行個體的範例，請參閱[預留執行個體折扣的套用方式](apply_ri.md)。如需詳細資訊，請參閱[為什麼我的 Amazon EC2 預留執行個體不像預期一樣套用到我的 AWS 帳單？](https://repost.aws/knowledge-center/reserved-instance-applying-why)

您可以使用各種方法，啟動使用預留執行個體折扣的隨需執行個體。如需不同啟動方法的詳細資訊，請參閱 [啟動 Amazon EC2 執行個體](LaunchingAndUsingInstances.md)。您也可以使用 Amazon EC2 Auto Scaling 來啟動執行個體。如需詳細資訊，請參閱 [Amazon EC2 Auto Scaling 使用者指南](https://docs.aws.amazon.com/autoscaling/ec2/userguide/)。

# 預留執行個體的計費方式
<a name="concepts-reserved-instances-application"></a>

所有預留執行個體都可提供您相較於隨需定價的折扣。您可透過預留執行個體，為整個期間支付費用 (無論實際用量為何)。您可以選擇為您的預留執行個體預付款項、部分預付款項或每月付款，取決於為預留執行個體指定的[付款選項](ec2-reserved-instances.md#ri-payment-options)。

預留執行個體;到期時，將會根據 EC2 執行個體用量的隨需費率向您收費。最早可提前三年將 預留執行個體 放入佇列供購買。這可協助您確保您的涵蓋範圍不會間斷。如需詳細資訊，請參閱[將您的購買項目放入佇列](ri-market-concepts-buying.md#ri-queued-purchase)。

 AWS 免費方案 適用於新的 AWS 帳戶。如果您使用 AWS 免費方案 執行 Amazon EC2 執行個體，並購買預留執行個體，則會向您收取標準定價。如需相關資訊，請參閱[AWS 免費方案](https://aws.amazon.com/free/)。

**Topics**
+ [用量帳單](#hourly-billing)
+ [檢視您的帳單](#ri-market-buyer-billing)
+ [預留執行個體 與合併帳單](#concepts-reserved-instances-billing)
+ [預留執行個體折扣定價方案](#reserved-instances-discounts)

## 用量帳單
<a name="hourly-billing"></a>

預留執行個體會在您選取的期間內以每時鐘小時計價，無論執行個體是否正在執行中。每個鐘點小時都會於標準 24 小時制的整點 (每小時的零分和零秒) 開始。例如，1:00:00 至 1:59:59 是一點鐘。如需執行個體狀態的詳細資訊，請參閱[Amazon EC2 執行個體狀態變更](ec2-instance-lifecycle.md)。

預留執行個體計費利益可以每秒套用到執行中的執行個體。以秒計費適用於使用開放原始碼 Linux 發行版本 (例如 Amazon Linux 和 Ubuntu) 的執行個體。每小時計費用於商業 Linux 發行版本，例如 Red Hat Enterprise Linux 和 SUSE Linux Enterprise Server。

預留執行個體計費利益每個時鐘小時可套用到最多 3600 秒 (一小時) 的執行個體用量。您可以同時執行多個執行個體，但每個時鐘小時最多只能接收到 3600 秒的預留執行個體折扣利益；時鐘小時內超過 3600 秒的執行個體用量會以隨需費率計費。

例如，若您購買一個 `m4.xlarge` 預留執行個體，並同時執行四個 `m4.xlarge` 執行個體一個小時，一個執行個體會以預留執行個體用量收取一個小時的費用，其餘三個執行個體則會以隨需用量收取三個小時的費用。

但是，若您購買一個 `m4.xlarge` 預留執行個體，並在同一個小時內執行四個 `m4.xlarge` 執行個體，每一個執行 15 分鐘 (900 秒)，執行個體的總執行時間便為一個小時，其結果便是一個小時的預留執行個體用量和 0 個小時的隨需用量。

![\[四個 m4.xlarge 執行個體在同一小時內各執行 15 分鐘。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-per-second-billing.png)


若同時執行多個符合資格的執行個體，預留執行個體計費利益會在一個時鐘小時內同時套用到所有執行個體，最多達 3600 秒；在這之後，便會套用隨需費率。

![\[多個執行個體與預留執行個體計費同時執行。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-per-second-billing-concurrent.png)


[Billing and Cost Management](https://console.aws.amazon.com/billing) 主控台上的 **Cost Explorer** 可讓您根據執行中的隨需執行個體分析節省費用。[預留執行個體常見問答集](https://aws.amazon.com/ec2/faqs/#reserved-instances)包括清單值計算的範例。

如果您關閉 AWS 帳戶， 資源的隨需計費會停止。但是，若您的帳戶中有任何預留執行個體，您會繼續收到其帳單，直到它們到期為止。

## 檢視您的帳單
<a name="ri-market-buyer-billing"></a>

您可以透過檢視 [AWS 帳單與成本管理](https://console.aws.amazon.com/billing) 主控台了解您帳戶所需支付的費用。
+ **Dashboard (儀表板)** 會顯示您帳戶的支出摘要。
+ 在 **Bills (帳單)** 頁面上，於 **Details (詳細資訊)** 下方，展開 **Elastic Compute Cloud** 區段及區域，以取得預留執行個體的帳單資訊。

您可在線上檢視費用，或是下載 CSV 檔案。

您也可以使用 AWS 成本和用量報告來追蹤預留執行個體使用率。如需詳細資訊，請參閱[了解您的預留](https://docs.aws.amazon.com/cur/latest/userguide/understanding-ri.html)。

## 預留執行個體 與合併帳單
<a name="concepts-reserved-instances-billing"></a>

若購買帳戶是在單一合併帳單付款人帳戶下一組帳戶的一部分，則會共用預留執行個體的計費利益。所有成員帳戶的執行個體用量每個月都會彙總到付款人的帳戶中。這通常對有不同功能團隊或群組的公司來說非常有用；然後，會套用標準預留執行個體邏輯計算帳單。如需詳細資訊，請參閱 [AWS Organizations的合併帳單](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/consolidated-billing.html)。

如果您關閉購買預留執行個體的帳戶，系統會繼續為預留執行個體對付款人帳戶計費，直到預留執行個體到期。在關閉的帳戶於 90 天後永久刪除後，會員帳戶無法再從預留執行個體帳單折扣中受益。

**注意**  
區域預留執行個體預留容量僅適用於擁有的帳戶，無法與其他  AWS 帳戶共用。如果您需要與其他  AWS 帳戶共用容量，請使用 [使用 EC2 隨需容量保留來保留運算容量](ec2-capacity-reservations.md)。

## 預留執行個體折扣定價方案
<a name="reserved-instances-discounts"></a>

若您的帳戶符合折扣定價方案的資格，從您在該方案層級中購買預留執行個體的時間點開始，預付及執行個體使用費便會自動接收到折扣。若要符合折扣的資格，您在區域中的預留執行個體清單價值必須為 500,000 USD (含) 以上。

適用的規定如下：
+ 定價方案和相關折扣只會套用到購買的 Amazon EC2 標準預留執行個體。
+ 定價方案不會套用到 Windows with SQL Server Standard、SQL Server Web 和 SQL Server Enterprise 的預留執行個體。
+ 定價方案不適用於搭載任何類型的 SQL Server 的 Linux 預留執行個體。
+ 定價方案折扣僅適用於從 進行的購買 AWS。它們不會套用到購買的第三方預留執行個體。
+ 折扣定價方案目前無法套用到可轉換預留執行個體購買。

**Topics**
+ [計算 預留執行個體 定價折扣](#pricing-discounts)
+ [使用折扣方案購買](#buying-discount-tier)
+ [跨定價方案](#crossing-pricing-tiers)
+ [定價方案的合併帳單](#consolidating-billing)

### 計算 預留執行個體 定價折扣
<a name="pricing-discounts"></a>

您可以藉由計算您在區域中所有預留執行個體的清單值，來決定帳戶的定價方案。將每個保留每小時的經常性價格，乘上期間內的總小時數，並加上在購買時間點的未折扣預付價格 (也稱為固定價格)。因為清單值是以未折扣 (公有) 定價為基礎，無論您是否符合批發折扣，或是價格是否在您購買預留執行個體之後降低，都不會受到影響。

```
List value = fixed price + (undiscounted recurring hourly price * hours in term)
```

例如，針對 1 年部分預付款的 `t2.small` 預留執行個體，假設預付價格為 60.00 USD，每小時的費率為 0.007 USD。這會提供清單值 121.32 USD。

```
121.32 = 60.00 + (0.007 * 8760)
```

**使用 Amazon EC2 主控台檢視預留執行個體的固定價格值**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**。

1. 若要顯示**預付價格**欄，請選擇右上角的設定 (![\[Settings icon.\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/settings-icon.png))，開啟**預付價格**，然後選擇**確認**。

**使用命令列檢視預留執行個體的固定價格值**
+ [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) (AWS CLI)
+  [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) (AWS Tools for Windows PowerShell)

### 使用折扣方案購買
<a name="buying-discount-tier"></a>

當您購買預留執行個體時，Amazon EC2 會自動將任何折扣套用到您購買中位於折扣定價方案內的部分。您無須進行任何不同操作，並且您可以使用任何 Amazon EC2 工具購買預留執行個體。如需詳細資訊，請參閱[購買 Amazon EC2 預留執行個體](ri-market-concepts-buying.md)。

當您在區域中的作用中預留執行個體清單值進入折扣定價方案後，日後在該區域購買的任何預留執行個體都會以折扣費率計費。若您在區域中購買的單一預留執行個體超過折扣方案的閾值，則該購買超過價格閾值的部分便會以折扣費率收費。如需在購買程序中建立之暫時預留執行個體 ID 的詳細資訊，請參閱[跨定價方案](#crossing-pricing-tiers)。

若您的清單值低於該折扣定價方案的價格點 (例如：若您的某些預留執行個體到期)，則日後在該區域中購買的預留執行個體將不會有折扣。但是，您原先在折扣定價方案內購買的預留執行個體，仍會繼續套用折扣。

當您購買預留執行個體時，便會發生下列四種可能案例中的其中一種：
+ **無折扣** – 您在區域內的購買仍低於折扣閾值。
+ **部分折扣** – 您在區域內的購買已超過第一個折扣方案的閾值。不會套用折扣到一或多個保留，剩餘的保留則會套用折扣費率。
+ **完整折扣** – 您在區域內的整個購買都已符合單一折扣方案，並已取得適當折扣。
+ **雙折扣費率** – 您在區域內的購買已從較低的折扣方案升等至更高的折扣方案。會根據兩種不同費率向您收費：一或多個保留會以較低的折扣費率計費，其餘保留則會以更高的折扣費率計費。

### 跨定價方案
<a name="crossing-pricing-tiers"></a>

若您的購買進入折扣定價方案，您會看到多個該購買的項目：其中一個為該購買中以標準價格收費的部分，另外一個則為該購買中以適用折扣費率收費的部分。

預留執行個體服務會產生數個預留執行個體 ID，因為您的購買跨越自未折扣方案，或是從其中一種折扣方案跨越至另一種。方案中每一組保留都會有一個 ID。因此，您購買 CLI 命令或 API 動作傳回的 ID，將會與新預留執行個體的實際 ID 不同。

### 定價方案的合併帳單
<a name="consolidating-billing"></a>

合併帳單帳戶會彙總區域內成員帳戶的清單值。當合併帳單帳戶所有作用中預留執行個體的清單值達到折扣定價方案，合併帳單帳戶的任何成員帳戶在之後購買的預留執行個體都會以折扣費率計費 (只要合併帳戶的清單值持續高於折扣定價方案的閾值)。如需詳細資訊，請參閱[預留執行個體 與合併帳單](#concepts-reserved-instances-billing)。

# 購買 Amazon EC2 預留執行個體
<a name="ri-market-concepts-buying"></a>

若要購買 Amazon EC2 的預留執行個體，您可以使用 Amazon EC2 主控台、命令列工具或 SDK 從 AWS 和第三方賣方搜尋預留執行個體產品，調整您的搜尋參數，直到找到您要尋找的完全相符項目為止。

當您在尋找要購買的預留執行個體時，您會收到傳回優惠的成本報價。當您繼續購買時， AWS 會自動對購買價格設定限制價格。您預留執行個體的總成本不會超過向您報價的金額。

若價格因為任何原因產生變更，購買便無法完成。當您從 Amazon EC2 預留執行個體 Marketplace 購買第三方賣方的預留執行個體時，如果有類似您選擇的供應項目，但預付價格較低， AWS 會以較低的預付價格向您銷售供應項目。

在您確認購買前，請檢閱您計劃購買之預留執行個體的詳細資訊，並確認所有的參數都正確。購買預留執行個體之後 （無論是從預留執行個體 Marketplace 中的第三方賣方或從中購買 AWS)，您就無法取消購買。您可以排定在未來日期進行購買，並在已排定時間之前取消佇列的購買。

若要購買和修改預留執行個體，請確保使用者具有適當的許可，例如描述可用區域的能力。如需詳細資訊，請參閱 [範例：使用 預留執行個體](ExamplePolicies_EC2.md#iam-example-reservedinstances) (API) 或 [範例：使用 預留執行個體](iam-policies-ec2-console.md#ex-reservedinstances) (主控台)。

**Topics**
+ [選擇平台](#ri-choosing-platform)
+ [將您的購買項目放入佇列](#ri-queued-purchase)
+ [購買標準版 預留執行個體](#ri-buying-standard)
+ [購買 可轉換預留執行個體](#ri-buying-convertible)
+ [從預留執行個體 Marketplace 購買](#ri-market-buying-guide)
+ [取消佇列購買](#cancel-queued-purchase)
+ [續約 預留執行個體](#renew-ri)

## 選擇平台
<a name="ri-choosing-platform"></a>

Amazon EC2 支援下列適用於預留執行個體的平台：
+ Linux/UNIX
+ Linux with SQL Server Standard
+ Linux with SQL Server Web
+ Linux with SQL Server Enterprise
+ SUSE Linux
+ Red Hat Enterprise Linux
+ 帶 HA 的 Red Hat Enterprise Linux
+ Windows
+ Windows with SQL Server Standard
+ Windows with SQL Server Web
+ Windows with SQL Server Enterprise

**考量事項**
+ 若您攜帶 **Red Hat Enterprise Linux**、**SUSE Linux** 或 **Ubuntu Pro** 的現有訂閱 (BYOS)，必須為 **Linux/Unix** 平台選擇方案。
+ 執行 **macOS** 或 Ubuntu Pro (包含 EC2 訂閱，即非 BYOS) 的執行個體不支援預留執行個體。若要透過隨需執行個體定價來節省成本，建議您搭配 Savings Plans 使用 macOS 和 Ubuntu Pro (包含 EC2 訂閱) 執行個體。如需詳細資訊，請參閱 [Savings Plans 使用者指南](https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html)。

若要確保執行個體在特定預留執行個體中執行，預留執行個體的平台必須與用於啟動執行個體的 AMI 平台相符 若是 Linux AMI，檢查 AMI 平台是使用一般值 **Linux/UNIX**，還是 **SUSE Linux** 等具體的值非常重要。

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

**如需檢查 AMI 平台**

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

1. 在導覽窗格中，選擇 **AMI**。

1. 請選取 AMI。

1. 在**詳細資訊**索引標籤上，查看**平台詳細資訊**的值。

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

**如需檢查 AMI 平台**  
使用 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令，然後檢查 `PlatformDetails` 的值。

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query Images[*].PlatformDetails
```

以下為範例輸出。

```
[
    "Linux/UNIX"
]
```

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

**如需檢查 AMI 平台**  
使用 [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet，然後檢查 `PlatformDetails` 的值。

```
Get-EC2Image `
    -ImageId ami-0abcdef1234567890 | `
    Select PlatformDetails
```

以下為範例輸出。

```
PlatformDetails
---------------
Linux/UNIX
```

------

## 將您的購買項目放入佇列
<a name="ri-queued-purchase"></a>

根據預設，當您購買 預留執行個體 時，購買會立即進行。或者，您可以將購買放入未來日期和時間的佇列。例如，您可以將購買放入約為現有 預留執行個體 到期時的佇列。這可協助您確保您的涵蓋範圍不會間斷。

您可以將購買放入地區 預留執行個體 的佇列，但不是其他賣方的區域 預留執行個體 或 預留執行個體。最早可提前三年將購買放入佇列。在排程日期和時間，購買會依據預設的付款方式進行。付款成功之後，計費優勢便會套用。

您可以在 Amazon EC2 主控台中為已佇列的購買設定日期，而該購買將排定至該日期的國際標準時間 00:00 分。若要為排入佇列的購買指定不同的時間，請使用 AWS SDK 或命令列工具。

您可以在 Amazon EC2 主控台中查看您的佇列購買。佇列購買的狀態為 **queued (佇列)**。在排程時間之前，您可以隨時取消佇列購買。如需詳細資訊，請參閱[取消佇列購買](#cancel-queued-purchase)。

## 購買標準版 預留執行個體
<a name="ri-buying-standard"></a>

您可以在特定可用區域中購買標準預留執行個體，取得容量保留。或者，您可以放棄容量保留，購買地區標準預留執行個體。

購買完成之後，若您已有符合預留執行個體規格的執行中執行個體，即會立即套用計費優勢。您不需要重新啟動您的執行個體。若您沒有適合的執行中執行個體，請啟動執行個體，確保符合您在預留執行個體中指定的條件。如需詳細資訊，請參閱[使用您的 預留執行個體](using-reserved-instances.md)。

如需預留執行個體套用到您執行中執行個體方式的範例，請參閱[預留執行個體折扣的套用方式](apply_ri.md)。

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

**購買預留執行個體**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**，然後選擇 **Purchase 預留執行個體 (購買 預留執行個體)**。

1. 針對 **Offering class** (優惠類別)，選擇 **Standard** (標準) 以顯示標準 預留執行個體。

1. 若要購買容量保留，請在購買畫面的右上角開啟 **Only show offerings that reserve capacity** (只顯示預留容量的優惠)。當您切換此設定時，會出現 **Availability Zone** (可用區域) 欄位。

   若要購買區域 預留執行個體，請關閉此設定。當您關閉此設定時，**Availability Zone** (可用區域) 欄位即會消失。

1. 視需要選取其他組態，然後選取 **Search** (搜尋)。

1. 在您想要購買的每一個 預留執行個體 中，輸入所需數量，然後選擇 **Add to cart** (新增到購物車)。

   若要從預留執行個體市場購買標準預留執行個體，請在搜尋結果中的 **Seller** (賣方) 列中尋找 **3rd party** (第三方)。**Term (期間)** 資料行會顯示非標準期間。如需詳細資訊，請參閱[從預留執行個體 Marketplace 購買](#ri-market-buying-guide)。

1. 若要查看您選取之預留執行個體的摘要，請選取 **View cart** (檢視購物車)。

1. 如果 **Order on** (訂購日期) 為 **Now** (立即)，則在您選擇 **Order all** (全部訂購) 之後會立即完成購買。若要將購買加入佇列，請選取 **Now (立即)** 並選取日期。您可以為購物車中每項合格產品選取不同的日期。購買項目會放入佇列，直到所選日期的 00:00 UTC。

1. 若要完成訂單，請選擇 **Order all** (全部訂購)。

   如果在下訂單時，有類似您選擇的優惠，但價格較低， 會以較低的價格向您 AWS 銷售優惠。

1. 選擇 **Close** (關閉)。

   訂單的狀態會列在 **State (狀態)** 資料行中。當您的訂單完成時，**State (狀態)** 的值便會從 `Payment-pending` 變更為 `Active`。當預留執行個體為 `Active` 時，即已準備好可供使用。

   如果狀態變為 `Retired`， AWS 可能尚未收到您的付款。

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

**購買標準預留執行個體**

1. 使用 [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) 命令搜尋可用的預留執行個體。為 `--offering-class` 選項指定 `standard`，以僅傳回標準預留執行個體。您可以套用其他條件來縮小結果範圍。例如，使用下列命令來購買使用預設租用 `t2.large` 為期僅一年的區域 `Linux/UNIX` 預留執行個體：

   ```
   aws ec2 describe-reserved-instances-offerings \
       --instance-type t2.large \
       --offering-class standard \
       --product-description "Linux/UNIX" \
       --instance-tenancy default \
       --filters Name=duration,Values=31536000 \
                 Name=scope,Values=Region
   ```

   若只尋找預留執行個體 Marketplace 上的預留執行個體，請使用 `marketplace` 篩選條件，並且不要在請求中指定有效期間，因為有效期間可能會短於 1 年或 3 年。

   ```
   aws ec2 describe-reserved-instances-offerings \
       --instance-type t2.large \
       --offering-class standard \
       --product-description "Linux/UNIX" \
       --instance-tenancy default \
       --filters Name=marketplace,Values=true
   ```

   當您找到符合您需求的預留執行個體時，請記下產品 ID。例如：

   ```
   "ReservedInstancesOfferingId": "bec624df-a8cc-4aad-a72f-4f8abc34caf2"
   ```

1. 使用 [purchase-reserved-instances-offering](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-reserved-instances-offering.html) 命令購買您的預留執行個體。您必須指定您在先前步驟中取得的預留執行個體優惠 ID，並指定保留的執行個體數目。

   ```
   aws ec2 purchase-reserved-instances-offering \
       --reserved-instances-offering-id bec624df-a8cc-4aad-a72f-4f8abc34caf2 \
       --instance-count 1
   ```

   依預設，購買會立刻完成。或者，若要將購買加入佇列，則在先前的呼叫中新增下列選項。

   ```
   --purchase-time "2020-12-01T00:00:00Z"
   ```

1. 使用 [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 命令取得您預留執行個體的狀態。

   ```
   aws ec2 describe-reserved-instances \
       --reserved-instances-ids b847fa93-e282-4f55-b59a-1342fec06327 \
       --query ReservedInstances[].State
   ```

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

**購買標準預留執行個體**

1. 使用 [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) cmdlet，尋找可用的預留執行個體。為 `-OfferingClass` 參數指定 `standard`，以僅傳回標準預留執行個體。您可以套用其他條件來縮小結果範圍。例如，使用下列命令來購買使用預設租用 `t2.large` 為期僅一年的區域 `Linux/UNIX` 預留執行個體：

   ```
   Get-EC2ReservedInstancesOffering `
       -InstanceType "t2.large" `
       -OfferingClass "standard" `
       -ProductDescription "Linux/UNIX" `
       -InstanceTenancy "default" `
       -Filters @{Name="duration"; Values="31536000"} `
                @{Name="scope"; Values="Region"
   ```

   若只尋找預留執行個體 Marketplace 上的預留執行個體，請使用 `marketplace` 篩選條件，並且不要在請求中指定有效期間，因為有效期間可能會短於 1 年或 3 年。

   ```
   Get-EC2ReservedInstancesOffering `
       -InstanceType t2.large `
       -OfferingClass "standard" `
       -ProductDescription "Linux/UNIX" `
       -InstanceTenancy default `
       -Filters @{Name="marketplace"; Values="true"}
   ```

   當您找到符合您需求的預留執行個體時，請記下產品 ID。例如：

   ```
   bec624df-a8cc-4aad-a72f-4f8abc34caf2
   ```

1. 使用 [New-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstance.html) cmdlet，購買預留執行個體。您必須指定您在先前步驟中取得的預留執行個體優惠 ID，並指定保留的執行個體數目。

   ```
   New-EC2ReservedInstance `
       -ReservedInstancesOfferingId "bec624df-a8cc-4aad-a72f-4f8abc34caf2" `
       -InstanceCount 1
   ```

   依預設，購買會立刻完成。或者，若要將購買加入佇列，則在先前的呼叫中新增下列參數。

   ```
   -PurchaseTime "2020-12-01T00:00:00Z"
   ```

1. 使用 [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) cmdlet，取得預留執行個體的狀態。

   ```
   Get-EC2ReservedInstance `
       -ReservedInstancesId b847fa93-e282-4f55-b59a-1342fec06327 | `
       Select State
   ```

------

## 購買 可轉換預留執行個體
<a name="ri-buying-convertible"></a>

您可以在特定可用區域中購買可轉換預留執行個體，取得容量保留。或者，您可以放棄容量保留並購買地區可轉換預留執行個體。

若您已有符合預留執行個體規格的執行中執行個體，即會立即套用計費利益。您不需要重新啟動您的執行個體。若您沒有適合的執行中執行個體，請啟動執行個體，確保符合您在預留執行個體中指定的條件。如需詳細資訊，請參閱[使用您的 預留執行個體](using-reserved-instances.md)。

如需預留執行個體套用到您執行中執行個體方式的範例，請參閱[預留執行個體折扣的套用方式](apply_ri.md)。

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

**購買可轉換預留執行個體**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**，然後選擇 **Purchase 預留執行個體 (購買 預留執行個體)**。

1. 針對 **Offering class** (優惠類別)，選擇 **Convertible** (可轉換) 以顯示標準 可轉換預留執行個體。

1. 若要購買容量保留，請在購買畫面的右上角開啟 **Only show offerings that reserve capacity** (只顯示預留容量的優惠)。當您切換此設定時，會出現 **Availability Zone** (可用區域) 欄位。

   若要購買區域 預留執行個體，請關閉此設定。當您關閉此設定時，**Availability Zone** (可用區域) 欄位即會消失。

1. 視需要選取其他組態，然後選取 **Search (搜尋)**。

1. 在您想要購買的每一個 可轉換預留執行個體 中，輸入數量，然後選擇 **Add to cart** (新增到購物車)。

1. 若要查看您選取項目的摘要，請選取 **View cart** (檢視購物車)。

1. 如果 **Order on** (訂購日期) 為 **Now** (立即)，則在您選擇 **Order all** (全部訂購) 之後會立即完成購買。若要將購買加入佇列，請選取 **Now (立即)** 並選取日期。您可以為購物車中每項合格產品選取不同的日期。購買項目會放入佇列，直到所選日期的 00:00 UTC。

1. 若要完成訂單，請選擇 **Order all** (全部訂購)。

   如果在下訂單時，有類似您選擇的優惠，但價格較低， 會以較低的價格向您 AWS 銷售優惠。

1. 選擇 **Close** (關閉)。

   訂單的狀態會列在 **State (狀態)** 資料行中。當您的訂單完成時，**State (狀態)** 的值便會從 `Payment-pending` 變更為 `Active`。當預留執行個體為 `Active` 時，即已準備好可供使用。

   如果狀態變為 `Retired`， AWS 可能尚未收到您的付款。

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

**購買可轉換預留執行個體**

1. 使用 [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) 命令搜尋可用的預留執行個體。為 `--offering-class` 選項指定 `convertible`，以僅傳回可轉換預留執行個體。您可以套用其他條件來縮小結果範圍。例如，使用下列命令，購買適用於 `Linux/UNIX` 之預設租用的區域 `t2.large` 預留執行個體。

   ```
   aws ec2 describe-reserved-instances-offerings \
       --instance-type t2.large \
       --offering-class convertible \
       --product-description "Linux/UNIX" \
       --instance-tenancy default \
       --filters Name=scope,Values=Region
   ```

   當您找到符合您需求的預留執行個體時，請記下產品 ID。例如：

   ```
   "ReservedInstancesOfferingId": "bec624df-a8cc-4aad-a72f-4f8abc34caf2"
   ```

1. 使用 [purchase-reserved-instances-offering](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-reserved-instances-offering.html) 命令購買您的預留執行個體。您必須指定您在先前步驟中取得的預留執行個體優惠 ID，並指定保留的執行個體數目。

   ```
   aws ec2 purchase-reserved-instances-offering \
       --reserved-instances-offering-id bec624df-a8cc-4aad-a72f-4f8abc34caf2 \
       --instance-count 1
   ```

   依預設，購買會立刻完成。或者，若要將購買加入佇列，則在先前的呼叫中新增下列選項。

   ```
   --purchase-time "2020-12-01T00:00:00Z"
   ```

1. 使用 [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 命令取得您預留執行個體的狀態。

   ```
   aws ec2 describe-reserved-instances \
       --reserved-instances-ids b847fa93-e282-4f55-b59a-1342fec06327 \
       --query ReservedInstances[].State
   ```

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

**購買可轉換預留執行個體**

1. 使用 [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) cmdlet，尋找可用的預留執行個體。為 `-OfferingClass` 參數指定 `convertible`，以僅傳回可轉換預留執行個體。您可以套用其他條件來縮小結果範圍。例如，使用下列命令，購買適用於 `Linux/UNIX` 之預設租用的區域 `t2.large` 預留執行個體。

   ```
   Get-EC2ReservedInstancesOffering `
       -InstanceType "t2.large" `
       -OfferingClass "convertible" `
       -ProductDescription "Linux/UNIX" `
       -InstanceTenancy "default" `
       -Filters @{Name="scope"; Values="Region"
   ```

   當您找到符合您需求的預留執行個體時，請記下產品 ID。例如：

   ```
   bec624df-a8cc-4aad-a72f-4f8abc34caf2
   ```

1. 使用 [New-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstance.html) cmdlet，購買預留執行個體。您必須指定您在先前步驟中取得的預留執行個體優惠 ID，並指定保留的執行個體數目。

   ```
   New-EC2ReservedInstance `
       -ReservedInstancesOfferingId "bec624df-a8cc-4aad-a72f-4f8abc34caf2" `
       -InstanceCount 1
   ```

   依預設，購買會立刻完成。或者，若要將購買加入佇列，則在先前的呼叫中新增下列參數。

   ```
   -PurchaseTime "2020-12-01T00:00:00Z"
   ```

1. 使用 [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) cmdlet，取得預留執行個體的狀態。

   ```
   Get-EC2ReservedInstance `
       -ReservedInstancesId b847fa93-e282-4f55-b59a-1342fec06327 | `
       Select State
   ```

------

## 從預留執行個體 Marketplace 購買
<a name="ri-market-buying-guide"></a>

您可以從第三方賣方購買預留執行個體，他們擁有預留執行個體 Marketplace 不再需要的預留執行個體。您可以使用 Amazon EC2 主控台或命令列工具來執行這項作業。程序類似於從中購買預留執行個體 AWS。如需詳細資訊，請參閱[購買標準版 預留執行個體](#ri-buying-standard)。

在預留執行個體 Marketplace 中購買的預留執行個體與直接從中購買的預留執行個體之間存在一些差異 AWS：
+ **有效期間** – 您從第三方賣方購買的預留執行個體具有低於完整標準有效期間的剩餘時間。從 AWS 執行一年或三年的完整標準術語。
+ **預付價格** – 第三方預留執行個體可使用不同的預付價格出售。使用費或經常性費用仍保持不變，等同於最初從 AWS購買預留執行個體時所設定的費用。
+ **預留執行個體類型** – 只能從預留執行個體市場購買 Amazon EC2 標準預留執行個體。可轉換的預留執行個體、Amazon RDS 和 Amazon ElastiCache 預留執行個體無法在預留執行個體 Marketplace 上購買。

您的基本資訊會與賣方共享 (例如您的郵遞區號和地區/國家資訊)。

此資訊可讓賣方計算任何需要匯款給政府的必要交易稅 (例如營業稅或加值稅)，並會做為收款報告提供。在極少數情況下， AWS 可能需要向賣方提供您的電子郵件地址，以便他們可以就與銷售相關的問題與您聯絡 （例如稅務問題）。

基於類似原因， 會在買方的購買發票上 AWS 共用賣方的法定實體名稱。若您因為稅務或其他相關原因，需要賣方的額外資訊，請聯絡 [支援](https://aws.amazon.com/contact-us/)。

## 取消佇列購買
<a name="cancel-queued-purchase"></a>

最早可提前三年將購買放入佇列。在排程時間之前，您可以隨時取消佇列購買。

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

**取消佇列購買**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**。

1. 選取一或多個 預留執行個體。

1. 選擇 **Actions** (動作)、**Delete queued Reserved Instances** (刪除佇列預留執行個體)。

1. 出現確認提示時，依序選擇 **Delete** (刪除)、**Close** (關閉)。

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

**取消佇列購買**  
使用 [delete-queued-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-queued-reserved-instances.html) 命令。

```
aws ec2 delete-queued-reserved-instances \
    --reserved-instances-ids b847fa93-e282-4f55-b59a-1342fec06327
```

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

**取消佇列購買**  
使用 [Remove-EC2QueuedReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2QueuedReservedInstance.html) cmdlet。

```
Remove-EC2QueuedReservedInstance `
    -ReservedInstancesId b847fa93-e282-4f55-b59a-1342fec06327
```

------

## 續約 預留執行個體
<a name="renew-ri"></a>

您可以在預留執行個體排定到期前續約。續約預留執行個體會將具有相同預留執行個體組態的購買排入佇列，直到當前預留執行個體到期為止。

您必須透過 Amazon EC2 主控台續約預留執行個體。

**使用已佇列的購買續約預留執行個體**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**。

1. 選取要續約的預留執行個體。

1. 選擇 **Actions (動作)**、**Renew Reserved Instances (續約預留執行個體)**。

1. 若要完成訂單，請選擇 **Order all** (全部訂購)，然後選擇 **Close** (關閉)。

# 銷售 Amazon EC2 可轉換預留執行個體不能在預留執行個體 Marketplace 中銷售
<a name="ri-market-general"></a>

Amazon EC2 預留執行個體 Marketplace 是一種平台，可協助 AWS 向客戶和第三方賣方銷售未使用的標準預留執行個體。這些預留執行個體的期限長度和定價選項可能會有所不同。當您不再需要預留執行個體時，例如當您將執行個體移至新的 AWS 區域、變更為不同的執行個體類型、在預留執行個體期限到期之前完成專案、您的業務需求變更，或您有多餘的容量時，您可能會想要銷售預留執行個體。

在預留執行個體 Marketplace 中列出您的預留執行個體後，它們便可供潛在買方尋找。所有預留執行個體都會根據剩餘期間的長度和每小時的價格分組。

為了滿足買方透過預留執行個體 Marketplace 購買第三方賣方預留執行個體的請求， AWS 首先以指定的分組中最低的預付價格銷售預留執行個體。然後，以下一個最低價格 AWS 銷售預留執行個體，直到買方完成整個訂單為止。 AWS 然後， 會處理交易並將預留執行個體的所有權轉移給買方。

直到賣出之前，您都會擁有您的預留執行個體。在銷售之後，您便已放棄容量保留和折扣後的經常性費用。若您繼續使用您的執行個體， AWS 會從您賣出預留執行個體的時間開始，以隨需價格向您收費。

若您希望在預留執行個體 Marketplace 中銷售您未使用的預留執行個體，您必須符合特定適用性條件。

關於在預留執行個體 Marketplace 上購買預留執行個體的資訊，請參閱 [從預留執行個體 Marketplace 購買](ri-market-concepts-buying.md#ri-market-buying-guide)。

**Topics**
+ [法規與限制](#ri-seller-limits)
+ [註冊為賣家](#ri-market-seller-profile)
+ [用於收款的銀行帳戶](#ri-market-concepts-bank)
+ [稅務資訊](#ri-market-concepts-taxinfo)
+ [為您的 預留執行個體 定價](#ri-market-concepts-pricing)
+ [列出您的 預留執行個體](#ri-market-selling-listing)
+ [預留執行個體清單狀態](#ri-listing-states)
+ [清單的生命週期](#ri-market-concepts-sold-partial)
+ [在您的預留執行個體售出後](#ri-market-concepts-sold)
+ [收取款項](#ri-market-sold-gettingpaid)
+ [與買方共享的資訊](#ri-market-seller-disclosure)

## 法規與限制
<a name="ri-seller-limits"></a>

在您販售未使用的預留前，您必須先在預留執行個體 Marketplace 中註冊為賣方。如需相關資訊，請參閱[註冊為賣家](#ri-market-seller-profile)。

以下限制會在販售預留執行個體時適用：
+ Amazon EC2 標準地區與區域預留執行個體只能在預留執行個體市場中銷售。
+ Amazon EC2 可轉換預留執行個體不能在預留執行個體 Marketplace 中銷售。
+ Amazon RDS 和 Amazon ElastiCache 等 AWS 其他服務的預留執行個體無法在預留執行個體 Marketplace 中販售。
+ 標準預留執行個體的剩餘期間至少要一個月。
+ 您無法在[預設停用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)的區域中販售標準預留執行個體。
+ 預留執行個體 Marketplace 允許的最低價為 0.00 美元。
+ 您可以在預留執行個體 Marketplace 中銷售無預留、部分預付或全部預付等執行個體，只要其在您的帳戶中處於活動狀態至少 30 天。此外，如果預留執行個體上有預付款，則只有在 AWS 收到預付款之後才能販售。
+ 如果您使用磁碟區折扣購買預留執行個體，則無法在預留執行個體 Marketplace 中銷售預留執行個體。
+ 您無法直接在預留執行個體 Marketplace 中修改您的清單。但是，您可以藉由先取消它，然後再使用新的參數建立另一個清單，來變更您的清單。如需相關資訊，請參閱[為您的 預留執行個體 定價](#ri-market-concepts-pricing)。您也可以在將它們列出之前修改您的預留執行個體。如需相關資訊，請參閱[修改 預留執行個體](ri-modifying.md)。
+ AWS 對於您在預留執行個體 Marketplace 中銷售的每個標準預留執行個體，收取總預付價格的 12% 的服務費用。預付價格為賣方向標準預留執行個體收取的價格。
+ 當您註冊成為賣方時，您指定的銀行必須具有美國地址。如需詳細資訊，請參閱 *AWS Marketplace 賣方指南*中的[付費產品的其他賣方需求](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html#additional-seller-requirements-for-paid-products)。
+ Amazon Web Services India Private Limited (AWS 印度） 客戶無法在 EC2 預留執行個體 Marketplace 上註冊為賣方，也無法在 EC2 預留執行個體 Marketplace 中列出或銷售預留執行個體，即使他們擁有美國銀行帳戶。如需詳細資訊，請參閱 [AWS 帳戶 和 AWS 印度帳戶之間的差異有哪些？](https://repost.aws/knowledge-center/aws-india-differences)
+ 如果您將記錄賣方變更為 Amazon Web Services India Private Limited (AWS India)，系統會將您從 EC2 預留執行個體 Marketplace 取消註冊為賣方，並且會移除 EC2 預留執行個體 Marketplace 上所有現有的作用中清單。要還原賣方狀態，您必須將帳戶位置變更為印度以外的國家/地區，並重新完成賣方註冊程序。

## 註冊為賣家
<a name="ri-market-seller-profile"></a>

**注意**  
只有 AWS 帳戶根使用者 可以將帳戶註冊為賣方。

若要在預留執行個體 Marketplace 中進行銷售，您必須先註冊為賣方。在註冊期間，您會提供下列資訊：
+ **銀行資訊** -AWS 必須擁有您的銀行資訊，才能支付您在銷售保留時所收集的款項。您指定的銀行必須具有美國地址。如需詳細資訊，請參閱[用於收款的銀行帳戶](#ri-market-concepts-bank)。
+ **稅務資訊** – 所有賣方都必須完成稅務資訊面試，才能判斷任何必要的稅務報告義務。如需詳細資訊，請參閱[稅務資訊](#ri-market-concepts-taxinfo)。

在 AWS 收到您已完成的賣方註冊後，您會收到一封電子郵件，確認您的註冊並通知您可以在預留執行個體 Marketplace 中開始銷售。

## 用於收款的銀行帳戶
<a name="ri-market-concepts-bank"></a>

AWS 必須擁有您的銀行資訊，才能在銷售預留執行個體時支付已收取的資金。您指定的銀行必須具有美國地址。如需詳細資訊，請參閱 *AWS Marketplace 賣方指南*中的[付費產品的其他賣方需求](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html#additional-seller-requirements-for-paid-products)。

**註冊預設銀行帳戶以用於接收款項**

1. 開啟[預留執行個體市場賣方註冊](https://us-east-1.console.aws.amazon.com/rimarketplace/home?region=us-east-1)頁面，然後使用您的 AWS 登入資料登入。

1. 在 **Manage Bank Account (管理銀行帳戶)** 頁面上，提供下列關於接收款項銀行的資訊：
   + 銀行帳戶持有人名稱
   + 路由號碼
   + 帳戶號碼
   + 銀行帳戶類型
**注意**  
若您使用的是企業銀行帳戶，您會收到提示，請您透過傳真 (1-206-765-3424) 傳送銀行帳戶的資訊。

在註冊之後，提供的銀行帳戶便會設為預設，等待銀行進行驗證。驗證新的銀行帳戶最多可能需要兩週的時間，在此期間您無法收到款項。針對已建立的帳戶，支付款項通常需要兩天的時間才能完成。

**變更接收款項的預設銀行帳戶**

1. 在[預留執行個體市場賣方註冊](https://us-east-1.console.aws.amazon.com/rimarketplace/home?region=us-east-1)頁面上，使用您用來註冊的帳戶登入。

1. 在 **Manage Bank Account (管理銀行帳戶)** 頁面上，新增銀行帳戶或視需要修改銀行帳戶。

## 稅務資訊
<a name="ri-market-concepts-taxinfo"></a>

您販售預留執行個體的行為必須遵守交易式稅務的規範，例如營業稅或加值稅。建議您和您公司的稅務、法律、財務或會計部門確認，以判斷是否適用於交易式的稅務。您必須負責收集和將交易式的稅務傳送給適當的稅務主管機關。

做為賣方註冊程序的一部分，您必須在[賣方註冊入口網站](https://portal.aws.amazon.com/ec2/ri/seller_registration?action=taxInterview)中完成稅務面試。面試會收集您的稅務資訊，並填入 IRS W-9、W-8BEN，或 W-8BEN-E 表單。這份表單會用於判斷是否有任何必要的稅務報告義務。

您做為稅務面試一部分所輸入的稅務資訊可能會有所不同，取決於您是否是以個人或公司運作，以及您或您的公司是否為美國或非美國的個人或實體。當您填寫稅務面試時，請謹記下列幾點：
+ 提供的資訊 AWS，包括本主題中的資訊，並不構成稅務、法律或其他專業建議。若要了解 IRS 報告需求影響您企業的方式，或是您有其他問題，請聯絡您的稅務、法律或其他專業顧問。
+ 若要盡可能有效率的完成 IRS 報告需求，請回答所有問題並輸入所有面試中請求的資訊。
+ 檢查您的答案。避免拼字錯誤或輸入不正確的稅務識別號碼。這可能會導致無效的稅務表單。

根據您的稅務面試回應和 IRS 報告閾值，Amazon 可能會提出 1099-K 表單。Amazon 會將您 1099-K 表單的複本在您的稅務帳戶達到閾值層級年份的下一年，於 1 月 31 日或在 1 月 31 日前寄送給您。例如，若您的帳戶在 2018 年達到閾值，則您的 1099-K 表單會在 2019 年 1 月 31 日或之前寄送給您。

如需 IRS 需求和 1099-K 表單的詳細資訊，請參閱 IRS 網站上的 [1099-K 表單常見問題集](https://www.irs.gov/newsroom/form-1099-k-faqs-third-party-filers-of-form-1099-k)。

## 為您的 預留執行個體 定價
<a name="ri-market-concepts-pricing"></a>

設定預留執行個體的價格時，請考慮下列事項：
+ **預付價格** - 預付價格是您可以為要販售之預留執行個體指定的唯一價格。預付價格是買方購買每個預留執行個體時所需支付的一次性價格。

  由於預留執行個體的值會隨著時間而降低，預設情況下， AWS 可以設定價格，以逐月減少相等的增量。但是，您可以根據販售您保留的時間，設定不同的預付價格。例如，若您的預留執行個體具有九個月的剩餘期間，您可以指定客戶購買具有九個月剩餘期間的該預留執行個體時，您所能接受的價格。您可以為剩餘期間五個月設定另一個價格，以及為剩餘期間一個月設定另一個價格。

  預留執行個體 Marketplace 允許的最低價為 0.00 美元。
+ **限制** - 銷售預留執行個體的以下限制適用於 AWS 帳戶的*生命週期*。其並非年度限制，並且無法增加。
  + **您可以在預留執行個體賣出最多 50,000 美元**。
  + **您最多可以賣 5,000 個預留執行個體**
+ **無法修改** - 您無法直接修改清單。但是，您可以藉由先取消它，然後再使用新的參數建立另一個清單，來變更您的清單。
+ **可以取消** – 只要清單處於 `active` 狀態，即可隨時取消您的清單。若清單已相符或正在為銷售進行處理，您便無法取消清單。若您清單中的某些執行個體已相符且您取消了清單，則只有剩餘未相符的執行個體會從清單中移除。

## 列出您的 預留執行個體
<a name="ri-market-selling-listing"></a>

身為已註冊賣方，您可以選擇銷售一或多個預留執行個體。您可以選擇一次出售全部或部分出售。此外，您可以使用任何執行個體類型、平台和範圍組態，列出預留執行個體。

主控台會決定建議價格。它會檢查符合 預留執行個體 的優惠，並匹配最低價格的產品。否則會根據 預留執行個體 剩餘時間的成本來計算建議價格。如果計算的值低於 1.01 USD，則建議價格為 1.01 USD。

若您取消您的清單，但該清單中的一部分已賣出，則取消對已經賣出的部分不會有任何效果。只有清單中尚未賣出的部分才會無法在預留執行個體 Marketplace 中取得。

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

**列出預留執行個體 Marketplace 中的預留執行個體**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**。

1. 選取要列出的預留執行個體，然後選取 **Actions (動作)**、**Sell 預留執行個體 (販售 預留執行個體)**。

1. 在 **Configure Your 預留執行個體 Listing (設定您的預留執行個體清單)** 頁面上，在相關資料行中設定要販售的執行個體數目，以及剩餘期間的預付價格。選取 **Months Remaining (剩餘月數)** 資料行，查看您保留的值隨剩餘期間變化的方式。

1. 若您是進階使用者希望自訂定價，您可以為後續月份輸入不同的值。若要返回預設的線性價格下降，請選擇 **Reset (重設)**。

1. 當您完成設定清單後，請選擇 **Continue (繼續)**。

1. 在 **Confirm Your 預留執行個體 Listing (確認您的預留執行個體清單)** 頁面上確認您清單的詳細資訊，若您已感到滿意，請選擇 **List Reserved Instance (列出預留執行個體)**。

**在 Amazon EC2 主控台中檢視您的清單**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**。

1. 選取您已列出的預留執行個體，並選取頁面底部附近的 **My Listings (我的清單)** 索引標籤。

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

**管理預留執行個體 Marketplace 中的預留執行個體**

1. 透過使用 [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 命令來取得您預留執行個體的清單。記下您要列出的預留執行個體 ID。

1. 使用 [create-reserved-instances-listing](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-reserved-instances-listing.html) 命令。您必須指定預留執行個體的 ID、執行個體數目，以及定價排程。

1. 若要檢視您的清單，請使用 [describe-reserved-instances-listings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-listings.html) 命令。

1. 若要取消您的清單，請使用 [cancel-reserved-instances-listing](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-reserved-instances-listing.html) 命令。

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

**管理預留執行個體 Marketplace 中的預留執行個體**

1. 使用 [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) cmdlet，取得預留執行個體的清單。記下您要列出的預留執行個體 ID。

1. 使用 [New-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ReservedInstancesListing.html) cmdlet。您必須指定預留執行個體的 ID、執行個體數目，以及定價排程。

1. 要檢視您的清單，請使用 [Get-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesListing.html) cmdlet。

1. 要取消您的清單，請使用 [Stop-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2ReservedInstancesListing.html) cmdlet。

------

## 預留執行個體清單狀態
<a name="ri-listing-states"></a>

預留執行個體頁面的 **My Listings (我的清單)** 標籤上的 **Listing State (清單狀態)** 會顯示您清單目前的狀態：

**Listing State** (清單狀態) 顯示的資訊與預留執行個體市場中的清單狀態有關。它與 **Reserved Instances (預留執行個體)** 中 **State (狀態)** 資料行顯示的狀態資訊不同。此 **State (狀態)** 資訊與您的保留有關。
+ **active** (作用中) – 清單可供購買。
+ **canceled** (已取消) - 清單已取消，無法在預留執行個體市場中購買。
+ **closed** (已關閉) – 預留執行個體並未列出。預留執行個體可能會因為清單的銷售已完成而為 `closed` 狀態。

## 清單的生命週期
<a name="ri-market-concepts-sold-partial"></a>

當您清單中的所有執行個體都已符合並售出，**My Listings (我的清單)** 標籤便會顯示 **Total instance count (總執行個體計數)** 符合 **Sold (已售出)** 下方列出的計數。此外，您的清單中將不會有任何剩餘 **Available (可用)** 的執行個體，且其 **Status (狀態)** 為 `closed`。

當您的清單只有一部分售出時， 會 AWS 淘汰清單中的預留執行個體，並建立與計數中剩餘之預留執行個體相等的預留執行個體數目。因此，清單 ID 和其代表的清單 (目前具有較少銷售中的保留) 仍會處於作用中。

任何之後此清單內發生的預留執行個體銷售都會使用相同的方式處理。當清單中所有預留執行個體售出時， 會將清單 AWS 標記為 `closed`。

例如，您建立 *預留執行個體 listing ID 5ec28771-05ff-4b9b-aa31-9e57dexample*，其清單計數為 5。

**Reserved Instance (預留執行個體)** 主控台頁面中的 **My Listings (我的清單)** 標籤會以此方式顯示清單：

*Reserved Instance listing ID 5ec28771-05ff-4b9b-aa31-9e57dexample*
+ 總保留計數 = 5
+ 售出 = 0
+ 可用 = 5
+ 狀態 = 作用中

 買方購買兩個保留，使剩餘可供銷售的保留計數為 3。由於此部分銷售， AWS 會建立計數為 3 的新保留，以代表尚待銷售的剩餘保留。

這是在 **My Listings (我的清單)** 標籤中您清單的外觀：

*Reserved Instance listing ID 5ec28771-05ff-4b9b-aa31-9e57dexample*
+ 總保留計數 = 5
+ 售出 = 2
+ 可用 = 3
+ 狀態 = 作用中

若您取消您的清單，但該清單中的一部分已賣出，則取消對已經賣出的部分不會有任何效果。只有清單中尚未賣出的部分才會無法在預留執行個體 Marketplace 中取得。

## 在您的預留執行個體售出後
<a name="ri-market-concepts-sold"></a>

當您的預留執行個體售出時， 會 AWS 傳送電子郵件通知給您。每天若有任何類型的活動，您都會接收到一封電子郵件通知，擷取一天內所有的活動。當您建立或銷售清單，或 AWS 將資金傳送到您的帳戶時，活動可以包含 。

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

**追蹤預留執行個體清單的狀態**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**。

1. **我的清單**索引標籤上，尋找**清單狀態**值。該索引標籤同時也包含期間、清單價格，清單中有多少可用、擱置中、已售出和已取消執行個體解析的相關資訊。

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

**追蹤預留執行個體清單的狀態**  
可以搭配適當的篩選條件，使用 [describe-reserved-instances-listings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-listings.html) 命令來取得您清單的相關資訊。

```
aws ec2 describe-reserved-instances-listings
```

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

**追蹤預留執行個體清單的狀態**  
使用 [Get-EC2ReservedInstancesListing](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesListing.html) cmdlet。

```
Get-EC2ReservedInstancesListing
```

------

## 收取款項
<a name="ri-market-sold-gettingpaid"></a>

一旦 AWS 收到買方的資金，就會傳送訊息給已售出預留執行個體的已註冊擁有者帳戶電子郵件。

AWS 會將自動清算中心 (ACH) 電匯傳送到您指定的銀行帳戶。通常，這種匯款會在賣出您預留執行個體的一到三天後發生。每天會進行一次匯款。您將收到一封電子郵件，含有釋出基金後的收款報告。請記住，在 收到銀行的驗證之前，您無法 AWS 收到支出。這可能需要兩週的時間。

您賣出的預留執行個體會繼續在您描述您的預留執行個體時出現。

您透過直接電匯至銀行帳戶的方式收到預留執行個體的現金支出。 AWS 收取您在預留執行個體 Marketplace 中銷售的每個預留執行個體總預付價格的 12% 的服務費用。

## 與買方共享的資訊
<a name="ri-market-seller-disclosure"></a>

當您在預留執行個體 Marketplace 中銷售 時， 會根據美國法規，在買方的陳述式上 AWS 共用您公司的法定名稱。此外，若買方因為需要聯絡您取得發票或其他與稅務相關的原因而呼叫 支援 ， AWS 可能會需要向買方提供您的電子郵件地址，以便買方能夠直接聯絡您。

基於相似的原因，也會在賣方的收款報告中提供買方的郵遞區號和國家資訊。做為賣方，您可能需要此資訊伴隨任何您匯款給政府的必要交易稅 (例如營業稅和加值稅)。

AWS 無法提供稅務建議，但如果您的稅務專家判斷您需要特定的其他資訊，[請聯絡 支援](https://aws.amazon.com/contact-us/)。

# 修改 預留執行個體
<a name="ri-modifying"></a>

當您的需求變更時，您可以修改您的標準或可轉換預留執行個體，並繼續獲得計費利益。您可以修改預留執行個體的屬性，例如可用區域、執行個體大小 (位於相同執行個體系列和層代內) 和範圍。

**注意**  
您也可以將可轉換預留執行個體與另一個具有不同組態的可轉換預留執行個體交換。如需詳細資訊，請參閱[交換 可轉換預留執行個體](ri-convertible-exchange.md)。

您也可以修改所有預留執行個體或子集。您可以將原始預留執行個體分隔為兩個或多個新的預留執行個體。例如，若您在 `us-east-1a` 中有 10 個執行個體的保留，並決定將 5 個執行個體移動到 `us-east-1b`，修改請求結果會導致兩個新的保留：其中一個保留針對位於 `us-east-1a` 中的 5 個執行個體，另外一個保留則針對位於 `us-east-1b` 的 5 個執行個體。

您也可以將兩個或多個預留執行個體*合併*為單一預留執行個體。例如，若您有四個 `t2.small` 預留執行個體，每一個都具有一個執行個體，您可以合併它們來建立一個 `t2.large` 預留執行個體。如需詳細資訊，請參閱[支援執行個體大小的修改](#ri-modification-instancemove)。

在修改後，預留執行個體的利益僅會套用到符合新參數的執行個體。例如，若您變更保留的可用區域，容量保留和定價利益會自動套用到新可用區域中的執行個體用量。不再符合新參數的執行個體會以隨需費率計費，除非您的帳戶有其他適用的保留。

若您的修改請求成功：
+ 修改後的保留會立即生效，定價利益會在修改請求的小時內開始套用到新的執行個體。例如，若您在下午 9:15 成功修改您的保留，定價利益會在下午 9:00 傳送到您新的執行個體。您可以藉由使用 [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 命令來取得修改後預留執行個體的生效日期。
+ 原始的保留會淘汰。其結束日期便是新保留的開始日期，新保留的結束日期則與原始預留執行個體的結束日期相同。若您修改具有 16 個月剩餘期間的三年保留，其結果產生的修改後保留便是 16 個月的保留，其結束日期與原先的保留相同。
+ 修改後的保留列出的固定價格為 0 USD，而非原始保留的固定價格。
+ 修改後保留的固定價格不會影響套用到您帳戶的折扣定價方案計算，因為該計算是以原始保留的固定價格為基礎。

若您的修改請求失敗，您的預留執行個體將會維持其原始的組態，並可立即進行另一次的修改請求。

修改無須支付任何費用，您不會收到任何新的帳單或發票。

您可以無限次數的修改您的保留，但在您提交後，您便無法變更或取消擱置中的修改請求。在修改成功完成後，您可以提交另一個修改請求，轉返任何您進行的變更 (若需要的話)。

**Topics**
+ [修改的要求和限制](#ri-modification-limits)
+ [支援執行個體大小的修改](#ri-modification-instancemove)
+ [提交修改請求](#ri-modification-process)
+ [故障診斷修改請求](#ri-modification-process-messages)

## 修改的要求和限制
<a name="ri-modification-limits"></a>

您可以修改這些屬性如下。


| 可修改屬性 | 支援平台 | 限制及考量 | 
| --- | --- | --- | 
|  變更相同區域內的**可用區域**  |  Linux 與 Windows  | - | 
|  將**範圍**從「可用區域」變更為「區域」，反之亦然  |  Linux 與 Windows  |  區域性預留執行個體的範圍限定為可用區域，並在該可用區域中預留容量。若您將範圍從可用區域變更為區域 (換言之，從區域到地區)，您將會喪失容量保留利益。 地區性預留執行個體的範圍限定為區域。您的預留執行個體折扣可套用到該區域內任何可用區域中正在執行的執行個體。此外，預留執行個體折扣適用於選定執行個體系列中所有大小的執行個體用量。若您將範圍從區域變更為可用區域 (換言之，從地區到區域)，您將會喪失可用區域彈性和執行個體大小彈性 (若適用)。 如需詳細資訊，請參閱[預留執行個體折扣的套用方式](apply_ri.md)。 | 
|  在相同執行個體系列和層代內變更**執行個體大小**  |  僅限 Linux/UNIX 執行個體大小的彈性不適用於其他平台上的預留執行個體，這些平台包括 Linux with SQL Server Standard、Linux with SQL Server Web、Linux with SQL Server Enterprise、Red Hat Enterprise Linux、SUSE Linux、Windows、Windows with SQL Standard、Windows with SQL Server Enterprise 和 Windows with SQL Server Web。  |  保留必須使用預設租用。某些執行個體系列不受支援，因為沒有其他可用的大小。如需詳細資訊，請參閱[支援執行個體大小的修改](#ri-modification-instancemove)  | 

**要求**

Amazon EC2 會在有足夠容量接受您的新組態 (若適用)，以及滿足下列條件時處理您的修改請求：
+ 預留執行個體在您購買之前或當時無法修改
+ 預留執行個體必須為作用中
+ 不能有擱置的修改請求
+ 預留執行個體 Marketplace 中未列出預留執行個體。
+ 原始保留的執行個體大小使用量和新組態必須相符。如需詳細資訊，請參閱[支援執行個體大小的修改](#ri-modification-instancemove)。
+ 原始 預留執行個體 全部為標準版 預留執行個體 或全部為 可轉換預留執行個體，而非每個類型各有一些
+ 原始 預留執行個體 如果是標準版 預留執行個體，則必須在同一小時內過期
+ 如需修改執行個體大小，預留執行個體必須支援執行個體大小彈性。如需不支援執行個體大小彈性的預留執行個體清單，請參閱 [執行個體大小彈性](apply_ri.md#ri-instance-size-flexibility)。

## 支援執行個體大小的修改
<a name="ri-modification-instancemove"></a>

若符合下列要求，您可以修改預留執行個體的執行個體大小。

**要求**
+ 此平台為 Linux/UNIX。
+ 您必須選取相同[執行個體系列](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) (用字母表示，例如 T) 和[層代](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) (用數字表示，例如 2) 中的其它執行個體大小。

  例如，您可以將預留執行個體從 `t2.small` 修改為 `t2.large`，因為它們都位於相同的 T2 系列和層代中。但是您無法將預留執行個體從 T2 修改為 M2，或從 T2 修改為 T3，因為在這兩個範例中，目標執行個體系列和層代與原始預留執行個體不同。
+ 只有在支援執行個體大小彈性時，您才能修改預留執行個體的執行個體大小。如需不支援執行個體大小彈性的預留執行個體清單，請參閱 [執行個體大小彈性](apply_ri.md#ri-instance-size-flexibility)。
+ 您無法修改 `t1.micro` 執行個體的預留執行個體大小，因為 `t1.micro` 只有一個大小。
+ 原始和新的 預留執行個體 必須具有相同的執行個體大小使用量。

**Topics**
+ [執行個體大小使用量](#ri-modification-instance-size-footprint)
+ [裸機執行個體的正規化因素](#ri-normalization-factor-bare-metal-2)

### 執行個體大小使用量
<a name="ri-modification-instance-size-footprint"></a>

每一個預留執行個體都具有*執行個體大小使用量*，由執行個體大小的正規化因素和保留中的執行個體數目決定。當您修改 預留執行個體 中的執行個體大小時，新組態的使用量必須符合原始組態的使用量，否則不會處理修改請求。

若要計算預留執行個體的執行個體大小使用量，請將執行個體的數目乘上正規化因素。在 Amazon EC2 主控台中，正規化因素以單位進行測量。下表說明執行個體系列中執行個體大小的正規化因素。例如，`t2.medium` 的正規化因素為 2，因此四個 `t2.medium` 執行個體的保留具有 8 個單位的使用量。


| 執行個體大小 | 正規化因素 | 
| --- | --- | 
| nano | 0.25 | 
| micro | 0.5 | 
| small | 1 | 
| medium | 2 | 
| large | 4 | 
| xlarge | 8 | 
| 2xlarge | 16 | 
| 3xlarge | 24 | 
| 4xlarge | 32 | 
| 6xlarge | 48 | 
| 8xlarge | 64 | 
| 9xlarge | 72 | 
| 10xlarge | 80 | 
| 12xlarge | 96 | 
| 16xlarge | 128 | 
| 18xlarge | 144 | 
| 24xlarge | 192 | 
| 32xlarge | 256 | 
| 48xlarge | 384 | 
| 56xlarge | 448 | 
| 112xlarge | 896 | 

您可以將您的保留在相同執行個體系列中配置到不同的執行個體大小，只要您保留的執行個體大小使用量維持不變。例如，您可以將一個 `t2.large` (1 @ 4 個單位) 執行個體的保留分割為四個 `t2.small` (4 @ 1 個單位) 執行個體。同樣地，您可以將四個 `t2.small` 執行個體的保留合併為一個 `t2.large` 執行個體。不過，您無法將兩個 `t2.small` 執行個體的保留變更為一個 `t2.large` 執行個體，因為新保留的使用量 (4 個單位) 大於原始保留的使用量 (2 個單位)。

在下列範例中，您有兩個 `t2.micro` 執行個體的保留 (1 個單位)，以及一個 `t2.small` 執行個體的保留 (1 個單位)。如果您將這兩個保留合併為具有一個 `t2.medium` 執行個體 (2 個單位) 的單一保留，新保留的使用量等於合併保留的使用量。

![\[修改預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-modify-merge.png)


您也可以修改保留，將其分割為兩個或多個保留。在下列範例中，您有一個具有 `t2.medium` 執行個體 (2 個單位) 的保留。您可以將保留分割為兩個保留，一個具有兩個 `t2.nano` 執行個體 (5 個單位)，另一個具有三個 `t2.micro` 執行個體 (1.5 個單位)。

![\[修改預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-modify-divide.png)


### 裸機執行個體的正規化因素
<a name="ri-normalization-factor-bare-metal-2"></a>

您可以使用相同執行個體系列內的其他大小，修改具有 `metal` 執行個體的保留。同樣地，您可以使用相同執行個體系列內的 `metal` 大小，修改具有裸機執行個體之外的執行個體的保留。一般而言，裸機執行個體的大小與相同執行個體系列中的最大可用執行個體大小相同。例如，`i3.metal` 執行個體的大小與 `i3.16xlarge` 執行個體相同，因此有相同的正規化因素。

下表說明具有裸機執行個體之執行個體系列中，裸機執行個體大小的正規化因素。與其他執行個體大小不同的是，`metal` 執行個體的正規化因素取決於執行個體系列。


| 執行個體大小 | 正規化因素 | 
| --- | --- | 
| a1.metal | 32 | 
|  m5zn.metal \$1 x2iezn.metal z1d.metal  | 96 | 
|  c6g.metal \$1 c6gd.metal \$1 i3.metal \$1 m6g.metal \$1 m6gd.metal \$1 r6g.metal \$1 r6gd.metal \$1 x2gd.metal  | 128 | 
| c5n.metal | 144 | 
|  c5.metal \$1 c5d.metal \$1 i3en.metal \$1 m5.metal \$1 m5d.metal \$1 m5dn.metal \$1 m5n.metal \$1 r5.metal \$1 r5b.metal \$1 r5d.metal \$1 r5dn.metal \$1 r5n.metal  | 192 | 
|  c6i.metal \$1 c6id.metal \$1 m6i.metal \$1 m6id.metal \$1 r6d.metal \$1 r6id.metal  | 256 | 
|  u-18tb1.metal \$1 u-24tb1.metal  | 448 | 
|  u-6tb1.metal \$1 u-9tb1.metal \$1 u-12tb1.metal  | 896 | 

例如，`i3.metal` 執行個體的正規化因素為 128。如果您購買 `i3.metal` 預設租用 Amazon Linux/Unix 預留執行個體，您可以將保留分割如下：
+ `i3.16xlarge` 的大小與 `i3.metal` 執行個體相同，因此正規化因素為 128 (128/1)。一個 `i3.metal` 執行個體的保留可以修改為一個 `i3.16xlarge` 執行個體。
+ `i3.8xlarge` 的大小是 `i3.metal` 執行個體的一半，因此正規化因素為 64 (128/2)。一個 `i3.metal` 執行個體的保留可以分割成兩個 `i3.8xlarge` 執行個體。
+ `i3.4xlarge` 的大小是 `i3.metal` 執行個體的四分之一，因此正規化因素為 32 (128/4)。一個 `i3.metal` 執行個體的保留可以分割成四個 `i3.4xlarge` 執行個體。

## 提交修改請求
<a name="ri-modification-process"></a>

在修改您的預留執行個體前，請確認您已詳閱適用的[限制](#ri-modification-limits)。在修改執行個體大小之前，請先計算您希望修改之原始預留的總[執行個體大小使用量](#ri-modification-instancemove)，並確保其符合您的新組態的總執行個體大小使用量。

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

**修改您的預留執行個體**

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

1. 在 **Reserved Instances (預留執行個體)** 頁面上，選取一或多個要修改的預留執行個體，然後選取 **Actions (動作)**，**Modify Reserved Instances (修改預留執行個體)**。

   若您的預留執行個體並未處於作用中的狀態或無法修改，**Modify 預留執行個體 (修改預留執行個體)** 便會停用。

1. 修改表格的第一個項目會顯示選取 預留執行個體 的屬性，以及至少一個位於下方的目標組態。**Units (單位)** 資料行會顯示總執行個體大小使用量。針對每個要新增的新組態，選擇 **Add (新增)**。視需要修改每個組態的屬性。
   + **Scope (範圍)**：選擇組態是否套用到可用區域或是整個區域。
   + **Availability Zone (可用區域)**：選擇必要的可用區域。不適用於區域預留執行個體。
   + **執行個體類型**：選取必要的執行個體類型。結合的組態必須等於原始組態的執行個體大小使用量。
   + **Count (計數)**：指定執行個體的數目。若要將 預留執行個體 分割為多個組態，請減少計數，選擇 **Add (新增)**，然後指定額外組態的計數。例如，如果您有一個計數為 10 的組態，您可以將其計數變更為 6，然後新增計數為 4 的組態。此程序會在新的 預留執行個體 啟動之後重試原始的 預留執行個體。

1. 選擇 **Continue (繼續)**。

1. 若要在完成指定您的目標組態後確認您的修改選擇，請選擇 **Submit modifications** (提交修改)。

1. 您可以透過查看預留執行個體畫面中的 **State (狀態)** 資料行，判斷您修改請求的狀態。以下為可能的狀態。
   + **作用中* (待定修改)*** — 原始預留執行個體的轉移狀態
   + **已淘汰* (待定修改)*** – 建立新的預留執行個體時，原始預留執行個體的轉移狀態
   + **淘汰** – 已成功修改並取代預留執行個體
   + **作用中** – 下列其中一項：
     + 已成功從修改請求建立新的預留執行個體
     + 修改請求失敗後的原始預留執行個體

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

**修改您的預留執行個體**  
使用 [modify-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-reserved-instances.html) 命令。您可在 JSON 檔案中提供組態詳細資訊。

```
aws ec2 modify-reserved-instances \
    --reserved-instances-ids b847fa93-e282-4f55-b59a-1342f5bd7c02 \
    --target-configurations file://configuration.json
```

**取得修改請求的狀態**  
使用 [describe-reserved-instances-modifications](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-modifications.html) 命令。狀態為 `processing`、`fulfilled` 或 `failed`。

```
aws ec2 describe-reserved-instances-modifications \
    --reserved-instances-modification-ids rimod-d3ed4335-b1d3-4de6-ab31-0f13aaf46687 \
    --query ReservedInstancesModifications[].Status
```

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

**修改您的預留執行個體**  
使用 [Edit-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ReservedInstance.html) cmdlet。您可在類型為 `Amazon.EC2.Model.ReservedInstancesConfiguration` 的物件中提供組態詳細資訊。

```
Edit-EC2ReservedInstance `
    -ReservedInstancesId b847fa93-e282-4f55-b59a-1342f5bd7c02 `
    -TargetConfiguration $configuration
```

**取得修改請求的狀態**  
使用 [Get-EC2ReservedInstancesModification](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesModification.html) cmdlet。狀態為 `processing`、`fulfilled` 或 `failed`。

```
Get-EC2ReservedInstancesModification `
    -ReservedInstancesModificationId rimod-d3ed4335-b1d3-4de6-ab31-0f13aaf46687 | `
    Select Status
```

------

## 故障診斷修改請求
<a name="ri-modification-process-messages"></a>

若您請求的目標組態設定為獨特，您會收到訊息，告知您請求正在處理中。此時，Amazon EC2 僅判斷您修改請求的參數為有效。您的修改請求仍然可能會在處理過程中因為不可用的容量而失敗。

在某些情況下，您可能會收到訊息，表示修改請求未完成或失敗，而非確認。請使用此類訊息中的資訊，做為重新提交另一個修改請求的出發點。確認您已在提交請求前詳閱適用的[限制](#ri-modification-limits)。

**並非所有選取的預留執行個體都可進行修改處理**  
Amazon EC2 會識別並列出無法修改的預留執行個體。若您收到如這類的訊息，請前往 Amazon EC2 主控台中的 **Reserved Instances (預留執行個體)** 頁面，檢查預留執行個體的資訊。

**處理您的修改請求時發生錯誤**  
您提交一或多個預留執行個體進行修改，但您的請求全部都無法處理。取決於您要修改的保留數目，您可能會收到不同版本的訊息。

Amazon EC2 會顯示無法處理您請求的原因。例如，您可能為一或多個您要修改的預留執行個體子集指定了相同的目標組態 (可用區域和平台的組合)。請嘗試再次提交修改請求，但請確認保留的執行個體詳細資訊確實符合，且每個要修改子集的目標組態都是唯一的。

# 交換 可轉換預留執行個體
<a name="ri-convertible-exchange"></a>

您可以將一或多個可轉換預留執行個體與另一個具有不同組態的可轉換預留執行個體交換，包括執行個體系列、作業系統和租用。執行交換的次數沒有限制，只要新可轉換預留執行個體的值等於或高於您要交換的可轉換預留執行個體即可。

當您交換您的可轉換預留執行個體時，您目前保留中的執行個體數目會和涵蓋新可轉換預留執行個體組態相同或更高值的執行個體數目交換。Amazon EC2 會計算您在交換之後能接收到的預留執行個體數目。

您無法交換標準版 預留執行個體，但您可以修改它們。如需詳細資訊，請參閱 [修改 預留執行個體](ri-modifying.md)。

**Topics**
+ [交換可轉換預留執行個體的需求](#riconvertible-exchange-limits)
+ [計算 可轉換預留執行個體 交換](#riconvertible-exchange-cost)
+ [合併 可轉換預留執行個體](#ri-merge-convertible)
+ [交換 可轉換預留執行個體 的一部分](#ri-split-convertible)
+ [提交交換請求](#ri-exchange-process)

## 交換可轉換預留執行個體的需求
<a name="riconvertible-exchange-limits"></a>

若符合下列條件，Amazon EC2 便會處理您的交換請求。您的可轉換預留執行個體必須是：
+ 作用中
+ 並未擱置先前的修改請求
+ 在到期前至少還剩 24 小時

適用的規定如下：
+ 可轉換預留執行個體必須與另一個目前由 AWS提供的可轉換預留執行個體交換。
+ 可轉換預留執行個體與特定區域相關聯，該區域在保留的期間內固定不變。您無法和位於不同區域的可轉換預留執行個體交換可轉換預留執行個體。
+ 若要交換區域可轉換預留執行個體， AWS 必須為區域中的新執行個體類型有足夠的容量。
+ 您只能一次為一個可轉換預留執行個體交換一或多個可轉換預留執行個體。
+ 若要交換可轉換預留執行個體的一部分，您可以修改它，將它分成兩個或多個保留，然後為新的可轉換預留執行個體交換一或多個保留。如需詳細資訊，請參閱[交換 可轉換預留執行個體 的一部分](#ri-split-convertible)。如需修改預留執行個體的詳細資訊，請參閱[修改 預留執行個體](ri-modifying.md)。
+ 所有預付可轉換預留執行個體都可和部分預付可轉換預留執行個體交換，反之亦然。
**注意**  
如果交換所需的總預付款 （校正成本） 低於 0.00 美元， AWS 則 會自動在可轉換預留執行個體中提供一定數量的執行個體，以確保校正成本為 0.00 美元或以上。
**注意**  
如果新的可轉換預留執行個體的總值 （預付價格 \$1 每小時價格 \$1 剩餘時數） 小於交換的可轉換預留執行個體的總值， AWS 會自動在可轉換預留執行個體中為您提供執行個體的數量，以確保總值等於或高於交換的可轉換預留執行個體。
+ 若要從更佳的定價獲得利益，您可以將無預付款可轉換預留執行個體交換為全預付款或部分預付款可轉換預留執行個體。
+ 您無法以全預付款及部分預付款可轉換預留執行個體交換無預付款可轉換預留執行個體。
+ 只有在新可轉換預留執行個體的每小時價格等於或高於交換可轉換預留執行個體的每小時價格時，您才能以無預付款可轉換預留執行個體交換另一個無預付款可轉換預留執行個體。
**注意**  
若新可轉換預留執行個體的總值 (每小時價格 \$1 剩餘小時數) 低於交換可轉換預留執行個體的總值， AWS 會自動在可轉換預留執行個體中給予您執行個體的數量，確保總值等於或高於交換可轉換預留執行個體的值。
+ 若您交換多個具有不同過期日期的可轉換預留執行個體，新可轉換預留執行個體的過期日期將會是距離現在最遠的日期。
+ 若您交換單一可轉換預留執行個體，它必須與新可轉換預留執行個體具有相同的期間 (1 年或 3 年)。若您合併多個具有不同期間長度的可轉換預留執行個體，新的可轉換預留執行個體將具有 3 年的期間。如需詳細資訊，請參閱[合併 可轉換預留執行個體](#ri-merge-convertible)。
+ Amazon EC2 交換可轉換預留執行個體時，會淘汰相關的預留，並將結束日期轉移到新的預留。交換後，Amazon EC2 會將舊預留的結束日期和新預留的開始日期設定為等於交換日期。例如，若您交換具有 16 個月剩餘期間的三年預留，新預留是 16 個月預留，其結束日期與您交換的可轉換預留執行個體的預留相同。

## 計算 可轉換預留執行個體 交換
<a name="riconvertible-exchange-cost"></a>

交換可轉換預留執行個體是免費的。但是，您可能需要支付校正成本，即您擁有的原始可轉換預留執行個體與您從交換中獲得新可轉換預留執行個體之間的差異，依比例分配的預付成本。

每個可轉換預留執行個體都具有清單值。此清單值會和您希望取得的可轉換預留執行個體清單值進行比較，以判斷您可以從交換中接收到多少執行個體保留。

例如：您有 1 個清單值為 35 USD 的可轉換預留執行個體，希望和清單值為 10 USD 的執行個體類型交換。

```
$35/$10 = 3.5
```

您可以使用三個 10 USD 的可轉換預留執行個體交換您的可轉換預留執行個體。因為您無法購買半個保留，因此您必須購買額外的可轉換預留執行個體才能涵蓋剩餘的部分：

```
3.5 = 3 whole Convertible Reserved Instances + 1 additional Convertible Reserved Instance
```

第四個可轉換預留執行個體具有和其他三個可轉換預留執行個體相同的結束日期。若您要交換部分或全預付可轉換預留執行個體，您必須為第四個保留支付校正成本。若您 可轉換預留執行個體 剩餘的預付成本為 500 USD，則依比例分配，新保留通常會需要花費 600 USD。您將需要支付 100 USD 的費用。

```
$600 prorated upfront cost of new reservations - $500 remaining upfront cost of old reservations = $100 difference
```

## 合併 可轉換預留執行個體
<a name="ri-merge-convertible"></a>

若您合併兩個或多個可轉換預留執行個體，新可轉換預留執行個體的期間必須和舊可轉換預留執行個體相同，或為舊可轉換預留執行個體中最高的值。新可轉換預留執行個體的過期日期將會是距離現在最遠的日期。

例如，您的帳戶中有下列可轉換預留執行個體：


| Reserved Instance ID | 術語 | 過期日期 | 
| --- | --- | --- | 
| aaaa1111 | 1 年 | 2018-12-31 | 
| bbbb2222 | 1 年 | 2018-07-31 | 
| cccc3333 | 3 年 | 2018-06-30 | 
| dddd4444 | 3 年 | 2019-12-31 | 
+ 您可以合併 `aaaa1111` 和 `bbbb2222`，並以它們交換 1 年的可轉換預留執行個體。您無法以它們交換 3 年的可轉換預留執行個體。新可轉換預留執行個體的過期日期為 2018-12-31。
+ 您可以合併 `bbbb2222` 和 `cccc3333`，並以它們交換 3 年的可轉換預留執行個體。您無法以它們交換 1 年的可轉換預留執行個體。新可轉換預留執行個體的過期日期為 2018-07-31。
+ 您可以合併 `cccc3333` 和 `dddd4444`，並以它們交換 3 年的可轉換預留執行個體。您無法以它們交換 1 年的可轉換預留執行個體。新可轉換預留執行個體的過期日期為 2019-12-31。

## 交換 可轉換預留執行個體 的一部分
<a name="ri-split-convertible"></a>

您可以使用修改程序將您的可轉換預留執行個體分割為較小的保留，然後以一或多個新保留交換新的可轉換預留執行個體。下列範例示範執行此作業的方式。

**Example 範例：具有多個執行個體的可轉換預留執行個體**  
在此範例中，您有一個保留中有四個執行個體的 `t2.micro` 可轉換預留執行個體。若要以兩個 `t2.micro` 執行個體交換一個 `m4.xlarge` 執行個體：  

1. 修改 `t2.micro` 可轉換預留執行個體，方式為將其分割為兩個 `t2.micro` 可轉換預留執行個體，各自具有兩個執行個體。

1. 以其中一個新的 `t2.micro` 可轉換預留執行個體交換 `m4.xlarge` 可轉換預留執行個體。

![\[修改及交換預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-split-cri-multiple.png)


**Example 範例：具有單一執行個體的可轉換預留執行個體**  
在此範例中，您有一個 `t2.large` 可轉換預留執行個體。若要將其變更為較小的 `t2.medium` 執行個體和 `m3.medium` 執行個體：  

1. 修改 `t2.large` 可轉換預留執行個體，方式為將其分割為兩個 `t2.medium` 可轉換預留執行個體。執行個體大小使用量與兩個 `t2.large` 執行個體相同的單一 `t2.medium` 執行個體。

1. 以其中一個新的 `t2.medium` 可轉換預留執行個體交換 `m3.medium` 可轉換預留執行個體。

![\[修改及交換預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-split-cri-single.png)

如需詳細資訊，請參閱[支援執行個體大小的修改](ri-modifying.md#ri-modification-instancemove)及[提交交換請求](#ri-exchange-process)。

## 提交交換請求
<a name="ri-exchange-process"></a>

您可以交換可轉換預留執行個體。交換的預留執行個體已淘汰。

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

**交換可轉換預留執行個體**

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

1. 選取 **Reserved Instances (預留執行個體)**、選取要交換的可轉換預留執行個體，然後選取 **Actions (動作)**，**Exchange 預留執行個體 (交換預留執行個體)**。

1. 選取所需組態的屬性，然後選取 **Find offering** (尋找優惠)。

1. 選取新的 可轉換預留執行個體。在畫面底部，您可以檢視兌換所收到的 預留執行個體 數量，以及任何額外費用。

1. 當您選取符合您需求的 可轉換預留執行個體 時，請選取 **Review** (檢閱)。

1. 選擇 **Exchange** (交換)，然後選擇 **Close** (關閉)。

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

**交換可轉換預留執行個體**

1. 使用 [describe-reserved-instances-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-offerings.html) 命令，尋找符合需求的新可轉換預留執行個體。

1. 使用 [get-reserved-instances-exchange-quote](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-reserved-instances-exchange-quote.html) 命令，取得交換的報價。這包含您可以從交換中取得的預留執行個體數目，以及交換的校正成本：

1. 使用 [accept-reserved-instances-exchange-quote](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-reserved-instances-exchange-quote.html) 命令，以執行交換。

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

**交換可轉換預留執行個體**

1. 使用 [Get-EC2ReservedInstancesOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesOffering.html) cmdlet，尋找符合您需求的新可轉換預留執行個體。

1. 使用 [GetEC2-ReservedInstancesExchangeQuote](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesExchangeQuote.html) cmdlet，取得交換的報價。這包含您可以從交換中取得的預留執行個體數目，以及交換的校正成本：

1. 使用 [Approve-EC2ReservedInstancesExchangeQuote](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2ReservedInstancesExchangeQuote.html) cmdlet，以執行交換

------

# 預留執行個體配額
<a name="ri-limits"></a>

您可以每月購買新的預留執行個體。您每月可購買的新預留執行個體數量取決於您的每月配額，如下所示：


****  

| 配額說明 | 預設配額 | 
| --- | --- | 
|  新的[區域](apply_ri.md#apply-regional-ri)預留執行個體  | 每月每區域 20 個 | 
|  新的[地區](apply_ri.md#apply-zonal-ri)預留執行個體  | 每月每可用區域 20 個 | 

例如，在具有 3 個可用區域的區域中，預設配額為每月 80 個新的預留執行個體 (計算方式如下)：
+ 該區域的 20 個區域預留執行個體
+ 加上 60 個地區預留執行個體 (三個可用區域各 20 個)

`running` 狀態中的執行個體會計入您的配額。處於 `pending`、`stopping`、`stopped` 和 `hibernated` 狀態的執行個體不會計入您的配額。

## 檢視您已購買的預留執行個體數
<a name="view-number-of-purchased-reserved-instances"></a>

您購買的預留執行個體數量由 **Instance count** (執行個體計數) 欄位 (主控台) 或 `InstanceCount` 參數 (AWS CLI) 來指示。當您購買新的預留執行個體時，會根據執行個體總數來測量配額。例如，如果您購買執行個體數量為 10 的單一預留執行個體組態，則該購買所佔配額將為 10，而非 1。

可以使用 Amazon EC2 或 AWS CLI來檢視您已購買了多少個預留執行個體。

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

**若要檢視您已購買的預留執行個體數**

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

1. 在導覽窗格中，選擇 **Reserved Instances (預留執行個體)**。

1. 從資料表中選取預留執行個體組態，然後勾選 **Instance count** (執行個體計數) 欄位。

   在下列螢幕擷取畫面中，所選行表示 `t3.micro` 執行個體類型的單一預留執行個體組態。資料表檢視中的 **Instance count** (執行個體計數) 欄和詳細資訊檢視中的 **Instance count** (執行個體計數) 欄位指示此組態有 10 個預留執行個體。  
![\[此圖片顯示 Amazon EC2 主控台中的 Reserved Instances (預留執行個體) 畫面。螢幕擷取畫面中標示出 Instance count (執行個體計數) 欄位。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-instance-count.png)

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

**若要檢視您已購買的預留執行個體數**  
使用 [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 命令並指定預留執行個體組態的 ID。

```
aws ec2 describe-reserved-instances \
    --reserved-instances-ids a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
    --output table
```

以下為範例輸出。`InstanceCount` 欄位指示此組態有 10 個預留執行個體。

```
-------------------------------------------------------------------
|                    DescribeReservedInstances                    |
+-----------------------------------------------------------------+
||                       ReservedInstances                       ||
|+----------------------+----------------------------------------+|
||  CurrencyCode        |  USD                                   ||
||  Duration            |  31536000                              ||
||  End                 |  2023-08-27T13:29:44+00:00             ||
||  FixedPrice          |  59.0                                  ||
||  InstanceCount       |  10                                    ||
||  InstanceTenancy     |  default                               ||
||  InstanceType        |  t3.micro                              ||
||  OfferingClass       |  standard                              ||
||  OfferingType        |  All Upfront                           ||
||  ProductDescription  |  Linux/UNIX                            ||
||  ReservedInstancesId |  a1b2c3d4-5678-90ab-cdef-EXAMPLE11111  ||
||  Scope               |  Region                                ||
||  Start               |  2022-08-27T13:29:45.938000+00:00      ||
||  State               |  active                                ||
||  UsagePrice          |  0.0                                   ||
|+----------------------+----------------------------------------+|
|||                      RecurringCharges                       |||
||+----------------------------------+--------------------------+||
|||  Amount                          |  0.0                     |||
|||  Frequency                       |  Hourly                  |||
||+----------------------------------+--------------------------+||
```

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

**若要檢視您已購買的預留執行個體數**  
使用 [Get-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstance.html) Cmdlet 並指定預留執行個體組態的 ID。

```
Get-EC2ReservedInstance -ReservedInstancesId a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

以下為範例輸出。`InstanceCount` 欄位指示此組態有 10 個預留執行個體。

```
AvailabilityZone    : 
CurrencyCode        : USD
Duration            : 31536000
End                 : 1/12/2017 8:57:08 PM
FixedPrice          : 0
InstanceCount       : 10
InstanceTenancy     : default
InstanceType        : t3.medium
OfferingClass       : standard
OfferingType        : All Upfront
ProductDescription  : Windows
RecurringCharges    : {}
ReservedInstancesId : a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Scope               : Region
Start               : 10/12/2016 4:00:00 PM
State               : active
Tags                : {}
UsagePrice          : 0
```

------

## 考量事項
<a name="ri-quota-considerations"></a>

區域預留執行個體會將折扣套用至執行中隨需執行個體。預設隨需執行個體限制為 20。您無法透過購買區域預留執行個體來超出執行中隨需執行個體限制。例如，如果您已有 20 個執行中隨需執行個體，而且您購買 20 個區域預留執行個體，則 20 個區域預留執行個體是用來將折扣套用至 20 個執行中隨需執行個體。如果您購買更多的區域預留執行個體，將無法啟動更多的執行個體，因為您已達到隨需執行個體限制。

在購買地區預留執行個體之前，請確認您的隨需執行個體限制符合或超過您想要擁有的地區預留執行個體數。如有必要，請務必*先*請求調高您的隨需執行個體限制，再購買更多地區預留執行個體。

區域性預留執行個體 (針對特定可用區域購買的預留執行個體) 會提供容量保留以及折扣。您可以透過購買區域性預留執行個體來*超出*執行中隨需執行個體限制。例如，如果您已有 20 個執行中隨需執行個體，而且購買 20 個區域性預留執行個體，則您可以另外啟動 20 個符合區域性預留執行個體之規格的隨需執行個體，如此總共有 40 個執行中執行個體。

## 檢視預留執行個體配額並請求增加配額
<a name="view-ri-quotas"></a>

Amazon EC2 主控台提供了配額資訊。您還可以請求增加您的配額。如需詳細資訊，請參閱[檢視您目前的配額](ec2-resource-limits.md#view-limits)及[請求增加](ec2-resource-limits.md#request-increase)。

# Spot 執行個體
<a name="using-spot-instances"></a>

Spot 執行個體是使用備用 EC2容量的執行個體，可在低於隨需價格時使用它。競價型執行個體可讓您以相當優惠的折扣，來請求未使用的 EC2 執行個體，進而大幅降低 Amazon EC2 成本。Spot 執行個體的每小時價格稱為 Spot 價格。各可用區域中各執行個體類型的 Spot 價格由 Amazon EC2 決定，並會根據 競價型執行個體的長期供需情況逐漸調整。只要有容量可用，您的 Spot 執行個體便會執行。

如能彈性決定應用程式執行的時機以及應用程式是否可以中斷，則 競價型執行個體會是一項具成本效益的選擇。例如，競價型執行個體非常適合用於資料分析、批次處理任務、背景處理和選擇性的任務。如需詳細資訊，請參閱 [Amazon EC2 競價型執行個體](https://aws.amazon.com/ec2/spot/)。

如需 EC2 執行個體不同購買選項的比較，請參閱 [Amazon EC2 帳單與購買選項](instance-purchasing-options.md)。

## 概念
<a name="spot-features"></a>

在開始使用Spot 執行個體之前，您應該先熟悉以下概念：
+ *Spot 容量集區* – 一組具有相同執行個體類型 (例如 `m5.large`) 和可用區域的未使用 EC2 執行個體。
+ *Spot 價格* – Spot 執行個體目前的每小時價格。
+ *Spot 執行個體請求* – 請求 Spot 執行個體。當容量可用時，Amazon EC2 會履行您的請求。Spot 執行個體請求為*一次性*或*持久性*。與請求相關聯的 Spot 執行個體中斷之後，Amazon EC2 會自動重新提交持續的 Spot 執行個體請求。
+ *EC2 執行個體重新平衡建議* - Amazon EC2 發出執行個體重新平衡建議訊號，以通知您 Spot 執行個體的中斷風險升高。此訊號讓您有機會在現有或新的 Spot 執行個體上主動重新平衡工作負載，而無需等待兩分鐘的 Spot 執行個體中斷通知。
+ *Spot 執行個體中斷* – 當 Amazon EC2 需要取回容量，Amazon EC2 會終止、停止 Spot 執行個體或將其休眠。Amazon EC2 會提供 Spot 執行個體中斷通知，在執行個體中斷前會向執行個體發出兩分鐘的警告。

## 競價型執行個體與隨需執行個體之間的差異
<a name="key-differences-spot-on-demand"></a>

下表列出了 Spot 執行個體與[隨需執行個體](ec2-on-demand-instances.md)之間的主要差異。


|  | Spot Instances | On-Demand Instances | 
| --- | --- | --- | 
|  啟動時間  |  只有當 Spot 執行個體請求正在作用中，而且有可用的容量時，才能立即啟動。  |  只有在進行手動啟動請求，而且有可用的容量時，才能立即啟動。  | 
|  可用容量  |  如果沒有可用的容量，則 Spot 執行個體請求會繼續自動發出啟動請求，直到有可用的容量出現。  |  如果在您發出啟動請求時沒有可用的容量，會出現容量不足錯誤 (ICE)。  | 
|  每小時價格  |  Spot 執行個體的每小時價格會隨長期的供給和需求而有所不同。  |  隨需執行個體 的每小時價格為靜態定價。  | 
| 重新平衡建議 | 執行個體的中斷風險升高時，Amazon EC2 為執行中的 Spot 執行個體發出的訊號。 | 您可以決定中斷 (停止、休眠或終止) 隨需執行個體 的時間點。 | 
|  執行個體中斷  |  您可以停止和啟動 Amazon EBS 支援的 Spot 執行個體。此外，如果不再有可用的容量，Amazon EC2 還可以[中斷](spot-interruptions.md)個別的 Spot 執行個體。  |  您可以決定中斷 (停止、休眠或終止) 隨需執行個體 的時間點。  | 

## 定價與節省
<a name="spot-pricing"></a>

您會為 競價型執行個體支付 Spot 價格，該價格由 Amazon EC2 決定，並會根據 競價型執行個體的長期供需情況逐漸調整。在您終止 Spot 執行個體前、不再有可用的容量前，或是 Amazon EC2 Auto Scaling 群組在[縮減](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in)時終止 Spot 執行個體前，您的 Spot 執行個體會持續執行。

如果您或 Amazon EC2 中斷執行中的 Spot 執行個體，則會按使用秒數或整整一小時向您收費，也可能免費，根據使用的作業系統和中斷 Spot 執行個體的人而定。如需詳細資訊，請參閱[針對已中斷的 競價型執行個體收費](billing-for-interrupted-spot-instances.md)。

Savings Plans 不涵蓋 Spot 執行個體。如果您有 Savings Plans，該計劃不會在您使用 Spot 執行個體時所享有的節省上提供額外的折扣。此外，您在 Spot 執行個體上的支出不會計入 Compute Savings Plans 中的承諾用量。

### 檢視價格
<a name="spot-pricing-view-prices"></a>

若要檢視每個 AWS 區域 和執行個體類型的目前 （每五分鐘更新一次） 最低 Spot 價格，請參閱 [Amazon EC2 Spot 執行個體定價](https://aws.amazon.com/ec2/spot/pricing/)頁面。

若要檢視過去三個月的 Spot 價格歷史，請使用 Amazon EC2 主控台或 [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html) 命令。如需詳細資訊，請參閱[檢視 Spot 執行個體定價歷史記錄](using-spot-instances-history.md)。

我們獨立將可用區域對應到每個可用區域的代碼 AWS 帳戶。如此，不同帳戶之間的相同可用區域代碼 (例如 `us-west-2a`)，就會得到不同的結果。

### 檢視節省
<a name="spot-pricing-view-savings"></a>

您可以檢視針對單一 [Spot 機群](Fleets.md)或所有 Spot 執行個體使用 Spot 執行個體所節省的成本。您可以檢視前一個小時或前三天的節省，也可以檢視每 vCPU 小時和每記憶體 (GiB) 小時的平均成本。節省是估計值，因為不含用量的帳單調整，所以會與實際的節省有所出入。如需檢視節省資訊的詳細資訊，請參閱 [購買 競價型執行個體省下的成本](spot-savings.md)。

### 檢視帳單
<a name="spot-pricing-view-billing"></a>

您的帳單會提供您服務用量的詳細資訊。如需詳細資訊，請參閱 *AWS Billing 使用者指南*中的[檢視您的帳單](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html)。

# Amazon EC2 Spot 的最佳實務
<a name="spot-best-practices"></a>

Amazon EC2 AWS 雲端 可透過 Spot 執行個體存取 中的備用 EC2 運算容量，相較於隨需價格節省高達 90%。隨需執行個體與 Spot 執行個體之間唯一的差別在於，若 Amazon EC2 需要取回容量時，Spot 執行個體可以由 Amazon EC2 利用兩分鐘的通知來中斷。為了確保 Spot 執行個體最佳體驗，了解並套用最佳實務以供使用至關重要。

競價型執行個體 建議用於無狀態、容錯、靈活的應用程式。例如，競價型執行個體 適用於大數據、容器化工作負載、CI/CD、無狀態 Web 伺服器、高效能運算 (HPC) 和轉譯工作負載。

執行時，競價型執行個體 與 隨需執行個體 完全相同。但是，Spot 並無法保證您可以保持執行中的執行個體有足夠時間來完成工作負載。Spot 也無法保證您可以立即取得所尋找執行個體的可用性，也無法保證您一律可以取得所請求的彙總容量。此外，Spot 執行個體中斷和容量可能會隨著時間而改變，因為 Spot 執行個體可用性會因供給和需求而有所不同，而過去的效能並不能保證未來的結果。

競價型執行個體 不適合執行個體節點之間不靈活、可設定狀態、錯誤不容忍或緊密結合的工作負載。不建議將 Spot 執行個體用於目標容量偶爾無法完全可用的工作負載。儘管遵循 Spot 最佳實務 (例如對執行個體類型和可用區域保持靈活性) 可提供高可用性的最佳機會，但由於隨需執行個體需求激增可能會中斷 Spot 執行個體的工作負載，因此無法保證可以使用資源容量。

強烈不建議您對這些工作負載使用 Spot 執行個體，或嘗試容錯移轉至隨需執行個體以處理中斷或資源不可用的情況。容錯移轉至隨需執行個體可能會在不經意間導致其他 Spot 執行個體中斷。此外，如果執行個體類型和可用區域組合的 Spot 執行個體中斷，您可能難以取得具有相同組合的隨需執行個體。

無論您是經驗豐富的 Spot 使用者或 Spot 執行個體的新使用者，如果您目前遇到 Spot 執行個體中斷或可用性問題，建議您遵循這些最佳做法，以獲得使用 Spot 服務的最佳體驗。

**Topics**
+ [針對中斷準備個別執行個體](#prep-instances-for-interruptions)
+ [對執行個體類型和可用區域具有彈性](#be-instance-type-flexible)
+ [使用屬性型執行個體類型選取範圍](#use-attribute-based-instance-type-selection)
+ [使用 Spot 配置分數來識別最佳區域和可用區域](#use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones)
+ [使用 EC2 Auto Scaling 群組或 EC2 Fleet 來管理彙總容量](#use-sf-asg-for-aggregate-capacity)
+ [使用價格和容量最佳化分配策略](#use-capacity-optimized-allocation-strategy)
+ [使用整合 AWS 服務來管理您的 Spot 執行個體](#use-integrated-aws-services)
+ [使用哪種 Spot 請求方法最好？](#which-spot-request-method-to-use)

## 針對中斷準備個別執行個體
<a name="prep-instances-for-interruptions"></a>

從容處理 Spot 執行個體中斷的最佳方法，就是建立容錯的應用程式架構。若要達到此目的，您可以利用 EC2 執行個體重新平衡建議和 Spot 執行個體中斷通知。

EC2 執行個體重新平衡推薦是一種訊號，可在 Spot 執行個體的中斷風險升高時通知您。該訊號使您有機會在兩分鐘 Spot 執行個體中斷通知之前主動管理 Spot 執行個體。您可以決定將工作負載重新平衡至未處於提高之中斷風險的新的或現有 競價型執行個體。我們已經使用 Auto Scaling 群組和 EC2 Fleet 中的容量重新平衡功能，讓您輕鬆地使用此訊號。

Spot 執行個體中斷通知是在 Amazon EC2 中斷 Spot 執行個體的兩分鐘之前發出的警告。如果您的工作負載具有「時間彈性」，當執行個體中斷時，您可以將它們設定為停止或休眠，而非終止。Amazon EC2 會在中斷時自動停止或休眠 Spot 執行個體，並在我們有可用容量時自動繼續執行個體。

建議您在 [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/index.html) 中建立擷取重新平衡建議和中斷通知的規則，然後觸發工作負載進度的檢查點，或從容處理中斷。如需詳細資訊，請參閱[監控重新平衡建議訊號](rebalance-recommendations.md#monitor-rebalance-recommendations)。如需如何建立和使用事件規則的詳細範例，請參閱[利用 Amazon EC2 Spot 執行個體中斷通知](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/)。

如需詳細資訊，請參閱[EC2 執行個體重新平衡建議](rebalance-recommendations.md)及[Spot 執行個體中斷](spot-interruptions.md)。

## 對執行個體類型和可用區域具有彈性
<a name="be-instance-type-flexible"></a>

Spot 容量集區是一組未使用的 EC2 執行個體，具有相同執行個體類型 (例如 `m5.large`) 和可用區域 (例如 us-east-1a)。您應該對於請求的執行個體類型，以及可在其中部署工作負載的可用區域具有彈性。這讓 Spot 有更好的機會找到並配置您所需的運算容量。例如，不要只要求 `c5.large` 是否願意使用來自 c4、m5 和 m4 系列的 large。

根據您的特定需求，您可以評估哪些執行個體類型可以具彈性，以滿足您的運算需求。如果工作負載可以垂直擴展，則應在請求中包含較大的執行個體類型 (更多 vCPU 和記憶體)。如果您只能水平擴展，則應納入舊一代執行個體類型，因為隨需客戶的需求較少。

一個很好的經驗法則是針對每個工作負載的至少 10 個執行個體類型上具有彈性。此外，請確定所有可用區域均已設定為在 VPC 中使用，並針對您的工作負載選取。

## 使用屬性型執行個體類型選取範圍
<a name="use-attribute-based-instance-type-selection"></a>

透過屬性型執行個體類型選項，您可以為要執行的工作負載指定執行個體屬性，例如 vCPU、記憶體和儲存體。EC2 Auto Scaling 或 EC2 Fleet 會自動識別並啟動符合您指定屬性的執行個體。這樣就省去了手動選取特定執行個體類型所需的工作，該工作需要深入了解每一種執行個體類型提供的功能。

此外，屬性型執行個體類型選項可讓您在新版本執行個體類型推出時自動使用。這可確保順暢存取日益廣泛的 Spot 執行個體容量。

屬性型執行個體類型選項非常適用於其執行的執行個體類型具有彈性的工作負載和架構，例如高效能運算 (HPC) 和大數據工作負載。

如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的[使用屬性型執行個體類型選取範圍來建立 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html)以及此指南中的 [指定屬性，為 EC2 機群或 Spot 機群選取執行個體類型](ec2-fleet-attribute-based-instance-type-selection.md)。

## 使用 Spot 配置分數來識別最佳區域和可用區域
<a name="use-spot-placement-scores-to-identify-optimal-regions-and-availability-zones"></a>

Spot 執行個體是未使用的 EC2 容量，此容量會根據 EC2 的供需而變化。因此，您不一定會在特定時間和特定位置中取得所需的確切 Spot 容量。若要緩解此不可預測性，您可以使用 Spot 配置分數功能。此功能會針對容量較可能足以滿足 Spot 容量需求的區域或可用區域提供建議，而無需先在這些位置啟動 Spot 執行個體。

Spot 配置分數最適用於對執行個體類型，以及它們可使用的區域或可用區域具有彈性的工作負載。您只需要指定所需的 Spot 容量、執行個體類型需求，以及是否想要針對區域或可用區域提供建議。作為交換，您會收到每個區域或可用區域從 1 到 10 的分數，這表示在該位置順利佈建您要求的 Spot 容量的可能性。分數 10 表示您的 Spot 請求很有可能成功。

請注意，Spot 配置分數是時間點建議，因為容量可能會隨著時間而有所不同。其不保證可用容量，也無法預測中斷風險。

您可以在 Amazon EC2 主控台 AWS CLI或 SDK 中使用 Spot 配置分數功能。如需詳細資訊，請參閱[Spot 配置分數](spot-placement-score.md)。

## 使用 EC2 Auto Scaling 群組或 EC2 Fleet 來管理彙總容量
<a name="use-sf-asg-for-aggregate-capacity"></a>

Spot 可讓您以彙總容量 (包括 vCPU、記憶體、儲存或網路輸送量單位) 的方式來思考，而不是以個別執行個體的方式來思考。Auto Scaling 群組和 EC2 Fleet 可讓您啟動和維護目標容量，並自動請求資源以取代中斷或手動終止的任何資源。設定 Auto Scaling 群組或 EC2 Fleet 時，只需要根據應用程式需求指定執行個體類型和目標容量。如需詳細資訊，請參閱 *Amazon EC2 Auto Scaling 使用者指南* 中的 [Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html)和本使用者指南中的 [建立 EC2 Fleet](create-ec2-fleet.md)。

## 使用價格和容量最佳化分配策略
<a name="use-capacity-optimized-allocation-strategy"></a>

Auto Scaling 群組中的分配策略可協助您佈建目標容量，而無需手動尋找具有備用容量的 Spot 容量集區。建議使用 `price-capacity-optimized` 策略，因為此策略會自動從最可用且價格最低的 Spot 容量集區佈建執行個體。您也可以利用 EC2 Fleet 中的 `price-capacity-optimized` 配置策略。由於您的 Spot 執行個體容量來自具有最佳容量的集區，因此可降低回收 Spot 執行個體的可能性。如需詳細資訊，請參閱《*Amazon EC2 Auto Scaling 使用者指南*中的[多種執行個體類型的配置策略](https://docs.aws.amazon.com/autoscaling/ec2/userguide/allocation-strategies.html)和本使用者指南中的 [當工作負載具有較高的中斷成本時](ec2-fleet-allocation-strategy.md#ec2-fleet-strategy-capacity-optimized)。

## 使用整合 AWS 服務來管理您的 Spot 執行個體
<a name="use-integrated-aws-services"></a>

 AWS 其他服務與 Spot 整合，可降低整體運算成本，而無需管理個別執行個體或機群。我們建議您考慮適用工作負載的下列解決方案：Amazon EMR、Amazon Elastic Container Service AWS Batch、Amazon Elastic Kubernetes Service、Amazon SageMaker AI AWS Elastic Beanstalk和 Amazon GameLift Servers。若要深入了解搭配這些服務的 Spot 最佳做法，請參閱 [Amazon EC2 競價型執行個體 研討會網站](https://ec2spotworkshops.com/)。

## 使用哪種 Spot 請求方法最好？
<a name="which-spot-request-method-to-use"></a>

使用下表確定在請求 Spot 執行個體時使用哪個 API。


****  

| API | 何時使用？ | 使用案例 | 我應該使用此 API 嗎？ | 
| --- | --- | --- | --- | 
|  [CreateAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  建立 Auto Scaling 群組，管理執行個體的生命週期，同時維護所需的執行個體數量。支援在指定的最小和最大限制之間水平擴展 (新增更多執行個體)。  | 是 | 
| [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  在單一請求中建立隨需執行個體和 Spot 執行個體的機群，並具有隨執行個體類型、AMI、可用區域或子網而異的多個啟動規格。Spot 執行個體分配策略預設為每單位 `lowest-price`，但您可以將其變更為 `price-capacity-optimized`、`capacity-optimized` 或 `diversified`。  |  是 – 在 `instant` 模式中 (如果您不需要自動擴展)  | 
| [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  使用 AMI 和一個執行個體類型，啟動指定數量的執行個體。  |  否 – 因為 RunInstances 不允許在單一請求中使用混合執行個體類型  | 
| [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  請勿使用。RequestSpotFleet 是沒有計劃投資的舊式 API。  | 否 | 
| [RequestSpotInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/spot-best-practices.html)  |  請勿使用。RequestSpotInstances 是沒有計劃投資的舊式 API。  | 否 | 

# 競價型執行個體的運作方式
<a name="how-spot-instances-work"></a>

若要啟動 Spot 執行個體，您可以建立 *Spot 執行個體請求*，或 Amazon EC2 代表您建立 Spot 執行個體請求。Spot 執行個體請求完成後，會啟動 Spot 執行個體。

您可以使用數個不同的服務來啟動 Spot 執行個體。如需詳細資訊，請參閱 [Amazon EC2 Spot 執行個體入門](https://aws.amazon.com/ec2/spot/getting-started/)。在本使用者指南中，我們描述了使用 EC2 啟動 Spot 執行個體的以下方法：
+ 您可以使用 Amazon EC2 主控台中的[啟動執行個體精靈](ec2-launch-instance-wizard.md)或 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令來建立 Spot 執行個體請求。如需詳細資訊，請參閱[管理您的 Spot 執行個體](using-spot-instances-request.md)。
+ 您可以建立 EC2 Fleet，在其中指定所需數量的 Spot 執行個體。Amazon EC2 為 EC2 Fleet 中指定的每個 Spot 執行個體建立 Spot 執行個體請求。如需詳細資訊，請參閱[建立 EC2 Fleet](create-ec2-fleet.md)。
+ 您可以建立 Spot Fleet 請求，在其中指定所需數量的 Spot 執行個體。Amazon EC2 為 Spot Fleet 請求中指定的每個 Spot 執行個體建立 Spot 執行個體請求。如需詳細資訊，請參閱[建立 Spot 機群](create-spot-fleet.md)。

如果有可用容量，您的 Spot 執行個體就會啟動。您的 Spot 執行個體會執行直到您停止或終止它，或者直到 Amazon EC2 中斷它 (稱為 *Spot 執行個體中斷*)。Amazon EC2 可以在 Spot 執行個體中斷時停止、終止或進入休眠。

使用 Spot 執行個體時，您必須對中斷做好準備。當 Spot 執行個體的需求增加，或是Spot 執行個體的供給減少時，Amazon EC2 可以中斷您的 Spot 執行個體。當 Amazon EC2 中斷 Spot 執行個體時，會提供 Spot 執行個體中斷通知，在 Amazon EC2 中斷執行個體前，向該執行個體發出兩分鐘的警告。您無法為 競價型執行個體啟用終止保護。如需詳細資訊，請參閱[Spot 執行個體中斷](spot-interruptions.md)。

**Topics**
+ [Spot 執行個體請求狀態](#creating-spot-request-status)
+ [在啟動群組中啟動 競價型執行個體](#spot-launch-group)
+ [在可用區域群組中啟動 競價型執行個體](#spot-az-group)
+ [在 VPC 中啟動 競價型執行個體](#concepts-spot-instances-vpcs)
+ [啟動爆量效能執行個體](#burstable-spot-instances)
+ [在單一租戶硬體上啟動](#spot-instance-tenancy)

## Spot 執行個體請求狀態
<a name="creating-spot-request-status"></a>

Spot 執行個體請求可以是下列任一種狀態：
+ `open` – 請求正等待完成。
+ `active` – 請求已完成，並具有關聯的 Spot 執行個體。
+ `failed` – 請求具有一個或多個無效的參數。
+ `closed` – Spot 執行個體已中斷或終止。
+ `disabled` – 您已停止 Spot 執行個體。
+ `cancelled` – 您已取消請求，或請求已過期。

下圖顯示了請求狀態之間的轉換。請注意，轉換取決於請求的類型 (一次性或持久性)。

![\[Spot 執行個體請求狀態。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/spot_request_states.png)


在 Amazon EC2 啟動 Spot 執行個體、請求過期、或者您取消請求之前，一次性 Spot 執行個體請求會維持有效運作。如果沒有容量可用，則 Spot 執行個體會終止，而且 Spot 執行個體請求也會結束。

即使請求已完成，持久性的 Spot 執行個體請求在過期或是您取消它之前，都會繼續維持有效運作。如果沒有容量可用，則 Spot 執行個體會中斷。在執行個體中斷後，當容量可再次提供使用時，會啟動停止或恢復休眠的 Spot 執行個體。如果有容量可用，您可以停止 Spot 執行個體並將其重新啟動。如果 Spot 執行個體已終止 (不論 Spot 執行個體處於已停止或執行中狀態)，則 Spot 執行個體請求都會再次開啟，而 Amazon EC2 會啟動新的 Spot 執行個體。如需詳細資訊，請參閱 [停止 Spot 執行個體](using-spot-instances-request.md#stopping-a-spot-instance)、[啟動 Spot 執行個體](using-spot-instances-request.md#starting-a-spot-instance) 及 [終止 Spot 執行個體](using-spot-instances-request.md#terminating-a-spot-instance)。

您可以透過狀態，追蹤 Spot 執行個體請求的狀態和已啟動的 Spot 執行個體的狀態。如需詳細資訊，請參閱[取得 Spot 執行個體請求狀態](spot-request-status.md)。

## 在啟動群組中啟動 競價型執行個體
<a name="spot-launch-group"></a>

在 Spot 執行個體請求中指定啟動群組，告知 Amazon EC2 啟動一組 Spot 執行個體，但前提它能夠啟動其中的所有執行個體。此外，如果 Spot 服務必須終止啟動群組內的其中一個執行個體，則必須終止群組中所有的執行個體。不過，如果您終止啟動群組內的一個或多個執行個體，Amazon EC2 不會終止該啟動群組中其餘的執行個體。

雖然此選項很實用，但加上此限制可能會降低完成 Spot 執行個體請求的機率，並提高終止 Spot 執行個體的機率。例如，您的啟動群組包含多個可用區域的執行個體。如果其中一個可用區域的容量減少，且不再提供使用，則 Amazon EC2 會終止該啟動群組的所有執行個體。

如果建立另一個成功的 Spot 執行個體請求，它指定與先前的成功請求相同的 (現有的) 啟動群組，則新的執行個體會加入該啟動群組。之後，如果這個啟動群組中的執行個體遭到終止，則該啟動群組中的所有執行個體都會終止，這也包括由第一個和第二個請求啟動的執行個體。

## 在可用區域群組中啟動 競價型執行個體
<a name="spot-az-group"></a>

在您的 Spot 執行個體請求中指定可用區域群組，以告知 Amazon EC2 在同一個 Availability Zone (可用區域) 中啟動一組 Spot 執行個體。Amazon EC2 不需同時中斷可用區域群組中的所有執行個體。如果 Amazon EC2 必須中斷可用區域群組中的其中一個執行個體，則其他的執行個體仍會繼續執行。

雖然此選項很實用，但加上這項限制可能會降低完成 Spot 執行個體請求的機率。

如果指定了可用區域群組，但未在 Spot 執行個體請求中指定可用區域，則結果取決於您指定的網路。

**預設 VPC**  
Amazon EC2 會使用指定子網適用的可用區域。如未指定子網，它會替您選取一個可用區域及其預設子網，但不一定是最低價的區域。如果您刪除可用區域適用的預設子網，則必須指定不同的子網。

**非預設 VPC**  
Amazon EC2 會使用指定子網適用的可用區域。

## 在 VPC 中啟動 競價型執行個體
<a name="concepts-spot-instances-vpcs"></a>

您可以用為 競價型執行個體指定子網的同一種方法，來為 隨需執行個體指定子網。
+ [預設 VPC] 如果希望在指定的低價可用區域中啟動 Spot 執行個體，您必須在 Spot 執行個體請求中指定對應的子網。如果未指定子網，Amazon EC2 會替您選取一個，而這個子網的可用區域可能不具有最低的 Spot 價格。
+ [非預設 VPC] 您必須指定 Spot 執行個體適用的子網。

## 啟動爆量效能執行個體
<a name="burstable-spot-instances"></a>

T 執行個體類型是[爆量效能執行個體](burstable-performance-instances.md)。如果您使用爆量效能執行個體啟動 Spot 執行個體，而且您計劃立即使用爆量效能 Spot 執行個體，且在短時間內沒有閒置時間來累積 CPU 額度，建議您以[標準模式](burstable-performance-instances-standard-mode.md)將其啟用，以避免支付更高的成本。如果您在[無限制模式](burstable-performance-instances-unlimited-mode.md)下啟動高載效能 Spot 執行個體，而且 CPU 立即高載，則您將耗費高載的剩餘額度。如果您短暫使用執行個體，則您的執行個體沒有時間產生 CPU 額度來償還剩餘額度，而且當終止執行個體時，會針對剩餘額度向您收費。

只有在執行個體執行夠長時間，可為爆量產生 CPU 額度時，無限制模式才適合用於高載效能 Spot 執行個體。否則，支付剩餘額度會使爆量效能 Spot 執行個體比使用其他執行個體更為昂貴。如需詳細資訊，請參閱[使用無限制模式與固定 CPU 的時機](burstable-performance-instances-unlimited-mode-concepts.md#when-to-use-unlimited-mode)。

T2 執行個體在[標準模式](burstable-performance-instances-standard-mode.md)中設定時，可取得[啟動額度](burstable-performance-instances-standard-mode-concepts.md#launch-credits)。T2 執行個體是唯一可獲得啟動額度的爆量效能執行個體。啟動額度旨在透過提供足夠的運算資源來設定執行個體，創造 T2 執行個體具有生產力的初始啟動體驗。不允許重複啟動 T2 執行個體來獲得新的啟動額度。如果您需要持續的 CPU，可以賺取額度 (藉由在某些期間閒置)、為 T2 Spot 執行個體使用[無限制模式](burstable-performance-instances-unlimited-mode.md)，或將執行個體類型與專屬 CPU 搭配使用。

## 在單一租戶硬體上啟動
<a name="spot-instance-tenancy"></a>

您可以在單一租戶的硬體上執行 Spot 執行個體。專用 Spot 執行個體實際與屬於其他 AWS 帳戶的執行個體隔離。如需詳細資訊，請參閱 [Amazon EC2 專用執行個體](dedicated-instance.md) 和 [Amazon EC2 專用執行個體](https://aws.amazon.com/ec2/pricing/dedicated-instances/)。

若要執行專用 Spot 執行個體，請進行下列其中一項動作：
+ 在建立 Spot 執行個體請求時指定 `dedicated` 的租用。如需詳細資訊，請參閱 [管理您的 Spot 執行個體](using-spot-instances-request.md)。
+ 使用 `dedicated` 的執行個體租用，在 VPC 中請求 Spot 執行個體。如需詳細資訊，請參閱[在使用預設租用的 VPC 中啟動專用執行個體](dedicatedinstancesintovpc.md)。如果使用 `default` 的執行個體租用，在 VPC 中請求 Spot 執行個體，就不能使用 `dedicated` 的租用來請求它。

除了 T 執行個體之外，所有執行個體群都支援專用 競價型執行個體。對於每個支援的執行個體系列而言，只有最大型的執行個體大小或硬體大小可支援專用 競價型執行個體。

# 檢視 Spot 執行個體定價歷史記錄
<a name="using-spot-instances-history"></a>

Spot 執行個體的價格由 Amazon EC2 制定，然後根據 Spot 執行個體容量的長期供需趨勢逐漸調整。

滿足您的 Spot 請求後，您會以目前的 Spot 價格啟動 Spot 執行個體，而不會超過隨需價格。您可以檢視過去 90 天的 Spot 價格歷史，根據執行個體類型、作業系統和可用區域來進行篩選。

如需*目前的* Spot 執行個體價格，請參閱 [Amazon EC2 Spot 執行個體定價](https://aws.amazon.com/ec2/spot/pricing/)。

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

**檢視 Spot 價格歷史記錄**

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

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選擇**定價歷史**。

1. 在 **Graph** (圖表) 中，選擇依 **Availability Zones** (可用區域) 或 **Instance Types** (執行個體類型) 來比較價格歷史記錄。
   + 若您選擇**可用區域**，則選擇**執行個體類型**、作業系統 (**平台**)，以及要檢視價格歷史記錄的**日期範圍**。
   + 若您選擇**執行個體類型**，則選擇最多五種**執行個體類型**、**可用區域**、作業系統 (**平台**)，以及要檢視價格歷史記錄的**日期範圍**。

   下列螢幕擷取畫面顯示不同執行個體類型的價格比較。  
![\[Amazon EC2 主控台中的 Spot 執行個體定價歷史記錄工具。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/spot-instance-pricing-history.png)

1. 將您的指標懸停至圖表上方，可顯示所選取日期範圍中特定時間點的價格。價格顯示在圖表上方的資訊區塊中。顯示於頂列的價格會顯示指定日期的价格。顯示於第二列的價格會顯示所選日期範圍的平均價格。

1. 若要顯示每個 vCPU 的價格，請開啟 **Display normalized prices** (顯示標準化價格)。若要顯示該執行個體類型的價格，請關閉**Display normalized prices** (顯示標準化價格)。

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

**檢視 Spot 價格歷史記錄**  
使用下列 [describe-spot-price-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html) 命令。

```
aws ec2 describe-spot-price-history \
    --instance-types c6i.xlarge \
    --product-descriptions "Linux/UNIX" \
    --start-time 2025-04-01T00:00:00 \
    --end-time 2025-04-02T00:00:0
```

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

**檢視 Spot 價格歷史記錄**  
使用 [Get-EC2SpotPriceHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotPriceHistory.html) cmdlet。

```
Get-EC2SpotPriceHistory `
    -InstanceType c6i.xlarge `
    -ProductDescription "Linux/UNIX" `
    -UtcStartTime 2025-04-01T00:00:00 `
    -UtcEndTime 2025-04-02T00:00:0
```

------

# 購買 競價型執行個體省下的成本
<a name="spot-savings"></a>

您可檢視每個叢集之 競價型執行個體或所有執行中 競價型執行個體的用量和節省資訊。每個叢集的用量和節省資訊包括叢集啟動及終止的所有執行個體。您可檢視前一小時或前三天的資訊。

**Savings** (節省) 區段中的下列螢幕擷取畫面顯示 Spot 用量和 Spot Fleet 的節省資訊。

![\[Spot Fleet details (Spot Fleet 詳細資訊) 頁面的 Savings (節省) 區段。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/spot-savings.png)


您可以檢視下列用量和節省資訊：
+ **Spot 執行個體**— Spot Fleet 啟動和終止的 Spot 執行個體數量。檢視節省摘要時，數字代表所有正在執行的 競價型執行個體。
+ **vCPU-hours (vCPU 時數)** – 所選時段內所有 競價型執行個體使用的 vCPU 時數。
+ **Mem(GiB)-hours (記憶體 (GiB) 時數)** – 所選時段內所有 競價型執行個體使用的 GiB 時數。
+ **On-Demand total (隨需總額)** – 如果在所選時段內啟動這些執行個體做為隨需執行個體使用，所要支付的總金額。
+ **Spot total (Spot 總額)** – 所選時段要支付的總金額。
+ **Savings (節省)** – 不支付隨需價格的節省百分比。
+ **Average cost per vCPU-hour (vCPU 每小時的平均成本)** – 所有 競價型執行個體在選取時段內使用 vCPU 的每小時平均成本，計算方式如下：**vCPU 每小時的平均成本** = **Spot 總額** / **vCPU 時數**。
+ **Average cost per mem(GiB)-hour (記憶體 (GiB) 每小時的平均成本)** – 所有 競價型執行個體在選取時段內使用 GiB 的每小時平均成本，計算方式如下：**記憶體 (GiB) 每小時的平均成本** = **Spot 總額** / **記憶體 (GiB) 時數**。
+ **Details** (詳細資訊) 表 – 構成 Spot Fleet 的不同執行個體類型 (每種執行個體類型的執行個體數量所佔百分比)。檢視節省摘要時，這些項目構成您所有正在執行的 競價型執行個體。

您只能使用 Amazon EC2 主控台檢視節省資訊。

**若要檢視 Spot Fleet 的節省資訊**

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

1. 在導覽窗格上，選擇 **Spot Requests (Spot 請求)**。

1. 選取 Spot Fleet 請求的 ID 並捲動至 **Savings** (節省) 區段。

   或者，選取 Spot 機群請求 ID 旁邊的核取方塊，然後選取**節省成本**索引標籤。

1. 根據預設，頁面會顯示前三天的用量和節省資訊。您可選擇 **last hour (前一小時)** 或 **last three days (前三天)**。若為啟動不到一小時的 Spot Fleets，頁面顯示一小時的預估節省。

**檢視所有正在執行的 競價型執行個體節省資訊**

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

1. 在導覽窗格上，選擇 **Spot Requests (Spot 請求)**。

1. 選擇 **Savings Summary** (節省摘要)。

# 建立 Spot 執行個體請求
<a name="spot-requests"></a>

若要使用 Spot 執行個體，您可以建立 Spot 執行個體請求，其中包含所需的執行個體數量、執行個體類型，以及 Availability Zone (可用區域)。如果容量可用，Amazon EC2 會即刻履行您的請求。否則，Amazon EC2 會等到您的請求可以完成，或是您取消請求。

您可以使用 Amazon EC2 主控台中的[啟動執行個體精靈](ec2-launch-instance-wizard.md)或 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令以您可以啟動隨需執行個體的相同方式請求 Spot 執行個體。僅出於下列原因，建議使用此方法：
+ 您已經在使用[啟動執行個體精靈](ec2-launch-instance-wizard.md)或 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令來啟動隨需執行個體，而且您只想透過變更單一參數來變更為啟動 Spot 執行個體。
+ 您不需要具有不同執行個體類型的多個執行個體。

通常不建議在啟動 Spot 執行個體時使用此方法，因為您無法指定多個執行個體類型，並且無法在同一請求中同時啟動 Spot 執行個體和隨需執行個體。如需有關啟動 Spot 執行個體的慣用方法，其中包括啟動含有使用多個執行個體類型的 Spot 執行個體和隨需執行個體的*機群*，請參閱[使用哪種 Spot 請求方法最好？](spot-best-practices.md#which-spot-request-method-to-use)

如果您一次請求多個 Spot 執行個體，Amazon EC2 會建立不同的 Spot 執行個體請求，如此您就可以單獨追蹤每個請求的狀態。如需追蹤 Spot 執行個體請求的詳細資訊，請參閱 [取得 Spot 執行個體請求狀態](spot-request-status.md)。

------
#### [ Console ]<a name="create-spot-instance-request-console-procedure"></a>

**建立 Spot 執行個體請求**

步驟 1–9 與您用於啟動隨需執行個體的步驟相同。在步驟 10 中，您可以設定 Spot 執行個體請求。

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

1. 在螢幕上方的導覽列上，選取「區域」。

1. 從 Amazon EC2 主控台儀表板選擇 **Launch Instance (啟動執行個體)**。

1. (選用) 在 **Name and tags** (名稱和標籤) 下，您可以命名執行個體，並標記 Spot 執行個體請求、執行個體、磁碟區和彈性圖形。如需標籤的相關資訊，請參閱[標記您的 Amazon EC2 資源](Using_Tags.md)。

   1. 對於 **Name** (名稱)，輸入執行個體的描述性名稱。

      執行個體名稱是一個標籤，其中鍵是 **Name** (名稱)，而值是您指定的名稱。如果您未指定名稱，則可以透過其 ID 來標識執行個體，該 ID 將在您啟動執行個體時自動產生。

   1. 若要標記 Spot 執行個體請求、執行個體、磁碟區和彈性圖形，請選擇 **Add additional tags** (新增其他標籤)。選取 **Add tag** (新增標籤)，然後輸入鍵和值，然後選取要標記的資源類型。為每個要新增的其他標籤重新選擇 **Add tag** (新增標籤)。

1. 在 **Application and OS Images (Amazon Machine Image)** (應用程式和作業系統映像 (Amazon Machine Image)) 下，選取執行個體的作業系統，然後選取 AMI。如需詳細資訊，請參閱[應用程式和作業系統映像 (Amazon Machine Image)](ec2-instance-launch-parameters.md#liw-ami)。

1. 在 **Instance type** (執行個體類型) 下，選取符合您執行個體硬體組態和大小要求的執行個體類型。如需詳細資訊，請參閱[執行個體類型](ec2-instance-launch-parameters.md#liw-instance-type)。

1. 在 **Key pair (login)** (金鑰對 (登入))，選擇現有的金鑰對，或選擇 **Create new key pair** (建立新的金鑰對) 以建立新的金鑰對。如需詳細資訊，請參閱[Amazon EC2 金鑰對和 Amazon EC2 執行個體](ec2-key-pairs.md)。
**重要**  
如果您選擇 **Proceed without key pair (Not recommended)** (繼續而不使用金鑰對 (不建議)) 選項，您將無法連線到執行個體，除非您選擇已設定為允許使用者透過其他方式登入的 AMI。

1. 在 **Network settings** (網路設定) 下，使用預設設定，或視需要選擇 **Edit** (編輯) 以便設定網路設定。

   安全群組構成網路設定的一部分，並定義執行個體的防火牆規則。這些規則會指定應交付至您執行個體的傳入網路流量。

   如需詳細資訊，請參閱[網路設定](ec2-instance-launch-parameters.md#liw-network-settings)。

1. 您選取的 AMI 包含一或多個儲存體磁碟區，包含根設備磁碟區。在 **Configure storage** (設定儲存) 下，您可以透過選擇 **Add new volume** (新增新磁碟區)，指定要連接到執行個體的額外磁碟區。如需詳細資訊，請參閱[設定儲存](ec2-instance-launch-parameters.md#liw-storage)。

1. 在 **Advanced details** (進階詳細資訊)，請設定 Spot 執行個體請求，如下所示：

   1. 在**購買選項**下方，選取**請求 Spot 執行個體**核取方塊。

   1. 您可以保留 Spot 執行個體請求的預設組態，也可以選擇右側的 **Customize** (自訂) 為您的 Spot 執行個體請求指定自訂設定。

      當您選擇 **Customize** (自訂) 時，會出現下列欄位。

      1. **Maximum price** (最高價格)：您可以採用 Spot 價格 (以隨需價格為上限) 請求 Spot 執行個體，也可以指定您願意支付的最高金額。
**警告**  
如果您指定最高價格，您的執行個體將會比選擇**無最高價**時更頻繁地遭到中斷。  
若您指定最高價格，它必須超過 0.001 USD。指定低於 0.001 USD 的值會導致啟動失敗。
         + **No maximum price** (無最高價格)：您的 Spot 執行個體將以目前的 Spot 價格啟動。價格絕不會超過隨需價格。(建議)
         + **Set your maximum price (per instance/hour)** (設定您的最高價格 (每個執行個體/小時))：您可以指定您願意支付的最高金額。
           + 如果您指定的最高價小於目前的 Spot 價格，則不會啟動 Spot 執行個體。
           + 如果您指定的最高價格大於目前的 Spot 價格，Spot 執行個體將會啟動並按目前的 Spot 價格收費。Spot 執行個體執行後，如果 Spot 價格超過您的最高價格，Amazon EC2 將中斷您的 Spot 執行個體。
           + 無論您指定的最高價格如何，都將始終按當前 Spot 價格向您收取費用。

           若要回顧 Spot 價格的趨勢，請參閱 [檢視 Spot 執行個體定價歷史記錄](using-spot-instances-history.md)。

      1. **Request type** (請求類型)：您選擇的 Spot 執行個體請求類型會決定 Spot 執行個體中斷時會發生什麼狀況。
         + **One-time** (一次性)：Amazon EC2 會為您的 Spot 執行個體發出一次性請求。如果您的 Spot 執行個體中斷，即不會重新提交請求。
         + **Persistent request** (持久性請求)：Amazon EC2 會為您的 Spot 執行個體發出持久性請求。如果您的 Spot 執行個體中斷，系統會重新提交請求以補充中斷的 Spot 執行個體。

         若未指定數值，則預設值為一次性請求。

      1. **Valid to** (有效至)：*持久性* Spot 執行個體請求的到期日期。

         一次性請求不支援此欄位。*一次性*請求在請求中的所有執行個體均啟動，或是您取消請求之前，都會繼續維持有效運作。
         + **No request expiry date** (無請求過期日期)：請求會維持在有效狀態，直到您將其取消為止。
         + **Set your request expiry date** (設定您的請求過期日期)：持久性請求在您指定的日期之前會維持在有效狀態，或者直到您將其取消為止。

      1. **Interruption behavior** (中斷行為)：您選擇的行為會決定 Spot 執行個體中斷時會發生什麼狀況。
         + 針對持久性請求，有效值為 **Stop** (停止) 和 **Hibernate** (休眠)。當執行個體停止時，將收取 EBS 磁碟區儲存費用。
**注意**  
Spot 執行個體現在使用與隨需執行個體相同的休眠功能。若要啟用休眠功能，您可以在此選擇**休眠**，也可以從**停止 - 休眠行為**欄位 (顯示於啟動執行個體精靈下半部) 中選擇**啟用**。如需休眠必要條件，請參閱[EC2 執行個體休眠的先決條件](hibernating-prerequisites.md)。
         + 針對一次性請求，有效值僅有 **Terminate** (終止)。

         若未指定值，則預設值為 **Terminate** (終止)，這對於持久性 Spot 執行個體請求無效。如果您保留預設值，並嘗試啟動持久性 Spot 執行個體請求，則會出現錯誤。

         如需詳細資訊，請參閱[Spot 執行個體中斷的行為](interruption-behavior.md)。

1. 在 **Summary** (摘要) 面板上，針對 **Number of instances** (執行個體的數量)，輸入要啟動的執行個體數量。
**注意**  
Amazon EC2 為每個 Spot 執行個體建立一個單獨的請求。

1. 在 **Summary** (摘要) 面板上，檢閱執行個體的詳細資訊，並進行任何必要的變更。提交 Spot 執行個體請求後，您就無法變更請求的參數。您可以直接導覽至啟動執行個體精靈中的某個區段，方法是在 **Summary** (摘要) 面板中選擇其連結。如需詳細資訊，請參閱[摘要](ec2-instance-launch-parameters.md#liw-summary)。

1. 當您準備好啟動執行個體時，請選擇 **Launch instance** (啟動執行個體)。

   如果執行個體無法啟動或狀態立即進入 `terminated` 而非 `running`，請參閱[對 Amazon EC2 執行個體啟動問題進行疑難排解](troubleshooting-launch.md)。

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

**若要使用 run-instances 建立 Spot 執行個體請求**  
使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令，並在 `--instance-market-options` 參數中指定 Spot 執行個體選項。

```
--instance-market-options file://spot-options.json
```

以下是在 JSON 檔案中指定的資料結構。您也可以指 `ValidUntil` 和 `InstanceInterruptionBehavior`。如果您沒有在資料結構中指定欄位，則會使用預設值。

以下範例會建立 `persistent` 請求。

```
{
  "MarketType": "spot",
  "SpotOptions": {
    "SpotInstanceType": "persistent"
  }
}
```

**使用 request-spot-instances 建立 Spot 執行個體請求**

**注意**  
我們強烈反對使用 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 命令來請求 Spot 執行個體，因為這是一個沒有計劃投資的舊式 API。如需詳細資訊，請參閱[使用哪種 Spot 請求方法最好？](spot-best-practices.md#which-spot-request-method-to-use)

使用 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 命令來建立一次性請求。

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "one-time" \
    --launch-specification file://specification.json
```

使用 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 命令來建立一個永久的請求。

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "persistent" \
    --launch-specification file://specification.json
```

例如，啟動規格檔案以搭配這些命令使用，請參閱[Spot 執行個體請求啟動規格範例](spot-request-examples.md)。如果您從 Spot 請求主控台下載啟動規格檔案，則必須改用 [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) 命令 (Spot 請求主控台使用 Spot 機群指定 Spot 執行個體請求)。

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

**建立 Spot 執行個體請求**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet，並使用 `-InstanceMarketOption` 參數來指定 Spot 執行個體選項。

```
-InstanceMarketOptions $marketOptions
```

如下所示，建立 Spot 執行個體選項的資料結構。

```
$spotOptions = New-Object Amazon.EC2.Model.SpotMarketOptions
$spotOptions.SpotInstanceType="persistent"
$marketOptions = New-Object Amazon.EC2.Model.InstanceMarketOptionsRequest
$marketOptions.MarketType = "spot"
$marketOptions.SpotOptions = $spotOptions
```

------

# Spot 執行個體請求啟動規格範例
<a name="spot-request-examples"></a>

下列範例顯示您可搭配 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 命令使用的啟動組態，以建立 Spot 執行個體請求。如需詳細資訊，請參閱[管理您的 Spot 執行個體](using-spot-instances-request.md)。

**重要**  
我們強烈反對使用 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 命令來請求 Spot 執行個體，因為這是一個沒有計劃投資的舊式 API。如需詳細資訊，請參閱 [使用哪種 Spot 請求方法最好？](spot-best-practices.md#which-spot-request-method-to-use)

**Topics**
+ [範例 1：啟動 競價型執行個體](#spot-launch-specification1)
+ [範例 2：在指定的可用區域中啟動 競價型執行個體](#spot-launch-specification2)
+ [範例 3：在指定的子網中啟動 競價型執行個體](#spot-launch-specification3)
+ [範例 4：啟動專用 Spot 執行個體](#spot-launch-specification4)

## 範例 1：啟動 競價型執行個體
<a name="spot-launch-specification1"></a>

下列範例不包括可用區域或子網。Amazon EC2 為您選取可用區域。Amazon EC2 會在所選可用區域的預設子網中啟動執行個體。

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## 範例 2：在指定的可用區域中啟動 競價型執行個體
<a name="spot-launch-specification2"></a>

下列範例包括可用區域。Amazon EC2 會在指定可用區域的預設子網中啟動執行個體。

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "Placement": {
    "AvailabilityZone": "us-west-2a"
  },
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## 範例 3：在指定的子網中啟動 競價型執行個體
<a name="spot-launch-specification3"></a>

下列範例包含子網。Amazon EC2 會在指定子網中啟動執行個體。如果 VPC 為非預設 VPC，則執行個體預設不會接收公有 IPv4 地址。

```
{
  "ImageId": "ami-0abcdef1234567890",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "m5.medium",
  "SubnetId": "subnet-1a2b3c4d",
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

若要指派公有 IPv4 位址給非預設 VPC 中的執行個體，請依下列範例所示來指定 `AssociatePublicIpAddress` 欄位。指定網路介面時，您必須填入網路介面的子網 ID 和安全群組 ID，而非使用前例程式碼區塊所示的 `SubnetId` 和 `SecurityGroupIds` 欄位。

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "InstanceType": "m5.medium",
  "NetworkInterfaces": [
    {
      "DeviceIndex": 0,
      "SubnetId": "subnet-1a2b3c4d5e6f7g8h9",
      "Groups": [ "sg-1a2b3c4d5e6f7g8h9" ],
      "AssociatePublicIpAddress": true
    }
  ],
  "IamInstanceProfile": {
      "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
  }
}
```

## 範例 4：啟動專用 Spot 執行個體
<a name="spot-launch-specification4"></a>

下列範例請求具有`dedicated`租用的 Spot 執行個體。專用 Spot 執行個體必須在 VPC 中啟動。

```
{
  "ImageId": "ami-0abcdef1234567890",
  "KeyName": "my-key-pair",
  "SecurityGroupIds": [ "sg-1a2b3c4d5e6f7g8h9" ],
  "InstanceType": "c5.8xlarge",
  "SubnetId": "subnet-1a2b3c4d5e6f7g8h9",
  "Placement": {
    "Tenancy": "dedicated"
  }
}
```

# 取得 Spot 執行個體請求狀態
<a name="spot-request-status"></a>

為協助您追蹤 Spot 執行個體請求並規劃 Spot 執行個體的使用，請使用 Amazon EC2 提供的請求狀態。例如，請求狀態可提供 Spot 請求尚未完成的理由，或列出阻礙完成 Spot 請求的限制。

在程序的每個步驟中— (此程序也稱為 Spot 請求*生命週期*)—，特定的事件會決定相繼請求的狀態。

下圖顯示了 Spot 執行個體請求的運作方式。請注意，請求類型 (一次性或持久性) 會決定在 Amazon EC2 中斷 Spot 執行個體時或者如果您停止 Spot 執行個體，是否會再次開啟請求。如果是持久性請求，則會在 Spot 執行個體中斷之後再次開啟。如果是持久性請求，而且您停止 Spot 執行個體，只會在您啟動 Spot 執行個體後開啟請求。

![\[Spot 執行個體請求的運作方式。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/spot_lifecycle.png)


**Topics**
+ [取得請求狀態資訊](#get-spot-instance-request-status)
+ [Spot 請求狀態碼](#spot-instance-request-status-understand)
+ [EC2 Spot 執行個體請求履行事件](#spot-request-fulfillment-event)
+ [Spot 請求的狀態變更](spot-instances-request-status-lifecycle.md)

## 取得請求狀態資訊
<a name="get-spot-instance-request-status"></a>

您可取得 Spot 執行個體請求的狀態資訊。

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

**取得請求狀態資訊**

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

1. 在瀏覽窗格中，選取 ** Spot 請求** ，然後選取 Spot 請求。

1. 若要檢查狀態，請在**描述**索引標籤上檢查**狀態**欄位。

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

**取得請求狀態資訊**  
使用下列 [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) 命令。

```
aws ec2 describe-spot-instance-requests --spot-instance-request-ids sir-0e54a519c9EXAMPLE
```

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

**取得請求狀態資訊**  
使用 [Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) cmdlet。

```
Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE
```

------

## Spot 請求狀態碼
<a name="spot-instance-request-status-understand"></a>

Spot 請求狀態資訊包含狀態碼、更新時間和狀態訊息。綜合這些資訊，可協助您決定 Spot 請求的處理方式。

下列是 Spot 請求的狀態碼：

`az-group-constraint`  
Amazon EC2 無法在同一個可用區域中，啟動您請求的所有執行個體。

`bad-parameters`  
Spot 請求的一個或多個參數無效 (例如，指定的 AMI 不存在)。狀態訊息會顯示哪個參數無效。

`canceled-before-fulfillment`  
Spot 請求在完成之前已遭到使用者取消。

`capacity-not-available`  
您所請求的執行個體沒有足夠的可用容量。

`constraint-not-fulfillable`  
無法完成 Spot 請求，因為有一個或多個限制條件無效 (例如，可用區域不存在)。狀態訊息會顯示哪個限制條件無效。

`fulfilled`  
Spot 請求是 `active`，並且 Amazon EC2 正在啟動您的 競價型執行個體。

`instance-stopped-by-price`  
您的執行個體已停止，因為 Spot 價格超過您的最高價格。

`instance-stopped-by-user`  
您的執行個體已停止，因為使用者已停止該執行個體或從該執行個體執行關機命令。

`instance-stopped-no-capacity`  
由於 EC2 容量管理需求，您的執行個體已停止。

`instance-terminated-by-price`  
您的執行個體已終止，因為 Spot 價格超過您的最高價格。如果請求為永久性，程序會重新開始執行，因此請求會處於等待評估的狀態。

`instance-terminated-by-schedule`  
您的 Spot 執行個體已在排程持續時間結束時終止。

`instance-terminated-by-service`  
執行個體會從停止狀態終止。

`instance-terminated-by-user` 或 `spot-instance-terminated-by-user`  
您終止了已完成的 Spot 執行個體，因此請求狀態為 `closed` (除非為持久性請求)，而執行個體狀態為 `terminated`。

`instance-terminated-launch-group-constraint`  
啟動群組中的一個或多個執行個體已終止，因此不再滿足啟動群組的限制條件。

`instance-terminated-no-capacity`  
由於標準容量管理程序，您的執行個體已終止。

`launch-group-constraint`  
Amazon EC2 無法同時啟動您請求的所有執行個體。啟動群組中的所有執行個體會同時啟動和終止。

`limit-exceeded`  
已超過 EBS 磁碟區數量或磁碟區儲存空間總數量的限制。如需詳細資訊，請參閱「Amazon EBS 使用者指南」**中的 [Amazon VPC 配額](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-resource-quotas.html)。

`marked-for-stop`  
Spot 執行個體已標記停止。

`marked-for-termination`  
Spot 執行個體已標記終止。

`not-scheduled-yet`  
在尚未達到排程日期之前，將不會評估 Spot 請求。

`pending-evaluation`  
在您發出 Spot 執行個體請求後，在系統評估請求的參數時，該請求會進入 `pending-evaluation` 狀態。

`pending-fulfillment`  
Amazon EC2 正在嘗試佈建 競價型執行個體。

`placement-group-constraint`  
尚無法完成 Spot 請求，因為目前無法將 Spot 執行個體加入置放群組。

`price-too-low`  
尚無法完成 Spot 請求，因為最高價格低於 Spot 價格。在這種情況中，不會啟動任何執行個體，而請求的狀態仍為 `open`。

`request-canceled-and-instance-running`  
您在 競價型執行個體仍在執行時取消了 Spot 請求。請求已 `cancelled`，但執行個體仍處於 `running` 狀態。

`schedule-expired`  
Spot 請求已過期，因為未在指定日期之前完成。

`system-error`  
出現未預期的系統錯誤。如果此問題重複發生，請聯絡 AWS 支援 尋求協助。

## EC2 Spot 執行個體請求履行事件
<a name="spot-request-fulfillment-event"></a>

履行 Spot 執行個體請求後，Amazon EC2 會將 EC2 Spot 執行個體請求履行事件傳送至 Amazon EventBridge。您可以建立規則以在發生此事件時採取動作，例如叫用 Lambda 函數或通知 Amazon SNS 主題。

以下是此事件的範例資料。

```
{
    "version": "0",
    "id": "01234567-1234-0123-1234-012345678901",
    "detail-type": "EC2 Spot Instance Request Fulfillment",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "spot-instance-request-id": "sir-0e54a519c9EXAMPLE",
        "instance-id": "i-1234567890abcdef0"
    }
}
```

如需詳細資訊，請參閱[「Amazon EventBridge 使用者指南」](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。

# Spot 請求的狀態變更
<a name="spot-instances-request-status-lifecycle"></a>

下圖顯示 Spot 請求在整個生命週期的期間中可遵循的路徑 (從提交到終止)。每個步驟皆以節點表示，而每個節點的狀態碼則描述了 Spot 請求和 Spot 執行個體的狀態。

![\[Spot 執行個體請求的生命週期。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/spot-request-status-diagram.png)


**等待評估**  
除非有一個或多個請求參數無效 (`pending-evaluation`)，否則當您建立 Spot 執行個體請求後，它就會立即進入 `bad-parameters` 狀態。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
| pending-evaluation | open | 不適用 | 
| bad-parameters | closed | 不適用 | 

**保留**  
如果有一個或多個請求限制為有效但尚未滿足，或是沒有足夠的容量，則請求會進入保留狀態，以等待限制條件滿足。請求選項會影響請求完成的可能性。例如，如果沒有容量，則請求會持續處於保留狀態，直到有可用的容量為止。如果指定了可用區域群組，則請求會持續處於保留狀態，直到可用區域的限制條件滿足。

如果其中一個可用區域中斷，其他可用區域內的 Spot 執行個體請求可用的備用 EC2 容量也可能會受到影響。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
| capacity-not-available | open |  不適用  | 
| price-too-low | open |  不適用  | 
| not-scheduled-yet | open |  不適用  | 
| launch-group-constraint | open |  不適用  | 
| az-group-constraint | open |  不適用  | 
|  placement-group-constraint  |  open  |  不適用  | 
|  constraint-not-fulfillable  |  open  |  不適用  | 

**等待評估/實現-終止**  
如果所建立的請求只在特定期間內有效，而且在請求進入待完成階段之前，此期間就會到期，則此 Spot 執行個體請求可以進入 `terminal` 狀態。如果您取消請求或系統發生錯誤，也會發生此狀況。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
|  schedule-expired  |  cancelled  |  不適用  | 
|  canceled-before-fulfillment 1  |  cancelled  |  不適用  | 
|  bad-parameters  |  failed  |  不適用  | 
|  system-error  |  closed  |  不適用  | 

¹ 若您取消請求。

**等待實現**  
當您所指定的限制條件 (如果有的話) 已滿足，則 Spot 請求會進入 `pending-fulfillment` 狀態。

此時，Amazon EC2 會準備佈建您所請求的執行個體。如果程序在此時停止，可能是因為使用者已在啟動 Spot 執行個體前取消程序。也可能是因為發生未預期的系統錯誤。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
|  pending-fulfillment  |  open  |  不適用  | 

**已實現**  
當滿足 Spot 執行個體的所有規格時，Spot 請求即已完成。Amazon EC2 會啟動 Spot 執行個體，這可能需要幾分鐘。如果 Spot 執行個體已進入休眠或是在中斷時停止，它將會繼續處於此狀態，直到請求可以再次完成或取消。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
|  fulfilled  |  active  |  pending → running  | 
|  fulfilled  |  active  |  stopped → running  | 

如果您停止 Spot 執行個體，則 Spot 請求會進入 `marked-for-stop` 或 `instance-stopped-by-user` 狀態，直到 Spot 執行個體可以再次啟動或取消請求為止。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
|  marked-for-stop  | active |  stopping  | 
|  instance-stopped-by-user 1  |  disabled 或是 cancelled ²  |  stopped  | 

¹ 如果您停止執行個體或從執行個體執行 shutdown 指令，Spot 執行個體就會進入 `instance-stopped-by-user` 狀態。停止執行個體之後，您可以重新啟動它。重新啟動時，Spot 執行個體請求返回 `pending-evaluation` 狀態，然後在符合限制時 Amazon EC2 會啟動新的 Spot 執行個體。

² 如果您停止 Spot 執行個體但不取消請求，Spot 請求狀態則為 `disabled`。如果 Spot 執行個體已停止且請求到期，請求狀態則為 `cancelled`。

**已實現-終止**  
只要有該執行個體類型可用的容量，且您未終止執行個體，您的Spot 執行個體就會持續運作。如果 Amazon EC2 必須終止 Spot 執行個體，則 Spot 請求會進入終止狀態。如果取消 Spot 請求或終止 競價型執行個體，請求也會進入終止狀態。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
|  request-canceled-and-instance-running  |  cancelled  |  running  | 
|  marked-for-stop  |  active  |  running  | 
|  marked-for-termination  |  active  |  running  | 
|  instance-stopped-by-price  |  disabled  |  stopped  | 
|  instance-stopped-by-user  |  disabled  |  stopped  | 
|  instance-stopped-no-capacity  |  disabled  |  stopped  | 
|  instance-terminated-by-price  |  closed ( 一次性)，open (持續性)  |  terminated  | 
|  instance-terminated-by-schedule  |  closed  |  terminated  | 
|  instance-terminated-by-service  |  cancelled  |  terminated  | 
|  instance-terminated-by-user  |  closed 或是 cancelled ¹  |  terminated  | 
|  instance-terminated-no-capacity  |  closed ( 一次性)，open (持續性)  |  running †  | 
|  instance-terminated-no-capacity  |  closed ( 一次性)，open (持續性)  |  terminated  | 
|  instance-terminated-launch-group-constraint  |  closed ( 一次性)，open (持續性)  |  terminated  | 

¹ 如果您終止執行個體但未取消請求，則請求狀態為 `closed`。如果終止執行個體而且取消請求，則請求狀態為 `cancelled`。即使您在取消 Spot 執行個體的請求之前就先終止它，在 Amazon EC2 偵測到 Spot 執行個體已終止前，可能會有一段延遲時間。在此種情況中，請求的狀態可以是 `cancelled` 或 `closed`。

† 當 Amazon EC2 中斷 Spot 執行個體 (若其需要回收容量)*和*將執行個體設定為中斷時*終止*，狀態會立即設定為 `instance-terminated-no-capacity` (其未設定為 `marked-for-termination`)。但是，執行個體會保留在 `running` 狀態 2 分鐘，反映執行個體收到 Spot 執行個體中斷通知的 2 分鐘時段。2 分鐘後，執行個體狀態設定為 `terminated`。

**中斷實驗**  
您可以使用 AWS Fault Injection Service 啟動 Spot 執行個體中斷，以測試 Spot 執行個體上的應用程式如何回應。如果 AWS FIS 停止 Spot 執行個體，您的 Spot 請求會進入 `marked-for-stop-by-experiment` 狀態，然後進入 `instance-stopped-by-experiment` 狀態。如果 AWS FIS 終止 Spot 執行個體，您的 Spot 請求會進入 `instance-terminated-by-experiment` 狀態。如需詳細資訊，請參閱[啟動 Spot 執行個體中斷](initiate-a-spot-instance-interruption.md)。


| 狀態碼 | 請求狀態 | 執行個體狀態 | 
| --- | --- | --- | 
| marked-for-stop-by-experiment | active | running | 
| instance-stopped-by-experiment | disabled | stopped | 
| instance-terminated-by-experiment | closed | terminated | 

**永久性請求**  
當 Spot 執行個體終止時 (由您或 Amazon EC2 終止)，如果 Spot 請求為持久性請求，則會回到 `pending-evaluation` 狀態，之後 Amazon EC2 就可以在滿足限制條件時啟動新的 Spot 執行個體。

# 標記 Spot 執行個體請求
<a name="concepts-spot-instances-request-tags"></a>

為了協助分類和管理您的 Spot 執行個體請求，您可以使用自訂中繼資料來標記它們。您可以在建立 Spot 執行個體請求時或之後將標記指派給請求。您可以使用 Amazon EC2 主控台或命令列工具來指派標籤。

當您標記 Spot 執行個體請求時，系統不會自動標記 Spot 執行個體請求所啟動的執行個體和磁碟區。您需要明確標記 Spot 執行個體請求啟動的執行個體和磁碟區。您可以在啟動期間或之後將標籤指派給 Spot 執行個體和磁碟區。

如需標籤運作方式的詳細資訊，請參閱[標記您的 Amazon EC2 資源](Using_Tags.md)。

**Topics**
+ [先決條件](#tag-spot-request-prereqs)
+ [標記新的 Spot 執行個體請求](#tag-new-spot-instance-request)
+ [標記現有的 Spot 執行個體請求](#tag-existing-spot-instance-request)
+ [檢視 Spot 執行個體請求標籤](#view-spot-instance-request-tags)

## 先決條件
<a name="tag-spot-request-prereqs"></a>

授予使用者標記資源的許可。如需有關 IAM 政策和政策範例的詳細資訊，請參閱 [範例：標籤資源](ExamplePolicies_EC2.md#iam-example-taggingresources)。

您建立的 IAM 政策取決於建立 Spot 執行個體請求時使用的方法。
+ 如果您使用啟動執行個體精靈或 `run-instances` 來請求 競價型執行個體，請參閱 [To grant a user the permission to tag resources when using the launch instance wizard or run-instances](#iam-run-instances)。
+ 如果您使用 `request-spot-instances` 命令請求 Spot 執行個體，請參閱 [To grant a user the permission to tag resources when using request-spot-instances](#iam-request-spot-instances)。

**若要授予使用者許可，以便在使用啟動執行個體精靈或 run-instances 時標記資源**  
建立包含下列項目的 IAM 政策：
+ `ec2:RunInstances` 動作。這會授予使用者啟動執行個體的許可。
+ 對於 `Resource`，請指定 `spot-instances-request`。這可讓使用者建立 Spot 執行個體請求，它們會請求 Spot 執行個體。
+ `ec2:CreateTags` 動作。這會授予使用者建立標籤的許可。
+ 對於 `Resource`，請指定 `*`。這可讓使用者標記執行個體啟動期間建立的所有資源。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowLaunchInstances",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagSpotInstanceRequests",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

當您使用 RunInstances 動作來建立 Spot 執行個體請求，並在建立時標記 Spot 執行個體請求時，您必須知道 Amazon EC2 如何評估 RunInstances 陳述式中的 `spot-instances-request` 資源，其在 IAM 政策中的評估方式如下：
+ 如果您沒有在建立時標記 Spot 執行個體請求，則 Amazon EC2 不會評估 RunInstances 陳述式中的 `spot-instances-request` 資源。
+ 如果您在建立時標記 Spot 執行個體請求，Amazon EC2 會評估 RunInstances 陳述式中的 `spot-instances-request` 資源。

因此，對於 `spot-instances-request` 資源，下列規則適用於 IAM 政策：
+ 如果您使用 RunInstances 來建立 Spot 執行個體請求，而且您不打算在建立時標記 Spot 執行個體請求，則不需要明確允許 `spot-instances-request` 資源；呼叫將會成功。
+ 如果您使用 RunInstances 來建立 Spot 執行個體請求，並打算在建立時標記 Spot 執行個體請求，則必須在 RunInstances 允許陳述式中包含 `spot-instances-request` 資源，否則呼叫將會失敗。
+ 如果您使用 RunInstances 建立 Spot 執行個體請求，並打算在建立時標記 Spot 執行個體請求，則必須在 CreateTags 允許陳述式中指定 `spot-instances-request` 資源或包含 `*` 萬用字元，否則呼叫將會失敗。

例如，IAM 政策 (包括 Spot 執行個體請求不支援的政策)，請參閱 [使用 競價型執行個體](ExamplePolicies_EC2.md#iam-example-spot-instances)。

**若要授予使用者許可，以便在使用 request-spot-instances 時標記資源**  
建立包含下列項目的 IAM 政策：
+ `ec2:RequestSpotInstances` 動作。這會授予使用者建立 Spot 執行個體請求的許可。
+ `ec2:CreateTags` 動作。這會授予使用者建立標籤的許可。
+ 對於 `Resource`，請指定 `spot-instances-request`。這允許使用者只標記 Spot 執行個體請求。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagSpotInstanceRequest",
            "Effect": "Allow",
            "Action": [
                "ec2:RequestSpotInstances",
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-instances-request/*"
        }
    ]
}
```

------

## 標記新的 Spot 執行個體請求
<a name="tag-new-spot-instance-request"></a>

在 AWS CLI 和 PowerShell 範例中，設定 Spot 執行個體請求，如下所示：
+ 對於 `ResourceType`，請指定 `spot-instances-request`。如果您指定另一個值，Spot 執行個體請求將失敗。
+ 對於 `Tags`，指定金鑰值對。您可以指定多個金鑰值對。

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

**標記新的 Spot 執行個體請求**

1. 遵循[管理您的 Spot 執行個體](using-spot-instances-request.md)程序。

1. 若要新增標記，請在**新增標記**頁面上選擇**新增標記**，然後輸入標記的金鑰和值。為每個額外的標籤**選擇新增其他標籤**。

   對於每個標籤，您可以用相同的標籤來標記 Spot 執行個體請求、Spot 執行個體以及磁碟區。若要標記所有這三個項目，請確保已選取**執行個體**、**磁碟區**和 **Spot 執行個體請求**。若只要標記一個或兩個，請確定已選取要標記的資源，並清除其他資源。

1. 完成建立 Spot 執行個體請求的必要欄位，然後選擇 **Launch** (啟動)。如需詳細資訊，請參閱[管理您的 Spot 執行個體](using-spot-instances-request.md)。

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

**標記新的 Spot 執行個體請求**  
使用 `--tag-specification` 選項並搭配 [request-spot-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html) 命令。

標籤規格會將兩個標籤新增至 Spot 執行個體請求：`Environment=Production` 與 `Cost-Center=123`。

```
aws ec2 request-spot-instances \
    --instance-count 5 \
    --type "one-time" \
    --launch-specification file://specification.json \
    --tag-specification 'ResourceType=spot-instances-request,Tags=[{Key=Environment,Value=Production},{Key=Cost-Center,Value=123}]'
```

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

**標記新的 Spot 執行個體請求**  
使用 [Request-EC2SpotInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotInstance.html) cmdlet 搭配 `-TagSpecification`。

```
-TagSpecification $tagspec
```

標籤規格的定義如下。它會將兩個標籤新增至 Spot 執行個體請求：`Environment=Production` 與 `Cost-Center=123`。

```
$tag1 = @{Key="Environment"; Value="Production"}
$tag2 = @{Key="Cost-Center"; Value="123"}
$tagspec = New-Object Amazon.EC2.Model.TagSpecification
$tagspec.ResourceType = "spot-instances-request"
$tagspec.Tags = @($tag1,$tag2)
```

------

## 標記現有的 Spot 執行個體請求
<a name="tag-existing-spot-instance-request"></a>

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

**標記現有的 Spot 執行個體請求**

建立 Spot 執行個體請求後，您可以使用主控台為 Spot 執行個體請求新增標籤。

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

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選取您的 Spot 執行個體請求。

1. 選擇**標籤**索引標籤，然後選擇**建立標籤**。

**若要使用主控台標記現有的 Spot 執行個體**  
在您的 Spot 執行個體請求啟動 Spot 執行個體之後，您可以使用主控台將標籤新增到執行個體。如需詳細資訊，請參閱[使用主控台新增標籤](Using_Tags_Console.md#adding-or-deleting-tags)。

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

**標記現有的 Spot 執行個體請求或 Spot 執行個體**  
使用[建立標籤](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html)命令來標記現有資源。在下面的例子中，現有的 Spot 執行個體請求和 Spot 執行個體會使用 `purpose=test` 進行標記。

```
aws ec2 create-tags \
    --resources sir-0e54a519c9EXAMPLE i-1234567890abcdef0 \
    --tags Key=purpose,Value=test
```

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

**標記現有的 Spot 執行個體請求或 Spot 執行個體**  
使用 [New-EC2Tag](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Tag.html) cmdlet。下列範例會將標籤 `purpose=test` 新增至現有 Spot 執行個體請求和 Spot 執行個體。

```
New-EC2Tag `
    -Resource sir-0e54a519c9EXAMPLE, i-1234567890abcdef0 `
    -Tag @{Key="purpose"; Value="test"}
```

------

## 檢視 Spot 執行個體請求標籤
<a name="view-spot-instance-request-tags"></a>

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

**檢視 Spot 執行個體請求標籤**

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

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選取您的 Spot 執行個體請求並選取 **Tags** (標籤) 標籤。

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

**若要描述 Spot 執行個體請求標籤**  
使用 [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) 命令來檢視指定 Spot 執行個體請求的組態，其中包括為請求指定的任何標籤。

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].Tags"
```

以下為範例輸出。

```
[
    [
        {
            "Key": "Environment",
            "Value": "Production"
        },
        {
            "Key": "Department",
            "Value": "101"
        }
    ]
]
```

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

**若要描述 Spot 執行個體請求標籤**  
使用 [Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) cmdlet。

```
(Get-EC2SpotInstanceRequest `
    -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).Tags
```

以下為範例輸出。

```
Key         Value
---         -----
Environment Production
Department  101
```

------

# 若要取消 Spot 執行個體請求
<a name="using-spot-instances-cancel"></a>

如果您不再需要 Spot 執行個體請求，可以取消它。您只能取消狀態為 `open`、`active` 或 `disabled` 的 Spot 執行個體請求。
+ 當請求尚未處理完成，而且尚未啟動任何執行個體時，Spot 執行個體請求的狀態為 `open`。
+ 當請求已處理完成，而且因此啟動了 Spot 執行個體時，Spot 執行個體請求的狀態為 `active`。
+ 當您停止 Spot 執行個體時，您的 Spot 執行個體請求的狀態為 `disabled`。

如果您的 Spot 執行個體請求的狀態為 `active`，並且擁有相關聯的執行中 Spot 執行個體，則取消請求並不會終止執行個體。如需有關終止 Spot 執行個體的詳細資訊，請參閱[終止 Spot 執行個體](using-spot-instances-request.md#terminating-a-spot-instance)。

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

**若要取消 Spot 執行個體請求**

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

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選取 Spot 執行個體請求。

1. 選擇**動作**、**取消請求**。

1. (選擇性) 如果您已完成與 競價型執行個體 的關聯，您可以終止它們。在**取消 Spot 請求**對話方塊中，選取**終止執行個體**，然後選取**確認**。

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

**若要取消 Spot 執行個體請求**  
使用下列 [cancel-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-spot-instance-requests.html) 命令。

```
aws ec2 cancel-spot-instance-requests --spot-instance-request-ids sir-0e54a519c9EXAMPLE
```

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

**若要取消 Spot 執行個體請求**  
使用 [Stop-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2SpotInstanceRequest.html) cmdlet。

```
Stop-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE
```

------

# 管理您的 Spot 執行個體
<a name="using-spot-instances-request"></a>

當有容量可用時，Amazon EC2 會啟動 Spot 執行個體。Spot 執行個體會執行，直到它中斷或您自己終止它。

**Topics**
+ [尋找您的 Spot 執行個體](#using-spot-instances-running)
+ [尋找由特定請求啟動的執行個體](#find-request-spot-instances)
+ [停止 Spot 執行個體](#stopping-a-spot-instance)
+ [啟動 Spot 執行個體](#starting-a-spot-instance)
+ [終止 Spot 執行個體](#terminating-a-spot-instance)

## 尋找您的 Spot 執行個體
<a name="using-spot-instances-running"></a>

Spot 執行個體與隨需執行個體會出現在主控台的**執行個體**頁面中。使用下列程序，尋找您的 Spot 執行個體。

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

**尋找您的 Spot 執行個體**

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

1. 在導覽窗格中，選擇**執行個體**。

1. 若要尋找所有 Spot 執行個體，請在搜尋窗格中，選擇**執行個體 lifecycle=spot**。

1. 若要驗證執行個體是否為 Spot 執行個體，請選取執行個體，選擇**詳細資訊**索引標籤，然後檢查**生命週期**的值。Spot 執行個體的值為 `spot`，隨需執行個體的值為 `normal`。

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

**尋找您的 Spot 執行個體**  
使用下面的 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 命令。

```
aws ec2 describe-instances --filters "Name=instance-lifecycle,Values=spot"
```

**若要判斷執行個體是否為 Spot 執行個體**  
使用下面的 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 命令。

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[*].InstanceLifecycle" \
    --output text
```

若該輸出為 `spot`，表示該執行個體為 Spot 執行個體。如果沒有輸出，執行個體即為隨需執行個體。

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

**尋找您的 Spot 執行個體**  
使用 [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet。

```
Get-EC2Instance -Filter @{Name="instance-lifecycle"; Values="spot"}
```

**若要判斷執行個體是否為 Spot 執行個體**  
使用 [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet。

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.InstanceLifecycle
```

若該輸出為 `Spot`，表示該執行個體為 Spot 執行個體。如果沒有輸出，執行個體即為隨需執行個體。

------

## 尋找由特定請求啟動的執行個體
<a name="find-request-spot-instances"></a>

使用下列程序來尋找從特定 Spot 執行個體或 Spot 機群請求啟動的 Spot 執行個體。

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

**尋找請求的 Spot 執行個體**

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

1. 在瀏覽窗格中，選擇 **Spot 請求**。包含 Spot 執行個體請求和 Spot 機群請求的清單。

1. 如果已完成 Spot 執行個體請求，**容量**就是 Spot 執行個體的 ID。對於 Spot Fleet ，**容量**表示已完成所請求容量的程度。若要檢視 Spot Fleet 中的執行個體 ID，請選取展開箭頭，或選取該機群並選取 **Instances** (執行個體)。

1. 對於 Spot 機群，**容量**表示已完成所請求容量的程度。若要檢視 Spot 機群中執行個體 ID，請選擇機群 ID 以開啟其詳細資訊頁面，並尋找**執行個體**窗格。

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

**尋找請求的 Spot 執行個體**  
使用下列 [describe-spot-instance-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-instance-requests.html) 命令。

```
aws ec2 describe-spot-instance-requests \
    --spot-instance-request-ids sir-0e54a519c9EXAMPLE \
    --query "SpotInstanceRequests[*].{ID:InstanceId}"
```

下列為範例輸出：

```
[
    {
        "ID": "i-1234567890abcdef0"
    },
    {
        "ID": "i-0598c7d356eba48d7"
    }
]
```

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

**尋找請求的 Spot 執行個體**  
使用 [Get-EC2SpotInstanceRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotInstanceRequest.html) cmdlet。

```
(Get-EC2SpotInstanceRequest -SpotInstanceRequestId sir-0e54a519c9EXAMPLE).InstanceId
```

------

## 停止 Spot 執行個體
<a name="stopping-a-spot-instance"></a>

如果您現在不需要您的 競價型執行個體，但想稍後重新啟動它們，而不會遺失 Amazon EBS 磁碟區中保留的資料，您可以將其停止。停止 Spot 執行個體的步驟與停止隨需執行個體的步驟類似。

**注意**  
停止 Spot 執行個體時，您可以修改其某些執行個體屬性，但無法修改執行個體類型。  
我們不會對已停止的 Spot 執行個體計費，也不會收取數據傳輸費，但是會收取任何 Amazon EBS 磁碟區的儲存費用。

**限制**
+ 如果從 `persistent` Spot 執行個體請求中啟動 Spot 執行個體，則只能停止 Spot 執行個體。
+ 如果已取消關聯的 Spot 執行個體請求，則無法停止 Spot 執行個體。當 Spot 執行個體請求被取消時，您只能終止 Spot 執行個體。
+ 如果 Spot 執行個體屬於某個機群或啟動群組或可用區域群組，則無法停止它。

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

**停止 Spot 執行個體**

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

1. 在導覽窗格中，選擇**執行個體**。

1. 選取 Spot 執行個體。如果您未儲存 Spot 執行個體的執行個體 ID，請參閱 [尋找您的 Spot 執行個體](#using-spot-instances-running)。

1. 選擇 **Instance state (執行個體狀態)**、**Stop instance (停止執行個體)**。

1. 出現確認提示時，請選擇 **Stop (停止)**。

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

**停止 Spot 執行個體**  
使用 [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) 命令手動停止 Spot 執行個體。

```
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
```

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

**停止 Spot 執行個體**  
使用 [Stop-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2Instance.html) cmdlet。

```
Stop-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## 啟動 Spot 執行個體
<a name="starting-a-spot-instance"></a>

您可以啟動之前已停止的 Spot 執行個體。

**先決條件**

只有在下列情況下，才能啟動 Spot 執行個體：
+ 您手動停止了 Spot 執行個體。
+ Spot 執行個體是 EBS 支援的執行個體。
+ Spot 執行個體容量可用。
+ Spot 價格低於您的最高價格。

**限制**
+ 如果 Spot 執行個體屬於某個機群或啟動群組或可用區域群組，則無法啟動它。

啟動 Spot 執行個體的步驟與啟動隨需執行個體的步驟類似。

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

**啟動 Spot 執行個體**

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

1. 在導覽窗格中，選擇**執行個體**。

1. 選取 Spot 執行個體。如果您未儲存 Spot 執行個體的執行個體 ID，請參閱 [尋找您的 Spot 執行個體](#using-spot-instances-running)。

1. 選擇 **Instance state (執行個體狀態)**、**Start instance (啟動執行個體)**。

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

**啟動 Spot 執行個體**  
使用 [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) 命令手動啟動 Spot 執行個體。

```
aws ec2 start-instances --instance-ids i-1234567890abcdef0
```

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

**啟動 Spot 執行個體**  
使用 [Start-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Start-EC2Instance.html) cmdlet。

```
Start-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## 終止 Spot 執行個體
<a name="terminating-a-spot-instance"></a>

**警告**  
**終止執行個體的操作為永久性且無法復原。**  
終止執行個體後，您將無法再連線至該執行個體，且無法復原該執行個體。所有設定為終止時刪除的已連接 Amazon EBS 磁碟區，也會被永久刪除且無法復原。儲存在執行個體儲存體磁碟區的所有資料將永久遺失。如需詳細資訊，請參閱[終止執行個體的運作方式](how-ec2-instance-termination-works.md)。  
在終止執行個體之前，確認您已將終止使用後需要保留的全部資料備份至持久性儲存體。

如果終止持久性 Spot 執行個體請求啟動的執行中或已停止的 Spot 執行個體，Spot 執行個體請求會轉變為 `open` 狀態，以便啟動新的 Spot 執行個體。若要確保沒有啟動新的 Spot 執行個體，您必須先取消 Spot 執行個體請求。

如果您取消具有執行中 Spot 執行個體的 `active` Spot 執行個體請求，則執行中的 Spot 執行個體不會自動終止；您必須手動終止 Spot 執行個體。

如果您取消具有已停止的 Spot 執行個體的 `disabled` Spot 執行個體請求，則 Amazon EC2 Spot 服務會自動終止已停止的 Spot 執行個體。取消 Spot 執行個體請求和 Spot 服務終止 Spot 執行個體之間可能有短暫延遲。

如需詳細資訊，請參閱[若要取消 Spot 執行個體請求](using-spot-instances-cancel.md)。

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

**手動終止 Spot 執行個體**

1. 終止執行個體前，請檢查您的 Amazon EBS 磁碟區不會在終止時被刪除，並確認已將執行個體存放區磁碟區上的所需資料複製到持久性儲存 (例如 Amazon EBS 或 Amazon S3)，藉此確認您不會遺失任何資料。

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

1. 在導覽窗格中，選擇**執行個體**。

1. 選取 Spot 執行個體。如果您未儲存 Spot 執行個體的執行個體 ID，請參閱 [尋找您的 Spot 執行個體](#using-spot-instances-running)。

1. 選擇**執行個體狀態**、**終止 (刪除) 執行個體**。

1. 出現確認提示時，請選擇**終止 (刪除)**。

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

**手動終止 Spot 執行個體**  
使用 [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) 命令手動終止 Spot 執行個體。

```
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7
```

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

**手動終止 Spot 執行個體**  
使用 [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) cmdlet。

```
Remove-EC2Instance -InstanceId i-1234567890abcdef0
```

------

# Spot 執行個體中斷
<a name="spot-interruptions"></a>

您可以在備用 EC2 容量上啟動 競價型執行個體以獲得大幅折扣，做為在 Amazon EC2 需要取回容量時歸還的交換。當 Amazon EC2 回收 Spot 執行個體時，我們將此事件稱為 *Spot 執行個體中斷*。

對 競價型執行個體的需求可能會隨時產生極大的變化，而取決於有多少可用的未使用 EC2 執行個體，競價型執行個體的可用性也可能會有顯著的變化。Spot 執行個體隨時都有可能中斷。下列是 Amazon EC2 會中斷 競價型執行個體的可能原因：

**容量**  
Amazon EC2 可以在需要取回時中斷 Spot 執行個體。EC2 取回您的執行個體主要用於重新規劃容量，但也可能基於其他原因，例如主機維護或硬體解除委任。

**價格**  
Spot 價格高於您的最高價格。  
您可以在 Spot 請求中指定最高價格。然而，如果您指定了最高價格，執行個體將比未指定最高價時更頻繁受到中斷。

**限制條件**  
如果 Spot 請求包含限制條件，例如啟動群組或可用區域群組，則不再滿足限制條件時，Spot 執行個體會以群組的形式終止。

當 Amazon EC2 中斷 Spot 執行個體時，它會終止、停止或休眠執行個體，具體取決於您在建立 Spot 請求時指定的中斷行為。

**Topics**
+ [中斷行為](interruption-behavior.md)
+ [中斷的準備作業](prepare-for-interruptions.md)
+ [啟動中斷](initiate-a-spot-instance-interruption.md)
+ [Spot 執行個體中斷通知](spot-instance-termination-notices.md)
+ [尋找中斷的 競價型執行個體](finding-an-interrupted-Spot-Instance.md)
+ [確定 Amazon EC2 是否已終止 Spot 執行個體](BidEvictedEvent.md)
+ [帳單](billing-for-interrupted-spot-instances.md)

# Spot 執行個體中斷的行為
<a name="interruption-behavior"></a>

建立 Spot 請求時，您可以指定中斷行為。可能的中斷行為如下：
+ [停止](#stop-spot-instances)
+ [休眠](#hibernate-spot-instances)
+ [終止](#terminate-interrupted-spot-instances)

預設行為是 Amazon EC2 在 Spot 執行個體中斷時將其終止。

## 停止中斷的 競價型執行個體
<a name="stop-spot-instances"></a>

您可以指定 Amazon EC2 在您的 Spot 執行個體中斷時將其停止。Spot 執行個體請求類型必須為 `persistent`。您無法在 Spot 執行個體請求中指定啟動群組。EC2 Fleet 或 Spot 機群請求類型必須為 `maintain`。

**考量事項**
+ 只有 Amazon EC2 才能重新啟動中斷的已停止 Spot 執行個體。
+ 針對由 `persistent` Spot 執行個體請求啟動的 Spot 執行個體：當相同可用區域中的容量可用，且執行個體類型與已停止執行個體相同時，Amazon EC2 便會重新啟動已停止的執行個體。
+ 停止 Spot 執行個體時，您可以修改其某些執行個體屬性，但無法修改執行個體類型。如果卸載或刪除了 EBS 磁碟區，當 Spot 執行個體啟動時，不會連接 EBS 磁碟區。如果卸載了根磁碟區，而 Amazon EC2 試著啟動 Spot 執行個體，則執行個體會啟動失敗，而且 Amazon EC2 會終止已停止的執行個體。
+ 您可以在 Spot 執行個體停止時將其終止。
+ 如果取消 Spot 執行個體請求、EC2 Fleet 或 Spot Fleet，Amazon EC2 會終止已停止的任何相關 Spot 執行個體。
+ 當終止的 Spot 執行個體停止時，您只需支付保留 EBS 磁碟區的費用。使用 EC2 Fleet 和 Spot Fleet 時，如果有許多已停止的執行個體，可能會超出您帳戶的 EBS 磁碟區數量限制。如需在 Spot 執行個體中斷時計費方式的詳細資訊，請參閱 [針對已中斷的 競價型執行個體收費](billing-for-interrupted-spot-instances.md)。
+ 確定您熟悉停止執行個體的含義。如需停止執行個體時會發生狀況的資訊，請參閱 [執行個體狀態之間的差異](ec2-instance-lifecycle.md#lifecycle-differences)。

## 休眠中斷的 競價型執行個體
<a name="hibernate-spot-instances"></a>

您可以指定 Amazon EC2 在您的 Spot 執行個體中斷時將其休眠。如需詳細資訊，請參閱[讓 Amazon EC2 執行個體進入休眠](Hibernate.md)。

Amazon EC2 現在提供與隨需執行個體目前使用相同的 Spot 執行個體休眠體驗。支援更廣泛，現在針對 Spot 執行個體休眠支援下列內容：
+ [更多支援的 AMI](hibernating-prerequisites.md#hibernation-prereqs-supported-amis)
+ [更多支援的執行個體系列](hibernating-prerequisites.md#hibernation-prereqs-supported-instance-families)
+ [使用者啟動的休眠](hibernating-instances.md)

## 終止已中斷的 Spot 執行個體
<a name="terminate-interrupted-spot-instances"></a>

當 Amazon EC2 中斷 Spot 執行個體時，預設情況下會終止執行個體，除非您指定了其他中斷行為，例如停止或休眠。如需詳細資訊，請參閱[終止 Amazon EC2 執行個體](terminating-instances.md)。

# 準備 Spot 執行個體中斷
<a name="prepare-for-interruptions"></a>

對 競價型執行個體的需求可能會隨時產生極大的變化，而取決於有多少可用的未使用 EC2 執行個體，競價型執行個體的可用性也可能會有顯著的變化。Spot 執行個體隨時都有可能中斷。因此，您必須確定應用程式已經為 Spot 執行個體中斷做好準備。

建議您遵循這些最佳實務，以便為 Spot 執行個體中斷做好準備。
+ 使用 Auto Scaling 群組建立 Spot 請求。如果您的 Spot 執行個體中斷，Auto Scaling 群組將自動啟動替換執行個體。如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的[具備多個執行個體類型及購買選項的 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html)。
+ 使用包含所需軟體組態的 Amazon Machine Image (AMI)，來確保執行個體在請求完成時能夠立即開始運作。您也可以利用使用者資料，在啟動時執行命令。
+ 在停止或終止執行個體時，執行個體儲存體磁碟區上的資料會遺失。將執行個體儲存體磁碟區上的所有重要資料備份到更持久的儲存體，例如 Amazon S3、Amazon EBS 或 Amazon DynamoDB。
+ 請將重要的資料定期存放於當 Spot 執行個體終止時不會受到影響的位置。例如，您可以使用 Amazon S3、Amazon EBS 或 DynamoDB。
+ 將工作分割為較小的任務 (使用 Grid、Hadoop 或採用佇列的架構) 或使用檢查點，如此您就可以經常儲存工作。
+ Amazon EC2 會在執行個體處在提高的中斷風險時對 Spot 執行個體發出重新平衡建議訊號。您可以依賴重新平衡建議，主動管理 Spot 執行個體中斷，而不必等待兩分鐘的 Spot 執行個體中斷通知。如需詳細資訊，請參閱 [EC2 執行個體重新平衡建議](rebalance-recommendations.md)。
+ 使用兩分鐘的 Spot 執行個體中斷通知來監控 Spot 執行個體的狀態。如需詳細資訊，請參閱 [Spot 執行個體中斷通知](spot-instance-termination-notices.md)。
+ 雖然我們努力地盡快提供這些警示，但您的 Spot 執行個體還是有可能在警示發布之前中斷。測試您的應用程式，確保它能夠從容地處理非預期的執行個體中斷，即使您正在監控重新平衡建議訊號和中斷通知。您可以執行使用隨需執行個體的應用程式，然後自行終止隨需執行個體，從而完成此任務。
+ 使用 執行受控故障注入實驗 AWS Fault Injection Service ，以測試您的應用程式在 Spot 執行個體中斷時如何回應。如需詳細資訊，請參閱 *AWS Fault Injection Service 使用者指南*中[教學課程：使用 AWS FIS測試 Spot 執行個體中斷](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html)。

# 啟動 Spot 執行個體中斷
<a name="initiate-a-spot-instance-interruption"></a>

您可以在 Amazon EC2 主控台中選取 Spot 執行個體請求或 Spot 機群請求並啟動 Spot 執行個體中斷，以便您可以測試 Spot 執行個體上的應用程式如何處理中斷。當您啟動 Spot 執行個體中斷時，Amazon EC2 會通知您 Spot 執行個體將在兩分鐘後中斷，接著在兩分鐘後，執行個體會中斷。

執行 Spot 執行個體中斷的基礎服務是 AWS Fault Injection Service (AWS FIS)。如需 的詳細資訊 AWS FIS，請參閱 [AWS Fault Injection Service](https://aws.amazon.com/fis/)。

**注意**  
中斷行為是 `terminate`、`stop` 以及 `hibernate`。如果將中斷行為設定為 `hibernate`，當您啟動 Spot 執行個體中斷時，休眠程序將立即開始。

除了亞太區域 （雅加達）、亞太區域 （大阪）、中國 （北京）、中國 （寧夏） 和中東 （阿拉伯聯合大公國） AWS 區域 以外，所有 都支援啟動 Spot 執行個體中斷。

**Topics**
+ [啟動 Spot 執行個體中斷](#initiate-interruption)
+ [確認 Spot 執行個體中斷](#spot-interruptions-verify-result)
+ [配額](#fis-quota-for-spot-instance-interruption)

## 啟動 Spot 執行個體中斷
<a name="initiate-interruption"></a>

您可以使用 EC2 主控台快速啟動 Spot 執行個體中斷。當您選取 Spot 執行個體請求時，您可以啟動一個 Spot 執行個體的中斷。當您選取 Spot 機群請求時，您可以一次啟動多個 Spot 執行個體的中斷。

如需測試 Spot 執行個體中斷的更進階實驗，您可以使用 AWS FIS 主控台建立自己的實驗。

**使用 EC2 主控台啟動 Spot 執行個體請求中的一個 Spot 執行個體的中斷**

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

1. 在瀏覽窗格中，選擇 **Spot Requests** (Spot 請求)。

1. 選取 Spot 執行個體請求，然後選取 **Actions** (動作)、**Initiate interruption** (啟動中斷)。您無法選取多個 Spot 執行個體請求來啟動中斷。

1. 在 **Initiate Spot Instance interruption** (啟動 Spot 執行個體中斷) 對話方塊，於 **Service access** (服務存取) 下，使用預設角色或選擇現有角色。若要選取現有角色，請選取**使用現有的服務角色**，然後對於 **IAM 角色**，選取要使用的角色。

1. 當您準備好要啟動 Spot 執行個體中斷時，請選擇 **Initiate interruption** (啟動中斷)。

**使用 EC2 主控台啟動 Spot 機群請求中的一個或多個 Spot 執行個體的中斷**

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

1. 在瀏覽窗格中，選擇 **Spot Requests** (Spot 請求)。

1. 選取 Spot 機群請求，然後選取**動作**、**啟動中斷**。您無法選取多個 Spot 機群請求來啟動中斷。

1. 在**指定 Spot 執行個體的數目**對話方塊中，對於**要中斷之執行個體的數目**，輸入要中斷之 Spot 執行個體的數目，然後選擇**確認**。
**注意**  
該數量不能超過機群中的 Spot 執行個體數量，或每個實驗 AWS FIS 可以中斷的 Spot 執行個體數量[配額](#fis-quota-for-spot-instance-interruption)。

1. 在 **Initiate Spot Instance interruption** (啟動 Spot 執行個體中斷) 對話方塊，於 **Service access** (服務存取) 下，使用預設角色或選擇現有角色。若要選取現有角色，請選取**使用現有的服務角色**，然後對於 **IAM 角色**，選取要使用的角色。

1. 當您準備好要啟動 Spot 執行個體中斷時，請選擇 **Initiate interruption** (啟動中斷)。

**使用 AWS FIS 主控台建立更進階的實驗來測試 Spot 執行個體中斷**

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

1. 在瀏覽窗格中，選擇 **Spot Requests** (Spot 請求)。

1. 選擇 **Actions** (動作)，**Create advanced experiments** (建立進階實驗)。

    AWS FIS 主控台隨即開啟。如需詳細資訊，請參閱「AWS Fault Injection Service 使用者指南」**中的[教學課程：使用 AWS FIS測試 Spot 執行個體中斷](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorial-spot-interruptions.html)。

## 確認 Spot 執行個體中斷
<a name="spot-interruptions-verify-result"></a>

在您啟動中斷後，會發生下列情況：
+ Spot 執行個體會收到[執行個體重新平衡建議](rebalance-recommendations.md)。
+ [Spot 執行個體中斷通知](spot-instance-termination-notices.md)會在 AWS FIS 中斷執行個體的兩分鐘前發出。
+ 兩分鐘後，系統會中斷 Spot 執行個體。
+ 由 停止的 Spot 執行個體會 AWS FIS 保持停止狀態，直到您重新啟動為止。

**確認執行個體在您啟動中斷後是否已中斷**

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

1. 從導覽窗格中，在單獨的瀏覽器索引標籤或視窗中開啟 **Spot Requests** (Spot 請求) 和 **Instances** (執行個體)。

1. 對於 **Spot 請求**，選取 Spot 執行個體請求或 Spot 機群請求。起始狀態為 `fulfilled`。執行個體中斷後，根據中斷行為，狀態會有如下變更：
   + `terminate` – 狀態會變成 `instance-terminated-by-experiment`。
   + `stop` – 狀態會變成 `marked-for-stop-by-experiment`​，然後再變成 `instance-stopped-by-experiment`。

1. 對於 **Instances** (執行個體)，選取 Spot 執行個體。起始狀態為 `Running`。收到 Spot 執行個體中斷通知後兩分鐘，根據中斷行為，狀態會有如下變更：
   + `stop` – 狀態會變成 `Stopping`​，然後再變成 `Stopped`。
   + `terminate` – 狀態會變成 `Shutting-down`​，然後再變成 `Terminated`。

## 配額
<a name="fis-quota-for-spot-instance-interruption"></a>

對於每個實驗 AWS FIS 可以中斷的 Spot 執行個體數量，您的 AWS 帳戶 具有下列預設配額。


| 名稱 | 預設 | 可調整 | Description | 
| --- | --- | --- | --- | 
|  aws:ec2:send-spot-instance-interruptions 的目標 Spot 執行個體  |  每個受支援的區域：5  | 是 |  當您每個實驗使用標籤識別目標時，aws:ec2:send-spot-instance-interruptions 可以鎖定之 Spot 執行個體的數目上限。  | 

您可以要求增加配額。如需詳細資訊，請參閱「Service Quotas 使用者指南」**中的[請求提高配額](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。

若要檢視 的所有配額 AWS FIS，請開啟 [Service Quotas 主控台](https://console.aws.amazon.com/servicequotas/home)。在導覽窗格中，選擇 **AWS 服務**，然後選取 **AWS Fault Injection Service**。您也可以在 *AWS Fault Injection Service 使用者指南*中檢視 [AWS Fault Injection Service](https://docs.aws.amazon.com/fis/latest/userguide/fis-quotas.html) 的所有配額。

# Spot 執行個體中斷通知
<a name="spot-instance-termination-notices"></a>

*Spot 執行個體中斷通知*是在 Amazon EC2 停止或終止 Spot 執行個體的兩分鐘之前發出的警告。如果將休眠指定為中斷時的行為，您會收到中斷通知，但不會提前兩分鐘收到警告，因為休眠程序會立刻開始執行。

從容處理 Spot 執行個體中斷的最佳方法，就是建立容錯的應用程式架構。若要達成此目的，您可以利用 Spot 執行個體中斷通知。建議您每隔 5 秒檢查這些中斷通知。

中斷通知可做為 EventBridge 事件和 Spot 執行個體上[執行個體中繼資料](ec2-instance-metadata.md)中的項目。中斷通知的原則是盡可能發出。

## EC2 Spot Instance Interruption Warning 事件
<a name="ec2-spot-instance-interruption-warning-event"></a>

當 Amazon EC2 要中斷您的 Spot 執行個體時，它會在實際中斷前兩分鐘發出一個事件 (休眠除外，它會收到中斷通知，但不會提前兩分鐘，因為休眠會立即開始)。Amazon EventBridge 可以偵測到此事件。如需 EventBridge 事件的詳細資訊，請參閱[「Amazon EventBridge 使用者指南」](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。如需如何建立和使用事件規則的詳細範例，請參閱[利用 Amazon EC2 Spot 執行個體中斷通知](https://aws.amazon.com/blogs/compute/taking-advantage-of-amazon-ec2-spot-instance-interruption-notices/)。

下列是 Spot 執行個體中斷事件的範例。`instance-action` 可能的值為 `hibernate`、`stop` 或 `terminate`。

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Spot Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2a:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0",
        "instance-action": "action"
    }
}
```

**注意**  
Spot 執行個體中斷事件的 ARN 格式是 `arn:aws:ec2:availability-zone:instance/instance-id`。此格式與 [EC2 資源 ARN 格式](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)不同。

## instance-action
<a name="instance-action-metadata"></a>

`instance-action` 項目會指定動作和動作發生的約略時間 (UTC)。

如果 Spot 執行個體已標記為由 Amazon EC2 停止或終止，則[執行個體中繼資料](ec2-instance-metadata.md)中會出現 `instance-action` 項目。否則不會存在。您可以使用執行個體中繼資料服務第 2 版 (IMDSv2) 擷取 `instance-action`，如下所示。

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/spot/instance-action
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/instance-action
```

------

 下列範例輸出指出此執行個體將會停止的時間點。

```
{"action": "stop", "time": "2017-09-18T08:22:00Z"}
```

下列範例輸出指出此執行個體將會終止的時間點。

```
{"action": "terminate", "time": "2017-09-18T08:22:00Z"}
```

如果 Amazon EC2 未準備停止或終止執行個體，或是您自行終止了執行個體，則執行個體中繼資料中不會出現 `instance-action`，而且您會在嘗試擷取它時收到 HTTP 404 錯誤。

## termination-time
<a name="termination-time-metadata"></a>

`termination-time` 項目會指定執行個體將接收結束訊號的約略時間 (UTC)。

**注意**  
保留此項目是為了回溯相容性；您應改用 `instance-action`。

如果您的 Spot 執行個體被 Amazon EC2 標記為終止 (由於 Spot 執行個體中斷，中斷行為設定為 `terminate`，或者由於取消持續性 Spot 執行個體請求)，則 `termination-time` 項目會出現在[執行個體中繼資料](ec2-instance-metadata.md)中。否則不會存在。您可以使用 `termination-time` IMDSv2 擷取，如下所示。

------
#### [ Linux ]

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
if curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/spot/termination-time | grep -q .*T.*Z; then echo termination_scheduled; fi
```

------
#### [ Windows ]

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/meta-data/spot/termination-time
```

------

以下為範例輸出。

```
2015-01-05T18:02:00Z
```

如果 Amazon EC2 沒有準備終止執行個體 (無論是因為沒有 Spot 執行個體中斷，或是因為中斷行為設定為 `stop` 或 `hibernate`) 或是您自行終止 Spot 執行個體，則 `termination-time` 項目可能不存在於執行個體中繼資料中 (因此您會收到 HTTP 404 錯誤)，或是包含的值並非時間值。

如果 Amazon EC2 終止執行個體的動作失敗，則請求狀態會設定為 `fulfilled`。`termination-time` 值仍會存在於執行個體中繼資料中，包含原來的約略時間 (現在這個時間已經成為過去)。

# 尋找中斷的 競價型執行個體
<a name="finding-an-interrupted-Spot-Instance"></a>

當您描述 EC2 執行個體時，結果會包含 Spot 執行個體。Spot 執行個體的執行個體生命週期為 `spot`。Spot 執行個體的執行個體狀態為 `stopped` 或 `terminated`，視您設定的中斷行為而定。若為已休眠的 Spot 執行個體，執行個體狀態為 `stopped`。

如需中斷原因的其他詳細資訊，請檢查 Spot 要求狀態碼。如需詳細資訊，請參閱[取得 Spot 執行個體請求狀態](spot-request-status.md)。

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

**尋找中斷的 Spot 執行個體**

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

1. 在導覽窗格中，選擇**執行個體**。

1. 套用下列篩選條件：**執行個體生命週期=spot**。

1. 根據您設定的中斷行為，套用**執行個體狀態=已停止**或**執行個體狀態=已終止**篩選條件。

1. 對於每個 Spot 執行個體，在**詳細資訊**索引標籤的**執行個體詳細資訊**下，找到**狀態轉換訊息** 下列程式碼指出 Spot 執行個體已中斷。
   + `Server.SpotInstanceShutdown`
   + `Server.SpotInstanceTermination`

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

**尋找中斷的 Spot 執行個體**  
使用 `--filters` 選項並搭配 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 命令。如需在輸出中列出執行個體 ID，請包含 `--query` 選項。

如果中斷行為是終止 Spot 執行個體，請使用下列範例：

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=terminated \
              Name=state-reason-code,Values=Server.SpotInstanceTermination \
    --query "Reservations[*].Instances[*].InstanceId"
```

如果中斷行為是停止 Spot 執行個體，請使用下列範例：

```
aws ec2 describe-instances \
    --filters Name=instance-lifecycle,Values=spot \
              Name=instance-state-name,Values=stopped \
              Name=state-reason-code,Values=Server.SpotInstanceShutdown \
    --query "Reservations[*].Instances[*].InstanceId"
```

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

**尋找中斷的 Spot 執行個體**  
使用 [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet。

如果中斷行為是終止 Spot 執行個體，請使用下列範例：

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="terminated"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

如果中斷行為是停止 Spot 執行個體，請使用下列範例：

```
(Get-EC2Instance `
    -Filter @{Key="instance-lifecycle"; Values="spot"} `
            @{Key="instance-state-name"; Values="stopped"} `
            @{Key="state-reason-code"; Values="Server.SpotInstanceTermination"}).Instances.InstanceId
```

------

# 確定 Amazon EC2 是否已終止 Spot 執行個體
<a name="BidEvictedEvent"></a>

Spot 執行個體會持續執行，直到 Amazon EC2 回應 Spot 執行個體中斷而終止，或直到您自行終止為止。如需詳細資訊，請參閱[Spot 執行個體中斷的行為](interruption-behavior.md)。

Spot 執行個體終止後，您可以使用 AWS CloudTrail 來查看 Amazon EC2 是否將其終止。如果 CloudTrail 日誌包含 `BidEvictedEvent`，這表示 Amazon EC2 已終止 Spot 執行個體。如果您看到的是 `TerminateInstances` 事件，則表示使用者終止了該 Spot 執行個體。

或者，如果您想要收到 Amazon EC2 將中斷 Spot 執行個體的通知，請使用 Amazon EventBridge 來回應 [EC2 Spot 執行個體中斷警告事件](spot-instance-termination-notices.md#ec2-spot-instance-interruption-warning-event)。

**在 CloudTrail 中檢視 BidEvictedEvent 事件**

1. 透過 [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/) 開啟 CloudTrail 主控台。

1. 在導覽窗格中，選擇 **Event history** (事件歷史記錄)。

1. 從篩選條件清單中，選擇**事件名稱**，然後在右側的篩選條件欄位中，輸入 **BidEvictedEvent**。

1. (選用) 選取時間範圍。

1. 如果清單不是空的，請從產生的項目中選擇 **BidEvictedEvent**，以開啟其詳細資訊頁面。您可以在**事件記錄**窗格中找到 Spot 執行個體的相關資訊，包括 Spot 執行個體的 ID。以下為此事件記錄的範例。

   ```
   {
       "eventVersion": "1.05",
       "userIdentity": {
           "accountId": "123456789012",
           "invokedBy": "ec2.amazonaws.com"
       },
       "eventTime": "2016-08-16T22:30:00Z",
       "eventSource": "ec2.amazonaws.com",
       "userAgent": "ec2.amazonaws.com",
       "sourceIPAddress": "ec2.amazonaws.com",
       "eventName": "BidEvictedEvent",
       "awsRegion": "us-east-2",
       "eventID": "d27a6096-807b-4bd0-8c20-a33a83375054",
       "eventType": "AwsServiceEvent",
       "recipientAccountId": "123456789012",
       "RequestParameters": null,
       "ResponseElements": null,
       "serviceEventDetails": {
           "instanceIdSet": [
             "i-1eb2ac8eEXAMPLE"
           ]
       }
   }
   ```

1. 如果您找不到 `BidEvictedEvent` 事件的項目，請輸入 **TerminateInstances** 作為事件名稱。如需 `TerminateInstances` 記錄格式的詳細資訊，請參閱 [Amazon EC2 API 事件範例](monitor-with-cloudtrail.md#cloudtrail-event-examples)。

# 針對已中斷的 競價型執行個體收費
<a name="billing-for-interrupted-spot-instances"></a>

當 Spot 執行個體中斷時，您得支付執行個體和 EBS 磁碟區用量的費用，您也可能需要支付其他費用，收費如下。

## 執行個體用量
<a name="billing-for-interrupted-spot-instances-instance-usage"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/billing-for-interrupted-spot-instances.html)

## EBS 磁碟區用量
<a name="billing-for-interrupted-spot-instances-ebs-usage"></a>

當中斷的 Spot 執行個體停止時，您只需支付保留 EBS 磁碟區的費用。

使用 EC2 Fleet 和 Spot Fleet 時，如果有許多已停止的執行個體，可能會超出您帳戶的 EBS 磁碟區數量限制。

# EC2 執行個體重新平衡建議
<a name="rebalance-recommendations"></a>

EC2 執行個體*重新平衡推薦*是一種訊號，可在 Spot 執行個體的中斷風險升高時通知您。該訊號能夠比[兩分鐘 Spot 執行個體中斷通知](spot-instance-termination-notices.md)更快到達，讓您有機會主動管理 Spot 執行個體。您可以決定將工作負載重新平衡至未處於提高之中斷風險的新的或現有 競價型執行個體。

Amazon EC2 並不總是能夠在兩分鐘 Spot 執行個體中斷通知之前傳送重新平衡建議訊號。因此，重新平衡建議訊號可以與兩分鐘的中斷通知一起到達。

重新平衡建議可做為 EventBridge 事件和 Spot 執行個體上[執行個體中繼資料](ec2-instance-metadata.md)中的項目。盡可能發出事件。

**注意**  
僅針對在 2020 年 11 月 5 日 00:00 UTC 之後推出的 競價型執行個體 支援重新平衡建議。

**Topics**
+ [您可以採取的重新平衡動作](#rebalancing-actions)
+ [監控重新平衡建議訊號](#monitor-rebalance-recommendations)
+ [使用重新平衡建議訊號的服務](#services-using-rebalance-rec-signal)

## 您可以採取的重新平衡動作
<a name="rebalancing-actions"></a>

以下是您可以採取的一些可能的重新平衡動作：

順利關機  
當您收到 Spot 執行個體的重新平衡建議訊號時，您可以啟動執行個體關機程序，其中可能包括確保在程序停止之前完成程序。例如，您可以將系統或應用程式日誌上傳到 Amazon Simple Storage Service (Amazon S3)、關閉 Amazon SQS 工作者，或者您可以從網域名稱系統 (DNS) 完成取消註冊。您也可以將工作儲存在外部儲存體中，稍後再繼續執行。

防止排程新工作  
當您收到 Spot 執行個體的重新平衡建議訊號時，您可以防止在執行個體上排程新工作，同時繼續使用執行個體，直到排定的工作完成為止。

主動啟動新的替代執行個體  
您可以設定 Auto Scaling 群組、EC2 Fleet 或 Spot Fleet ，在發出重新平衡建議訊號時自動啟動替代 Spot 執行個體。如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的[使用容量重新平衡處理 Amazon EC2 Spot 中斷](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html)，以及此指南中的 [在 EC2 機群和 Spot 機群中使用容量重新平衡，來取代具有風險的 Spot 執行個體](ec2-fleet-capacity-rebalance.md)。

## 監控重新平衡建議訊號
<a name="monitor-rebalance-recommendations"></a>

您可以監視重新平衡建議訊號，以便在發出重新平衡建議訊號時，您可以採取在上一部分中指定的動作。重新平衡建議訊號可作為傳送至 Amazon EventBridge (之前稱為 Amazon CloudWatch Events) 的事件，以及 Spot 執行個體上的執行個體中繼資料。

**Topics**
+ [使用 Amazon EventBridge](#cp-eventbridge)
+ [使用執行個體中繼資料](#cp-instance-metadata)

### 使用 Amazon EventBridge
<a name="cp-eventbridge"></a>

在針對 Spot 執行個體發出重新平衡建議訊號時，訊號的事件會傳送至 Amazon EventBridge。如果 EventBridge 偵測到事件模式符合規則中定義的模式，EventBridge 會叫用規則中指定的目標 (或多個目標)。

以下是重新平衡建議訊號的範例事件。

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Instance Rebalance Recommendation",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "region": "us-east-2",
    "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"],
    "detail": {
        "instance-id": "i-1234567890abcdef0"
    }
}
```

下列欄位會形成規則中定義的事件模式：

`"detail-type": "EC2 Instance Rebalance Recommendation"`  
識別事件是重新平衡建議事件

`"source": "aws.ec2"`  
識別該事件是來自 Amazon EC2

#### 建立 EventBridge 規則
<a name="cp-eventbridge-rule"></a>

您可以寫入 EventBridge 規則，並自動化在事件模式符合規則時要採取哪些動作。

下列範例會建立 EventBridge 規則，以便在 Amazon EC2 每次發出重新平衡建議訊號時傳送電子郵件、簡訊或行動裝置推播通知。將該信號作為 `EC2 Instance Rebalance Recommendation` 事件發出 ，這觸發了規則定義的動作。

建立 EventBridge 規則之前，您必須針對電子郵件、文字訊息或行動推送通知建立 Amazon SNS 主題。

**針對重新平衡建議事件建立 EventBridge 規則**

1. 在 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 選擇 **Create rule** (建立規則)。

1. 針對 **Define rule detail** (定義規則詳細資訊) 執行下列動作：

   1. 輸入規則的**Name (名稱)**，或者輸入描述。

      在同一個區域和同一個事件匯流排上，規則不能與另一個規則同名。

   1. 針對 **Event bus** (事件匯流排) 選擇 **default** (預設值)。當您帳戶中的 AWS 服務產生事件時，一律會前往您帳戶的預設事件匯流排。

   1. 針對 **Rule type** (規則類型) 選擇 **Rule with an event pattern** (具有事件模式的規則)。

   1. 選擇**下一步**。

1. 針對 **Build event pattern** (建置事件模式) 執行下列動作：

   1. 在 **Event source** (事件來源) 欄位中，選擇 **AWS events or EventBridge partner events** (事件或 EventBridge 合作夥伴事件)。

   1. 針對此範例的 **Event pattern** (事件模式)，您需指定下列事件模式，以便與 `EC2 Instance Rebalance Recommendation` 事件相符，然後選擇 **Save** (儲存)。

      ```
      {
       "source": ["aws.ec2"],
       "detail-type": ["EC2 Instance Rebalance Recommendation"]
      }
      ```

      若要新增事件模式，您可以透過選擇 **Event pattern form** (事件模式表單) 使用範本，或者透過選擇 **Custom pattern (JSON editor)** (自定義模式 (JSON 編輯器)) 指定自有模式，如下：

      1. 若要使用範本建立事件模式，請執行下列動作：

         1. 選擇 **Event pattern form** (事件模式表單)。

         1. 在 **Event source** (事件來源) 欄位中，選擇 **AWS services** (服務)。

         1. 針對 **AWS Service** (服務)，請選擇 **EC2 Spot Fleet** (EC2 Spot 機群)。

         1. 針對 **Event type** (事件類型)，選擇 **EC2 Instance Rebalance Recommendation** (EC2 執行個體重新平衡建議)。

         1. 若要自訂範本，請選擇 **Edit pattern** (編輯模式) 並進行變更以與範例事件模式相符。

      1. (替代) 若要指定自訂事件模式，請執行下列動作：

         1. 選擇 **Custom pattern (JSON editor)** (自訂模式 (JSON 編輯器))。

         1. 在 **Event pattern** (事件模式) 方塊中，為此範例新增事件模式。

   1. 選擇**下一步**。

1. 針對 **Select target(s)** (選取目標) 執行下列動作：

   1. 在 **Target types** (目標類型) 欄位中，選擇 **AWS service** (服務)。

   1. 針對 **Select a target** (選取目標) 選取 ** SNS topic** (SNS 主題)，以便在事件發生時傳送電子郵件、簡訊或行動裝置推送通知。

   1. 針對 **Topic (主題)**，請選擇現有的主題。您首先需要使用 Amazon SNS 主控台建立 Amazon SNS 主題。如需詳細資料，請參閱「Amazon Simple Notification Service 開發人員指南」**中的[使用 Amazon SNS 進行應用程式至人員 (A2P) 訊息](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html)。

   1. (選用) 在 **Additional settings** (其他設定) 下，您可以選擇性地設定其他設定。如需詳細資訊，請參閱「Amazon EventBridge 使用者指南」**中的[建立對事件做出反應的 Amazon EventBridge 規則](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (步驟 16)。

   1. 選擇**下一步**。

1. (選用) 針對 **Tags** (標籤)，您可以選擇性地將一或多個標籤指派給您的規則，然後選擇 **Next** (下一步)。

1. 針對 **Review and create** (檢閱和建立) 執行下列動作：

   1. 檢閱規則的詳細資訊，然後視需求進行修改。

   1. 選擇**建立規則**。

如需詳細資訊，請參閱 *Amazon EventBridge 使用者指南*中的 [Amazon EventBridge 規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)和 [Amazon EventBridge 事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)。

### 使用執行個體中繼資料
<a name="cp-instance-metadata"></a>

執行個體中繼資料類別 `events/recommendations/rebalance` 在為 Spot 執行個體發出重新平衡建議訊號時提供大約的時間 (UTC)。

我們建議您每 5 秒檢查重新平衡建議訊號，這樣您就不會錯過對重新平衡建議採取行動的機會。

如果 Spot 執行個體收到重新平衡建議，則發出訊號的時間會出現在執行個體中繼資料中。您可以擷取如下所示的發出訊號時間。

------
#### [ IMDSv2 ]

**Linux**  
透過 Linux 執行個體執行下面的命令。

**IMDSV2**

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Windows**  
從 Windows 執行個體執行下列 cmdlet

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------
#### [ IMDSv1 ]

**Linux**  
透過 Linux 執行個體執行下面的命令。

```
curl http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

**Windows**  
透過 Windows 執行個體中執行下列 cmdlet。

```
Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
```

------

以下是範例輸出，它表示為 Spot 執行個體發出重新平衡建議訊號的時間 (UTC)。

```
{"noticeTime": "2020-10-27T08:22:00Z"}
```

如果尚未針對執行個體發出訊號，則 `events/recommendations/rebalance` 不存在， 並且您會在嘗試擷取它時收到 HTTP 404 錯誤。

## 使用重新平衡建議訊號的服務
<a name="services-using-rebalance-rec-signal"></a>

Amazon EC2 Auto Scaling、EC2 Fleet 和 Spot Fleet 使用重新平衡建議信號，讓您在執行中的執行個體收到兩分鐘 Spot 執行個體中斷通知之前，藉由使用新的 Spot 執行個體主動擴增您的機群，讓您輕鬆維持工作負載可用性。您可以讓這些服務主動地監控並回應影響 競價型執行個體 的可用性的變更 如需詳細資訊，請參閱下列內容：
+ 「Amazon EC2 Auto Scaling 使用者指南」**中的[使用容量重新平衡處理 Amazon EC2 Spot 中斷](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html)
+ 在本使用者指南 EC2 Fleet 和 Spot 機群主題中的 [在 EC2 機群和 Spot 機群中使用容量重新平衡，來取代具有風險的 Spot 執行個體](ec2-fleet-capacity-rebalance.md)

# Spot 配置分數
<a name="spot-placement-score"></a>

Spot 配置分數功能可以根據您的 Spot 容量需求建議 AWS 區域或可用區域。Spot 容量會波動，而且您無法確定您始終都能取得所需的容量。Spot 配置分數表示 Spot 請求在區域或可用區域中成功的可能性。

**注意**  
Spot 配置分數不會就可用容量或中斷風險提供任何保證。Spot 配置分數僅作為建議提供。

**使用案例**

您可以針對下列情況使用 Spot 配置分數功能：
+ 視需要在不同區域中重新放置並擴展 Spot 運算容量，以回應目前區域中增加的容量需求或降低的可用容量。
+ 識別執行單一可用區域工作負載的最佳可用區域。
+ 模擬未來的 Spot 容量需求，以便您可以挑選最佳區域來擴充 Spot 型工作負載。
+ 尋找執行個體類型的最佳組合以滿足您的 Spot 容量需求。

**Topics**
+ [限制](#sps-limitations)
+ [成本](#sps-costs)
+ [Spot 配置分數的運作方式](how-sps-works.md)
+ [Spot 配置分數的必要許可](sps-iam-permission.md)
+ [計算 Spot 配置分數](work-with-spot-placement-score.md)

## 限制
<a name="sps-limitations"></a>
+ **目標容量限制** – 您的 Spot 配置分數目標容量限制是基於最近的 Spot 用量，同時考量潛在的用量成長。如果沒有最近的 Spot 用量，我們會為您提供符合 Spot 請求限制的低預設限制。
+ **請求組態限制** – 如果我們偵測到未與 Spot 配置分數功能之預期用途相關聯的模式，可以在 24 小時期間內限制新請求組態的數目。如果達到限制，您可以重試已使用的請求組態，但無法指定新的請求組態，直到下一個 24 小時期間。
+ **執行個體類型數目下限** – 如果指定執行個體類型，則您必須至少指定三種不同的執行個體類型，否則 Amazon EC2 將傳回低 Spot 配置分數。同樣地，如果您指定執行個體屬性，它們必須解析為至少三種不同的執行個體類型。如果執行個體類型具有不同的名稱，則會將其視為不同。例如，m5.8xlarge、m5a.8xlarge 和 m5.12xlarge 都會視為不同。

## 成本
<a name="sps-costs"></a>

使用 Spot 配置分數功能無需額外費用。

# Spot 配置分數的運作方式
<a name="how-sps-works"></a>

當您使用 Spot 配置分數功能時，首先要針對 Spot 執行個體指定運算需求，然後 Amazon EC2 會傳回 Spot 請求可能成功的前 10 個區域或可用區域。每個區域或可用區域的分數範圍從 1 到 10，其中 10 表示您的 前 Spot 請求很可能成功，1 表示您的 Spot 請求不可能成功。

**Topics**
+ [步驟 1：指定您的 Spot 需求](#sps-specify-requirements)
+ [步驟 2：篩選 Spot 配置分數回應](#get-sps)
+ [步驟 3：檢閱建議](#sps-recommendations)
+ [步驟 4：使用建議](#sps-use-recommendations)

## 步驟 1：指定您的 Spot 需求
<a name="sps-specify-requirements"></a>

首先，您可以指定所需的目標 Spot 容量和運算需求，如下所示：

1. **指定目標 Spot 容量，並選擇性指定目標容量單位。**

   您可以根據執行個體或 vCPU 的數量或 MiB 中的記憶體容量來指定所需的目標 Spot 容量。若要以 vCPU 數目或記憶體數量指定目標容量，您必須將目標容量單位指定為 `vcpu` 或 `memory-mib`。否則，其會預設為執行個體的數量。

   根據 vCPU 數目或記憶體數量來指定目標容量，您可以在計算總容量時使用這些單位。例如，如果想要混合使用不同大小的執行個體，您可以將目標容量指定為 vCPU 總數。Spot 配置分數功能接著會透過其 vCPU 數目來考量請求中的每個執行個體類型，並在加總目標容量時計算 vCPU 總數，而不是執行個體總數。

   例如，假設您指定的目標容量總計為 30 個 vCPU，而執行個體類型清單包含 c5.xlarge (4 個 vCPU)、m5.2xlarge (8 個 vCPU) 和 r5.large (2 個 vCPU)。若要達到總數 30 個的 vCPU，您可以取得 2 c5.xlarge (2\$14 個 vCPU)、2 m5.2xlarge (2\$18 個 vCPU) 和 3 r5.large (3\$12 個 vCPUs) 的混合。

1. **指定執行個體類型或執行個體屬性。**

   您可以指定要使用的執行個體類型，也可以指定運算需求所需的執行個體屬性，然後讓 Amazon EC2 識別具有這些屬性的執行個體類型。這就是所謂的屬性型執行個體類型選項。

   您無法在相同的 Spot 配置分數請求中同時指定執行個體類型和執行個體屬性。

   如果指定執行個體類型，則您必須至少指定三種不同的執行個體類型，否則 Amazon EC2 將傳回低 Spot 配置分數。同樣地，如果您指定執行個體屬性，它們必須解析為至少三種不同的執行個體類型。

如需指定 Spot 需求的不同方式範例，請參閱 [範例組態](work-with-spot-placement-score.md#sps-example-configs)。

## 步驟 2：篩選 Spot 配置分數回應
<a name="get-sps"></a>

Amazon EC2 會計算每個區域或可用區域的 Spot 配置分數，並傳回 Spot 請求可能成功的前 10 個區域或前 10 個可用區域。預設值是傳回得分區域的清單。如果您計劃將所有 Spot 容量啟動至單一可用區域，請求得分可用區域的清單很有用。

您可以指定區域篩選條件來縮小將在回應中傳回的區域。

您可以結合區域篩選條件和得分可用區域的請求。如此一來，得分可用區域僅限於您已篩選的區域。若要找出區域中得分最高的可用區域，請僅指定該區域，然後回應將傳回該區域中所有可用區域的得分清單。

## 步驟 3：檢閱建議
<a name="sps-recommendations"></a>

每個區域或可用區域的 Spot 配置分數是根據目標容量、執行個體類型的組成、歷史和目前 Spot 使用趨勢，以及請求的時間來計算。由於 Spot 容量持續波動，因此在不同時間計算時，相同的 Spot 配置分數請求可能會產生不同的分數。

區域和可用區域的分數範圍是從 1 到 10。分數 10 表示您的 Spot 請求很有可能 (但不保證) 成功。分數 1 表示您的 Spot 請求完全不可能成功。對於不同的區域或可用區域，可能會傳回相同的分數。

如果傳回低分數，您可以編輯運算需求並重新計算分數。您也可以在一天中的不同時間，針對相同的運算需求，請求 Spot 配置分數建議。

## 步驟 4：使用建議
<a name="sps-use-recommendations"></a>

僅在 Spot 請求的組態與 Spot 配置分數組態 (目標容量、目標容量單位，以及執行個體類型或執行個體屬性) 完全相同，且該請求設定為使用 `capacity-optimized` 配置策略時，Spot 配置分數才相關。否則，取得可用 Spot 容量的可能性將不符合分數。

雖然 Spot 配置分數充當指導方針，而且沒有任何分數保證您的 Spot 請求會完全或部分實現，但您可以使用下列資訊來取得最佳結果：
+ **使用相同組態** – 僅在 Auto Scaling 群組、EC2 Fleet 或 Spot Fleet 中的 Spot 請求組態 (目標容量、目標容量單位，以及執行個體類型或執行個體屬性) 與您為了取得 Spot 配置分數而輸入的組態相同時，Spot 配置分數才相關。

  如果您在 Spot 配置分數請求中使用了屬性型執行個體類型選取，則可以使用屬性型執行個體類型選取，來設定 Auto Scaling 群組、EC2 Fleet 或 Spot Fleet。如需詳細資訊，請參閱[使用參數型執行個體類型選項建立混合執行個體群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html)和 [指定屬性，為 EC2 機群或 Spot 機群選取執行個體類型](ec2-fleet-attribute-based-instance-type-selection.md)。
**注意**  
如果您根據 vCPU 數目或記憶體數量指定目標容量，並在 Spot 配置分數組態中指定了執行個體類型，請注意，您目前無法在 Auto Scaling 群組、EC2 Fleet 或 Spot Fleet 中建立此組態。反之，您必須使用 `WeightedCapacity` 參數，手動設定執行個體加權。
+ **使用 `capacity-optimized` 分配策略** – 任何分數都假設您的機群請求將設定為使用所有的可用區域 (用於跨區域請求容量) 或單一可用區域 (如果在某個可用區域請求容量) 和 `capacity-optimized` Spot 分配策略，以便您可以成功請求 Spot 容量。如果您使用其他配置策略 (例如 `lowest-price`)，取得可用 Spot 容量的可能性將不符合分數。
+ **立即對分數採取行動** – Spot 配置分數建議會反映請求時的可用 Spot 容量，並且由於 Spot 容量波動，因此在不同時間計算時，相同的組態可能會產生不同的分數。雖然分數 10 表示您的 Spot 容量請求很可能 (但不保證) 成功，但為了取得最佳結果，我們建議您立即對分數採取行動。我們也建議您在每次嘗試容量請求時取得全新的分數。

# Spot 配置分數的必要許可
<a name="sps-iam-permission"></a>

根據預設，IAM 身分 (使用者、角色或群組) 沒有使用 [Spot 配置分數](spot-placement-score.md) 的許可。若要允許 IAM 身分使用 Spot 配置分數，您必須建立 IAM 政策，授予使用 `ec2:GetSpotPlacementScores` EC2 API 動作的許可。接著將政策連接至需要此許可的 IAM 身分。

以下為一個範例 IAM 政策，該政策授予使用 `ec2:GetSpotPlacementScores` EC2 API 動作的許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:GetSpotPlacementScores",
            "Resource": "*"
        }
    ]
}
```

------

如需編輯 IAM 政策的相關資訊，請參閱「IAM 使用者指南」[https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)中的*編輯 IAM 政策*。

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

# 計算 Spot 配置分數
<a name="work-with-spot-placement-score"></a>

您可以根據目標容量和運算需求計算 Spot 配置分數。如需詳細資訊，請參閱[Spot 配置分數的運作方式](how-sps-works.md)。

**所需的 許可**  
請確保備妥必要許可。如需詳細資訊，請參閱[Spot 配置分數的必要許可](sps-iam-permission.md)。

**Topics**
+ [使用執行個體屬性計算](#sps-specify-instance-attributes-console)
+ [使用執行個體類型計算](#sps-specify-instance-types-console)
+ [使用 計算 AWS CLI](#calculate-sps-cli)

**是否在尋找自動化解決方案？** 您可以建置 Spot 配置分數追蹤器儀表板，以自動擷取分數並將分數儲存在 Amazon CloudWatch 中，而不是遵循本「使用者指南」中的手動步驟。如需詳細資訊，請參閱[「 AWS上的建置 Spot 配置分數追蹤器儀表板指南」](https://aws.amazon.com/solutions/guidance/building-a-spot-placement-score-tracker-dashboard-on-aws/)。

## 使用執行個體屬性計算
<a name="sps-specify-instance-attributes-console"></a>

**執行個體屬性來計算 Spot 配置分數**

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

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選擇**請求 Spot 執行個體**旁的向下箭頭，然後選擇**計算 Spot 配置分數**。

1. 選擇 **Enter requirements** (輸入需求)。

1. 對於 **Target capacity** (目標容量)，根據 **instances** (執行個體) 或 **vCPUs** 的數目，或 **memory (MiB)** (記憶體 (MiB)) 的數量輸入您所需的容量。

1. 對於 **Instance type requirements** (執行個體類型需求)，若要指定您的運算需求，並讓 Amazon EC2 識別符合這些要求的最佳執行個體類型，請選擇 **Specify instance attributes that match your compute requirements** (指定符合運算需求的執行個體屬性)。

1. 對於 **vCPUs**，輸入所需的 vCPU 數量下限和上限。若要指定無限制，請選取 **No minimum** (無下限)、**No maximum** (無上限)，或兩者。

1. 對於 **Memory (GiB)** (記憶體 (GiB))，輸入所需記憶體數量的下限和上限。若要指定無限制，請選取 **No minimum** (無下限)、**No maximum** (無上限)，或兩者。

1. 對於 **CPU architecture** (CPU 架構)，選取所需的執行個體架構。

1. (選用) 對於 **Additional instance attributes** (其他執行個體屬性)，您可以選擇性地指定一或多個屬性，以更詳細地表達您的運算需求。每個額外屬性都會將進一步的限制新增至您的請求。您可以省略額外屬性；省略時，就會使用預設值。如需每個屬性及其預設值的描述，請參閱 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)。

1. (選用) 若要檢視具有所指定屬性的執行個體類型，請展開 **Preview matching instance types** (預覽相符的執行個體類型)。若要排除執行個體類型，使其不在配置評估中使用，請選取執行個體，然後選取 **Exclude selected instance types** (排除選取的執行個體類型)。

1. 選擇 **Load placement scores** (載入配置分數)，然後檢閱結果。

1. (選用) 若要顯示特定區域的 Spot 配置分數，請針對 **Regions to evaluate** (要評估的區域)，選取要評估的區域，然後選取 **Calculate placement scores** (計算配置分數)。

1. (選用) 若要顯示所顯示區域中可用區域的 Spot 配置分數，請選取**提供每個可用區域的配置分數**核取方塊。如果您想要將所有 Spot 容量啟動至單一可用區域，得分可用區域的清單很有用。

1. (選用) 若要編輯您的運算需求並取得新的配置分數，請選擇 **Edit** (編輯)、進行必要的調整，然後選擇 **Calculate placement scores** (計算配置分數)。

## 使用執行個體類型計算
<a name="sps-specify-instance-types-console"></a>

**指定執行個體類型來計算 Spot 配置分數**

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

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選擇**請求 Spot 執行個體**旁的向下箭頭，然後選擇**計算 Spot 配置分數**。

1. 選擇 **Enter requirements** (輸入需求)。

1. 對於 **Target capacity** (目標容量)，根據 **instances** (執行個體) 或 **vCPUs** 的數目，或 **memory (MiB)** (記憶體 (MiB)) 的數量輸入您所需的容量。

1. 對於 **Instance type requirements** (執行個體類型需求)，若要指定要使用的執行個體類型，請選取 **Manually select instance types** (手動選取執行個體類型)。

1. 選取 **Select instance types** (選取執行個體類型)、選取要使用的執行個體類型，然後選取 **Select** (選取)。若要快速尋找執行個體類型，您可以使用篩選條件列，依不同屬性篩選執行個體類型。

1. 選擇 **Load placement scores** (載入配置分數)，然後檢閱結果。

1. (選用) 若要顯示特定區域的 Spot 配置分數，請針對 **Regions to evaluate** (要評估的區域)，選取要評估的區域，然後選取 **Calculate placement scores** (計算配置分數)。

1. (選用) 若要顯示所顯示區域中可用區域的 Spot 配置分數，請選取**提供每個可用區域的配置分數**核取方塊。如果您想要將所有 Spot 容量啟動至單一可用區域，得分可用區域的清單很有用。

1. (選用) 若要編輯執行個體類型的清單並取得新的配置分數，請選擇 **Edit** (編輯)、進行必要的調整，然後選擇 **Calculate placement scores** (計算配置分數)。

## 使用 計算 AWS CLI
<a name="calculate-sps-cli"></a>

**計算 Spot 配置分數**

1. (選用) 若要產生可以針對 Spot 配置分數組態指定的所有可能參數，請使用 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) 命令和 `--generate-cli-skeleton` 參數。

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --generate-cli-skeleton
   ```

   以下為範例輸出。

   ```
   {
       "InstanceTypes": [
           ""
       ],
       "TargetCapacity": 0,
       "TargetCapacityUnitType": "vcpu",
       "SingleAvailabilityZone": true,
       "RegionNames": [
           ""
       ],
       "InstanceRequirementsWithMetadata": {
           "ArchitectureTypes": [
               "x86_64_mac"
           ],
           "VirtualizationTypes": [
               "hvm"
           ],
           "InstanceRequirements": {
               "VCpuCount": {
                   "Min": 0,
                   "Max": 0
               },
               "MemoryMiB": {
                   "Min": 0,
                   "Max": 0
               },
               "CpuManufacturers": [
                   "amd"
               ],
               "MemoryGiBPerVCpu": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "ExcludedInstanceTypes": [
                   ""
               ],
               "InstanceGenerations": [
                   "previous"
               ],
               "SpotMaxPricePercentageOverLowestPrice": 0,
               "OnDemandMaxPricePercentageOverLowestPrice": 0,
               "BareMetal": "excluded",
               "BurstablePerformance": "excluded",
               "RequireHibernateSupport": true,
               "NetworkInterfaceCount": {
                   "Min": 0,
                   "Max": 0
               },
               "LocalStorage": "included",
               "LocalStorageTypes": [
                   "hdd"
               ],
               "TotalLocalStorageGB": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "BaselineEbsBandwidthMbps": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorTypes": [
                   "fpga"
               ],
               "AcceleratorCount": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorManufacturers": [
                   "amd"
               ],
               "AcceleratorNames": [
                   "vu9p"
               ],
               "AcceleratorTotalMemoryMiB": {
                   "Min": 0,
                   "Max": 0
               }
           }
       },
       "DryRun": true,
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. 使用上一個步驟的輸出來建立 JSON 組態檔，並將其設定如下：

   1. 對於 `TargetCapacity`，根據執行個體 或 vCPU 的數目，或記憶體 (MiB) 的數量輸入您所需的 Spot 容量。

   1. 對於 `TargetCapacityUnitType`，輸入目標容量的單位。如果省略此參數，則其會預設為 `units`。

      有效值：`units` (其會轉換為執行個體的數量) \$1 `vcpu` \$1 `memory-mib`

   1. 對於 `SingleAvailabilityZone`，指定 `true`，以取得傳回得分可用區域清單的回應。如果您想要將所有 Spot 容量啟動至單一可用區域，得分可用區域的清單很有用。如果省略此參數，則其會預設為 `false`，並且回應會傳回得分區域的清單。

   1. (選用) 對於 `RegionNames`，請指定要用作篩選條件的區域。您必須指定區域代碼，例如 `us-east-1`。

      搭配區域篩選條件，回應只會傳回您指定的區域。如果您針對 `SingleAvailabilityZone` 指定了 `true`，則回應只會傳回所指定區域中的可用區域。

   1. 您可以包含 `InstanceTypes` 或 `InstanceRequirements`，但兩者不能同時位於相同的組態中。

      在 JSON 組態中指定下列其中一個項目：
      + 若要指定執行個體類型的清單，請在 `InstanceTypes` 參數中指定執行個體類型。指定至少三種不同的執行個體類型。如果您只指定一個或兩個執行個體類型，Spot 配置分數會傳回低分數。如需執行個體類型的清單，請參閱 [Amazon EC2 執行個體類型](https://aws.amazon.com/ec2/instance-types/)。
      + 若要指定執行個體屬性，以便 Amazon EC2 可以識別符合這些屬性的執行個體類型，請指定位於 `InstanceRequirements` 結構中的屬性。

        您必須提供 `VCpuCount`、`MemoryMiB` 和 `CpuManufacturers` 的值。您可以省略其他屬性；省略時，就會使用預設值。如需每個屬性及其預設值的描述，請參閱 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)。

      如需組態範例，請參閱 [範例組態](#sps-example-configs)。

1. 若要取得您在 JSON 檔案中指定之需求的 Spot 配置分數，請使用 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html) 命令，並使用 `--cli-input-json` 參數指定 JSON 檔案的名稱和路徑。

   ```
   aws ec2 get-spot-placement-scores \
       --region us-east-1 \
       --cli-input-json file://file_name.json
   ```

   範例輸出：如果 `SingleAvailabilityZone` 設定為 `false` 或將其省略 (如果省略，其會預設為 `false`)，則會傳回區域的得分清單。

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "Score": 7
       },
       {
           "Region": "us-west-1",
           "Score": 5
       },  
      ...
   ```

   範例輸出：如果 `SingleAvailabilityZone` 設定為 `true`，則會傳回可用區域的得分清單。

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "use1-az1",
           "Score": 8
       },
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "usw2-az3",
           "Score": 6
       },
      ...
   ```

### 範例組態
<a name="sps-example-configs"></a>

使用 時 AWS CLI，您可以使用下列範例組態。

**Topics**
+ [範例：指定執行個體類型和目標容量](#example-config-instance-type-override)
+ [範例：根據記憶體指定執行個體類型和目標容量](#example-config-instance-type-memory-unit-override)
+ [範例：為屬性型執行個體類型選取指定屬性](#example-config-attribute-based-instance-type-selection)
+ [範例：為屬性型執行個體類型選取指定屬性，並傳回可用區域的得分清單](#example-config-sps-singleAZ)

#### 範例：指定執行個體類型和目標容量
<a name="example-config-instance-type-override"></a>

下列範例組態指定三種不同的執行個體類型，以及有 500 個 Spot 執行個體的目標 Spot 容量。

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500
}
```

#### 範例：根據記憶體指定執行個體類型和目標容量
<a name="example-config-instance-type-memory-unit-override"></a>

下列範例組態指定了三種不同的執行個體類型，以及有 500,000 MiB 記憶體的目標 Spot 容量，其中要啟動的 Spot 執行個體數目必須提供總計 500,000 MiB 的記憶體。

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500000,
    "TargetCapacityUnitType": "memory-mib"
}
```

#### 範例：為屬性型執行個體類型選取指定屬性
<a name="example-config-attribute-based-instance-type-selection"></a>

下列範例組態是針對屬性型執行個體類型選取設定的，其後是範例組態的文字說明。

```
{
    "TargetCapacity": 5000,
    "TargetCapacityUnitType": "vcpu",
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

****`InstanceRequirementsWithMetadata`****  
若要使用屬性型執行個體類型選取，您必須在組態中包含 `InstanceRequirementsWithMetadata` 結構，並為 Spot 執行個體指定所需的屬性。

在上述範例中，指定了下列必要的執行個體屬性：
+ `ArchitectureTypes` – 執行個體類型的架構類型必須是 `arm64`。
+ `VirtualizationTypes` – 執行個體類型的虛擬化類型必須是 `hvm`。
+ `VCpuCount` – 執行個體類型必須具有最少 1 個，最多 12 個的 vCPU。
+ `MemoryMiB` – 執行個體類型必須具有最少 512 MiB 的記憶體。省略 `Max` 參數，表示沒有最大限制。

請注意，有幾個您可以指定的其他選用屬性。如需屬性清單，請參閱 [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)。

**`TargetCapacityUnitType`**  
`TargetCapacityUnitType` 參數會指定目標容量的單位。在此範例中，目標容量為 `5000`，而目標容量單位類型為 `vcpu`，它們一起指定了所需目標容量 (5000 個 vCPU)，其中要啟動的 Spot 執行個體數目必須提供總計 5000 個的 vCPU。

#### 範例：為屬性型執行個體類型選取指定屬性，並傳回可用區域的得分清單
<a name="example-config-sps-singleAZ"></a>

下列範例組態是針對屬性型執行個體類型選取而設定的。透過指定 `"SingleAvailabilityZone": true`，回應將傳回得分可用區域的清單。

```
{
    "TargetCapacity": 1000,
    "TargetCapacityUnitType": "vcpu",
    "SingleAvailabilityZone": true,
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

# 使用 Spot 執行個體資料摘要追蹤 Spot 執行個體成本
<a name="spot-data-feeds"></a>

為協助您了解 Spot 執行個體的費用，Amazon EC2 提供了資料摘要來說明您的 Spot 執行個體使用狀況和定價。當您訂閱資料摘要時，此資料摘要會傳送到您所指定的 Amazon S3 儲存貯體。

資料摘要檔案通常會每小時抵達您的儲存貯體一次。如果在某個小時內沒有執行 Spot 執行個體，您不會收到那個小時的資料摘要檔案。

Spot 執行個體的每小時使用量通常涵蓋在單一資料檔案中。這些檔案在傳送到您的儲存貯體之前，會先經過壓縮 (gzip)。如果有特定某小時的使用狀況，產生了大型檔案，則 Amazon EC2 可以寫入多個檔案 (例如，當該小時的檔案內容在壓縮前已超過 50 MB 時)。

**注意**  
每個 只能建立一個 Spot 執行個體資料饋送 AWS 帳戶。

除中國 AWS （北京）、中國 （寧夏）、 AWS GovCloud （美國） 和[預設停用的區域](using-regions-availability-zones.md#concepts-available-regions)以外，所有區域都支援 Spot 執行個體資料饋送。

**Topics**
+ [資料摘要檔案名稱與格式](#using-spot-instances-format)
+ [Amazon S3 儲存貯體需求](#using-spot-instances-dfs3)
+ [訂閱 Spot 執行個體資料摘要](#using-spot-instances-datafeed-all)
+ [檢視資料饋送中的資料](#using-spot-instances-datafeed-view-data)
+ [刪除 Spot 執行個體資料摘要](#using-spot-instances-datafeed-delete)

## 資料摘要檔案名稱與格式
<a name="using-spot-instances-format"></a>

Spot 執行個體資料摘要檔案名稱使用下列格式 (日期和小時採用 UTC 時間)：

```
bucket-name.s3.amazonaws.com/optional-prefix/aws-account-id.YYYY-MM-DD-HH.n.unique-id.gz
```

例如，如果儲存貯體的名稱為 **amzn-s3-demo-bucket**、前綴字首為 **my-prefix**，則檔案名稱會類似於下列名稱：

```
amzn-s3-demo-bucket.s3.amazonaws.com/my-prefix/111122223333.2023-12-09-07.001.b959dbc6.gz
```

如需儲存貯體名稱的詳細資訊，請參閱「Amazon S3 使用者指南」**中的[儲存貯體命名規則](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)。

Spot 執行個體資料摘要檔案以製表符 (tab) 分隔。資料檔案中的每一行皆對應至一個執行個體小時，而且包含下表中所列出的欄位。


|  欄位  |  描述  | 
| --- | --- | 
|   `Timestamp`   |  時間戳記，用來判定使用此執行個體的收費價格。  | 
|   `UsageType`   |  計費的使用類型和執行個體類型。對於 `m1.small` 競價型執行個體，此欄位設定為 `SpotUsage`。如果是其他所有的執行個體類型，此欄位會設定為 `SpotUsage:`\$1*instance-type*\$1。例如：`SpotUsage:c1.medium`。  | 
|   `Operation`   |  收費的產品。若是 Linux 競價型執行個體，此欄位會設定為 `RunInstances`。若是 Windows 競價型執行個體，此欄位會設定為 `RunInstances:0002`。Spot 的使用會根據可用區域分組。  | 
|   `InstanceID`   |  產生此執行個體用量的 Spot 執行個體的 ID。  | 
|   `MyBidID`   |  產生此執行個體用量的 Spot 執行個體請求的 ID。  | 
|   `MyMaxPrice`   |  針對此 Spot 請求所指定的最高價格。  | 
|   `MarketPrice`   |  `Timestamp` 欄位中所指定時間點當時的 Spot 價格。  | 
|   `Charge`   |  針對此執行個體用量的計費價格。  | 
|   `Version`   |  資料饋送版本。可用的版本為 1.0。  | 

## Amazon S3 儲存貯體需求
<a name="using-spot-instances-dfs3"></a>

訂閱資料摘要時，您必須指定用來存放資料摘要檔案的 Amazon S3 儲存貯體。

在選擇資料摘要的 Amazon S3 儲存貯體之前，請考量下列事項：
+ 您必須具有儲存貯體的 `FULL_CONTROL` 許可。如果您是儲存貯體擁有者，預設會具有此項權限。否則，儲存貯體擁有者必須授予您的 AWS 帳戶 此許可。
+ 當您訂閱資料饋送時，這些許可會用來更新儲存貯體 ACL，以提供 AWS 資料饋送帳戶`FULL_CONTROL`許可。 AWS 資料饋送帳戶會將資料饋送檔案寫入儲存貯體。如果您的帳戶沒有所需的權限，則資料摘要檔案無法寫入儲存貯體。如需詳細資訊，請參閱「Amazon CloudWatch Logs 使用者指南」**中的[傳送至 Amazon S3 的日誌](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3)。

  如果您更新 ACL 並移除 AWS 資料饋送帳戶的許可，則無法將資料饋送檔案寫入儲存貯體。您必須重新訂閱資料摘要，以接收資料摘要檔案。
+ 每個資料摘要檔案皆擁有自己的 ACL (和儲存貯體的 ACL 不同)。儲存貯體擁有者具有對資料檔案的 `FULL_CONTROL` 權限。 AWS 資料饋送帳戶具有讀取和寫入許可。
+ 如果您刪除資料饋送訂閱，Amazon EC2 不會移除儲存貯體或資料檔案上 AWS 資料饋送帳戶的讀取和寫入許可。您必須自行移除這些權限。
+ 如果您使用伺服器端加密搭配存放在 AWS Key Management Service (SSE-KMS) 中的 AWS KMS 金鑰來加密 Amazon S3 儲存貯體，則必須使用客戶受管金鑰。如需詳細資訊，請參閱「Amazon CloudWatch Logs 使用者指南」**中的 [Simple Storage Service (Amazon S3) 儲存貯體伺服器端加密](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-SSE-KMS-S3)。

## 訂閱 Spot 執行個體資料摘要
<a name="using-spot-instances-datafeed-all"></a>

您可隨時訂閱 Spot 執行個體資料摘要。您無法使用 Amazon EC2 主控台完成此任務。

如果您收到儲存貯體沒有足夠許可的錯誤，請參閱以下文章以取得疑難排解資訊：[疑難排解 Spot 執行個體的資料摘要](https://repost.aws/knowledge-center/s3-data-feed-ec2-spot-instances)。

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

**訂閱您的資料摘要**  
使用 [create-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-spot-datafeed-subscription.html) 命令。

要指定帶字首的儲存貯體，請使用下列範例：

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket \
    --prefix my-prefix
```

要指定不帶字首的儲存貯體，請使用下列範例：

```
aws ec2 create-spot-datafeed-subscription \
    --bucket amzn-s3-demo-bucket
```

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

**訂閱您的資料摘要**  
使用 [New-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SpotDatafeedSubscription.html) cmdlet。

要指定帶字首的儲存貯體，請使用下列範例：

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket `
    -Prefix my-prefix
```

要指定不帶字首的儲存貯體，請使用下列範例：

```
New-EC2SpotDatafeedSubscription `
    -Bucket amzn-s3-demo-bucket
```

------

## 檢視資料饋送中的資料
<a name="using-spot-instances-datafeed-view-data"></a>

在 中 AWS 管理主控台，開啟 AWS CloudShell。使用下列 [s3 sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) 命令，從資料摘要的 S3 儲存貯體取得 .gz 檔案，並將這些檔案存放於您指定的資料夾。

```
aws s3 sync s3://amzn-s3-demo-bucket ./data-feed
```

若要顯示 .gz 檔案的內容，請變更至您存放 S3 儲存貯體內容的資料夾。

```
cd data-feed
```

使用 **ls** 命令檢視檔案的名稱。使用具有檔案名稱的 **zcat** 命令，顯示壓縮檔案的內容。下列是範例命令。

```
zcat  111122223333.2023-12-09-07.001.b959dbc6.gz
```

以下為範例輸出。

```
#Version: 1.0
#Fields: Timestamp UsageType Operation InstanceID MyBidID MyMaxPrice MarketPrice Charge Version
2023-12-09 07:13:47 UTC USE2-SpotUsage:c7a.medium       RunInstances:SV050      i-0c3e0c0b046e050df     sir-pwq6nmfp    0.0510000000 USD        0.0142000000 USD        0.0142000000 USD        1
```

## 刪除 Spot 執行個體資料摘要
<a name="using-spot-instances-datafeed-delete"></a>

當您不再需要 Spot 執行個體資料饋送時，即可將其刪除。

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

**刪除您的資料摘要**  
使用 [delete-spot-datafeed-subscription](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-spot-datafeed-subscription.html) 命令。

```
aws ec2 delete-spot-datafeed-subscription
```

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

**刪除您的資料摘要**  
使用 [Remove-EC2SpotDatafeedSubscription](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2SpotDatafeedSubscription.html) cmdlet。

```
Remove-EC2SpotDatafeedSubscription
```

------

# Spot 執行個體請求的服務連結角色
<a name="service-linked-roles-spot-instance-requests"></a>

Amazon EC2 使用許可的服務連結角色，它需要代表您呼叫其他 AWS 服務。服務連結角色是直接連結至 的唯一 IAM 角色類型 AWS 服務。服務連結角色提供將許可委派給 的安全方式， AWS 服務 因為只有連結的服務可以擔任服務連結角色。如需詳細資訊，請參閱「IAM 使用者指南」**中的[服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)。

Amazon EC2 使用名為 **AWSServiceRoleForEC2Spot** 的服務連結角色來代您管理 競價型執行個體。

## AWSServiceRoleForEC2Spot 授予的許可
<a name="service-linked-role-permissions-granted-by-AWSServiceRoleForEC2Spot"></a>

Amazon EC2 會使用 **AWSServiceRoleForEC2Spot** 來完成下列動作：
+ `ec2:DescribeInstances` - 描述 Spot 執行個體
+ `ec2:StopInstances` - 停止 Spot 執行個體
+ `ec2:StartInstances` - 啟動 Spot 執行個體

## 建立服務連結角色
<a name="service-linked-role-creating-for-spot"></a>

在大部分情況下，您不需要手動建立服務連結角色。您第一次使用主控台建立 Spot 執行個體時，Amazon EC2 會建立 **AWSServiceRoleForEC2Spot** 服務連結角色。

如果您在 2017 年 10 月之前有作用中的 Spot 執行個體請求，當 Amazon EC2 開始支援此服務連結角色時，Amazon EC2 會在您的帳戶中建立 **AWSServiceRoleForEC2Spot** 角色 AWS 。如需詳細資訊，請參閱[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)中的 *在我的帳戶中出現新的角色*。

如果您使用 AWS CLI 或 API 來請求 Spot 執行個體，您必須先確保此角色存在。

**使用主控台建立 **AWSServiceRoleForEC2Spot****

1. 在以下網址開啟 IAM 主控台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**。

1. 選擇 **Create Role** (建立角色)。

1. 在 **Select type of trusted entity (選取信任實體類型)** 頁面上，選取 **EC2**、選取 **EC2 - Spot Instances (EC2 - Spot 執行個體)**，然後選取 **Next: Permissions (下一步：許可)**。

1. 在下一頁選擇 **Next:Review (下一步：檢閱)**。

1. 在**檢閱**頁面上選擇**建立角色**。

**使用 建立 **AWSServiceRoleForEC2Spot** AWS CLI**  
使用如下所示的 [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) 命令。

```
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
```

如果您不再需要使用 競價型執行個體，建議您刪除 **AWSServiceRoleForEC2Spot** 角色。從您的帳戶中刪除此角色後，如果您請求 競價型執行個體，Amazon EC2 會再次建立此角色。

## 授予客戶受管金鑰存取權，以便與加密的 AMI 和 EBS 快照搭配使用
<a name="spot-instance-service-linked-roles-access-to-cmks"></a>

如果您為 Spot 執行個體指定[加密的 AMI](AMIEncryption.md) 或加密的 Amazon EBS 快照，而且使用客戶受管金鑰進行加密，您必須授予 **AWSServiceRoleForEC2Spot** 角色許可才能使用客戶受管金鑰，使得 Amazon EC2 可以代表您啟動 Spot 執行個體。若要執行此動作，您必須將授予新增至客戶受管金鑰，如下列程序所示。

提供許可時，授與為金鑰政策的替代方案。如需詳細資訊，請參閱 [ 開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)中的[使用授予 AWS KMS和](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)在 *AWS Key Management Service 中使用金鑰政策*。

**若要授予 **AWSServiceRoleForEC2Spot** 角色許可以使用客戶受管金鑰**
+ 使用 [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) 命令將授予新增至客戶受管金鑰，並指定獲授予許可能夠執行授予所允許作業的委託人 (**AWSServiceRoleForEC2Spot** 服務連結角色)。客戶受管金鑰由 `key-id` 參數和客戶受管金鑰的 ARN 指定。委託人是透過 `grantee-principal` 參數和 **AWSServiceRoleForEC2Spot** 服務連結角色的 ARN 指定。

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

# Spot 執行個體配額
<a name="using-spot-limits"></a>

每個區域每個 AWS 帳戶 的執行中 Spot 執行個體請求和待定 Spot 執行個體請求有數量配額。待定 Spot 執行個體請求完成之後，請求就不會再計入配額中，因為執行中的執行個體會計入配額中。

Spot 執行個體配額是根據執行中的 Spot 執行個體正在使用或將使用的*虛擬中央處理單元 (vCPU) 的數量*來管理的，直到完成開放的 Spot 執行個體請求。如果您終止 Spot 執行個體但未取消 Spot 執行個體請求，請求會計入您的 Spot 執行個體 vCPU 配額，直到 Amazon EC2 偵測到 Spot 執行個體終止並關閉請求。

我們提供以下 Spot 執行個體配額類型。


| 名稱 | 預設 | 可調整 | 
| --- | --- | --- | 
| 所有 DL Spot 執行個體請求 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-85EED4F7) | 
| 所有 F Spot 執行個體請求 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-88CF9481) | 
| 所有 G 和 VT Spot 執行個體請求 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-3819A6DF) | 
| 所有 Inf Spot 執行個體請求 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-B5D1601B) | 
| 所有 P Spot 執行個體請求 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-7212CCBC) | 
| 所有標準 (A, C, D, H, I, M, R, T, Z) Spot 執行個體請求 | 5 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-34B43A08) | 
| 所有 Trn Spot 執行個體請求 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-6B0D517C) | 
| 所有 X Spot 執行個體請求 | 0 | [是](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-E3A00192) | 

即使 Amazon EC2 根據使用量自動調整 Spot 執行個體配額，您也可以在必要時要求提高配額。例如，如果您打算啟動的 Spot 執行個體超過目前配額允許的範圍，您可以請求提高配額。如果您送出 Spot 執行個體請求並收到錯誤訊息 `Max spot instance count exceeded`，您可以要求增加請求的配額。若要請求增加配額，可以使用 [Amazon EC2 服務配額](ec2-resource-limits.md) 中所述的 Service Quotas 主控台。

您可以啟動任意執行個體類型的組合，這些類型組合可滿足不斷變化的應用程式需求。例如，在 256 個 vCPU 的標準 Spot 執行個體請求配額下，您可以啟動 32 個 `m5.2xlarge` Spot 執行個體 (32 x 8 個 vCPU) 或 16 個 `c5.4xlarge` Spot 執行個體 (16 x 16 個 vCPU)。

透過 Amazon CloudWatch 指標整合，您可以根據配額來監控 EC2 用量。您也可以設定警示，在接近配額時提出警告。如需詳細資訊，請參閱「Service Quotas 使用者指南」**中的 [Service Quotas 和 Amazon CloudWatch 警示](https://docs.aws.amazon.com/servicequotas/latest/userguide/configure-cloudwatch.html)以及。

# Amazon EC2 專用執行個體
<a name="dedicated-hosts-overview"></a>

Amazon EC2 專用主機是完全供您使用的實體伺服器。您可選擇將執行個體容量分享給其他 AWS 帳戶。如需詳細資訊，請參閱 [跨帳戶 Amazon EC2 專用主機共用](dh-sharing.md)。

專用主機提供執行個體置放的可見性和控制，並支援主機親和性。這表示您可以在特定主機上啟動和執行執行個體，並確保執行個體僅在特定主機上執行。如需詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。

專用主機提供全面的自帶授權 (BYOL) 支援。其允許您根據授權條款，使用現有依通訊端數、依核心數或依虛擬機器數的軟體授權，包括 Windows Server、SQL Server、SUSE Linux Enterprise Server、Red Hat Enterprise Linux 或其他綁定到 VM、通訊端或實體核心的軟體授權。

如果您需要執行個體在專用硬體上執行，但不需要可見性或控制執行個體配置，也不需要使用依通訊端數、依核心數的軟體授權，您可以考慮改用專用執行個體。專用執行個體及專用主機都可用於在專用實體伺服器啟動 Amazon EC2 執行個體。專用執行個體和專用執行個體上的執行個體之間沒有效能、安全或實體差異。不過，兩者之間還是有一些差異。下表特別列出了專用執行個體與專用執行個體之間的主要差異：


|  | Dedicated Host | Dedicated Instance | 
| --- | --- | --- | 
| 專用實體伺服器 | 具備執行個體容量的實體伺服器，完全專供您使用。 | 專用於單一客戶帳戶的實體伺服器。 | 
| 執行個體容量共用 | 可與其他帳戶共用執行個體容量。 | 不支援 | 
| 帳單 | 按每台主機計費 | 按每個執行個體計費 | 
| 通訊端、核心和主機 ID 的可見度 | 提供通訊端與實體核心數目的可見度 | 沒有可見度 | 
| 主機和執行個體親和性 | 可讓您隨時間一致地將執行個體部署到相同的實體伺服器 | 不支援 | 
| 訂定執行個體配置目標 | 對於執行個體在實體伺服器上的配置方式，提供額外可見性和控制權 | 不支援 | 
| 自動執行個體復原功能 | 支援。如需詳細資訊，請參閱 [Amazon EC2 專用主機復原](dedicated-hosts-recovery.md)。 | 支援 | 
| 使用自有授權 (BYOL) | 支援 | 部分支援 \$1 | 
| Capacity Reservations | 不支援 | 支援 | 

\$1 透過軟體保證而實現的授權行動性的 Microsoft SQL Server 和 Windows 虛擬桌面存取 (VDA) 授權可以與專用預留執行個體一起使用。

如需專用預留執行個體的詳細資訊，請參閱 [Amazon EC2 專用執行個體](dedicated-instance.md)。

## 專用執行個體 限制
<a name="dedicated-hosts-limitations"></a>

在您配置專用執行個體之前，請記下以下的法規與限制：
+ 若要在專用主機執行 RHEL 及 SUSE Linux，您必須使用自有的 AMI。您無法透過 AWS Marketplace 專用主機使用由 提供 AWS 或在 上提供的 RHEL 和 SUSE Linux AMIs。如需如何建立自己的 AMI 的詳細資訊，請參閱 [將您自己的軟體授權帶到 Amazon EC2 專用主機](dedicated-hosts-BYOL.md)。

  此限制不適用於配置給記憶體密集型執行個體 (`u-6tb1.metal`、`u-9tb1.metal`、`u-12tb1.metal`、`u-18tb1.metal` 和 `u-24tb1.metal`) 的主機。由 提供 AWS 或在 上提供的 RHEL 和 SUSE Linux AMIs AWS Marketplace 可與這些主機搭配使用。
+ 每個區域每個 AWS 帳戶每個執行個體系列的執行中專用執行個體有數量限制。配額僅適用於執行中的執行個體。如果執行個體處於待定、停止中或已停止狀態，則不會計入您的配額。若要檢視帳戶配額，或請求提升配額，可使用 [Service Quotas 主控台](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas)。
+ 僅在使用指定主機資源群組的啟動範本時，才支援 Auto Scaling 群組。如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的[使用進階設定建立啟動範本](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)。
+ 不支援 Amazon RDS 執行個體。
+  AWS 免費用量方案不適用於專用主機。
+ 執行個體的配置控制是指針對專用執行個體中所啟動的執行個體進行管理。您無法在置放群組中啟動專用主機。
+ 如果您為虛擬執行個體類型分配主機，則在分配主機之後，無法將執行個體類型修改為 `.metal` 執行個體類型。例如，如果您為 `m5.large` 執行個體類型分配主機，則無法將執行個體類型修改為 `m5.metal`。

  同樣，如果您為 `.metal` 執行個體類型分配主機，則在分配主機之後，無法將執行個體類型修改為虛擬執行個體類型。例如，如果您為 `m5.metal` 執行個體類型分配主機，則無法將執行個體類型修改為 `m5.large`。

**Topics**
+ [專用執行個體 限制](#dedicated-hosts-limitations)
+ [定價和計費](dedicated-hosts-billing.md)
+ [執行個體容量組態](dedicated-hosts-limits.md)
+ [專用主機上的爆量效能執行個體](burstable-t3.md)
+ [自帶授權](dedicated-hosts-BYOL.md)
+ [自動配置與親和性](dedicated-hosts-understanding.md)
+ [配置專用主機](dedicated-hosts-allocating.md)
+ [在專用主機啟動執行個體。](launching-dedicated-hosts-instances.md)
+ [將執行個體啟動至主機資源群組](launching-hrg-instances.md)
+ [修改 專用執行個體 自動配置](modify-host-auto-placement.md)
+ [修改支援的執行個體類型](modify-host-support.md)
+ [修改執行個體租用和親和性](moving-instances-dedicated-hosts.md)
+ [釋出專用主機](dedicated-hosts-releasing.md)
+ [遷移至 Nitro 型 Amazon EC2 專用主機](dh-migrate.md)
+ [購買專用主機保留](#purchasing-dedicated-host-reservations)
+ [跨帳戶共享](dh-sharing.md)
+ [Outpost 上的專用執行個體](dh-outposts.md)
+ [主機復原](dedicated-hosts-recovery.md)
+ [主機維護](dedicated-hosts-maintenance.md)
+ [監控 專用執行個體](dedicated-hosts-monitoring.md)
+ [追蹤組態變更](dedicated-hosts-aws-config.md)

# Amazon EC2 專用主機定價和計費
<a name="dedicated-hosts-billing"></a>

專用主機 定價會根據付款選項有所差異。

**Topics**
+ [隨需專用執行個體](#on-demand-dedicated-hosts)
+ [Dedicated Host Reservations](#dedicated-host-reservations)
+ [Savings Plans](#dedicated-hosts-savings-plans)
+ [在專用執行個體的 Windows Server 定價](#dh-win-billing)

## 隨需專用執行個體
<a name="on-demand-dedicated-hosts"></a>



當您將專用執行個體配置到帳戶時，會自動啟用隨需計費。

專用執行個體的隨需價格依執行個體系列和區域而異。不論您選擇在專用執行個體中啟動的執行個體數量或大小為何，都會以每秒 (最低 60 秒) 費率計費。如需隨需定價的詳細資訊，請參閱 [Amazon EC2 專用執行個體 隨需定價](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#on-demand)。



您可以隨時釋出隨需專用執行個體以停止累積計費。如需如何釋出專用執行個體的資訊，請參閱[釋出 Amazon EC2 專用主機](dedicated-hosts-releasing.md)。

## Dedicated Host Reservations
<a name="dedicated-host-reservations"></a>

專用執行個體預留提供相當於執行隨需專用執行個體的計費折扣。保留有三種付款選項可用：
+ **無預付**— 無預付保留可提供您一段期間的專用執行個體用量折扣，且不需要預付款。提供一年期和三年期。只有部分執行個體系列支援三年期無預付保留。
+ **部分預付**— 必須預先支付其中一部分的保留，期間內剩餘的小時數則會以折扣後的費率計費。提供一年期和三年期。
+ **全額預付**— 提供最低的有效價位。提供一年期和三年期，並預付整期的成本，日後不需另外付費。

您的帳戶中必須具備作用中專用執行個體，才能購買保留。每個保留可以涵蓋單一可用區域中支援相同執行個體系列的一或多部主機。保留會套用至主機上的執行個體系列，而不是執行個體大小。若您有三個具有不同大小執行個體的專用執行個體 (`m4.xlarge`、`m4.medium` 和 `m4.large`)，您可以將單一 `m4` 保留與所有那些專用執行個體建立關聯。保留的執行個體系列和可用區域必須符合您想與其建立關聯之專用執行個體的執行個體系列和可用區域。

當保留與專用執行個體建立關聯時，直到保留的期間結束前都不能釋出專用執行個體。

如需保留定價的詳細資訊，請參閱 [Amazon EC2 專用執行個體定價](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#reservations)。

## Savings Plans
<a name="dedicated-hosts-savings-plans"></a>

Savings Plans 是個彈性定價模式，提供 隨需執行個體 大幅節省成本。透過 Savings Plans，您可以對一致的使用量設定合約，每小時以美金計價，綁約一年或三年。這可提供您彈性使用 專用執行個體 以達到更佳的需求，且持續的節省金費，而不是與特定的 專用執行個體 綁約。如需詳細資訊，請參閱 [AWS Savings Plans 使用者指南](https://docs.aws.amazon.com/savingsplans/latest/userguide/)。

**注意**  
Savings Plans 不支援 `u-6tb1.metal`、`u-9tb1.metal`、`u-12tb1.metal`、`u-18tb1.metal` 及 `u-24tb1.metal` 專用執行個體。

## 在專用執行個體的 Windows Server 定價
<a name="dh-win-billing"></a>

根據 Microsoft 授權條款，您可以將現有的 Windows Server 和 SQL Server 授權帶到 專用執行個體。如果您選取自帶授權，則軟體使用不收取額外費用。

此外，您也可以使用 Amazon 提供的 Windows Server AMI，在 專用執行個體 上執行最新版本的 Windows Server。對於現有 SQL Server 授權有資格執行 專用執行個體，但需要 Windows Server 來執行 SQL Server 工作負載時，這種情況很常見。由 Amazon 提供的 Windows Server AMI 僅在最新一代執行個體類型上受支援。如需詳細資訊，請參閱 [Amazon EC2 專用執行個體定價](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#windows-dh)。

# Amazon EC2 專用主機執行個體容量配置
<a name="dedicated-hosts-limits"></a>

專用執行個體支援不同組態 (實體核心、通訊端和 VCPU)，能讓您執行不同系列和大小的執行個體。

在帳戶中配置專用執行個體時，您可以選擇能支援**單一執行個體類型**的組態，或相同執行個體系列中**多種執行個體類型**的組態。您可在主機上執行的執行個體數量將依您選擇的組態而定。

**Topics**
+ [單一執行個體類型支援](#dh-single)
+ [多種執行個體類型支援](#dh-multiple)

## 單一執行個體類型支援
<a name="dh-single"></a>

您可以配置僅支援一種執行個體類型的專用執行個體。若使用此組態，您在專用執行個體上啟動的每個執行個體，其執行個體類型皆必須與配置主機時指定的執行個體類型相同。

例如，您可以配置僅支援 `m5.4xlarge` 執行個體類型的主機。在此情況下，您僅能執行該主機上的 `m5.4xlarge` 執行個體。

您可在主機上啟動的執行個體數量，將依該主機提供的實體核心數量以及指定執行個體類型使用的核心數目而定。例如，如果您為 `m5.4xlarge` 執行個體配置主機，且該主機提供 48 個實體核心，則每個 `m5.4xlarge` 執行個體會消耗 8 個實體核心。這表示您最多可在該主機上啟動 6 個執行個體 (*48 個實體核心 / 每個執行個體 8 個核心 = 6 個執行個體*)。

## 多種執行個體類型支援
<a name="dh-multiple"></a>

您可以配置能支援相同執行個體系列中多種執行個體類型的專用執行個體。此舉可讓您在相同主機上執行不同類型的執行個體，只要這些執行個體位於相同執行個體系列中，且主機具有足夠的執行個體容量即可。

例如，您可以配置能支援 `R5` 執行個體系列中不同執行個體類型的主機。在此情況下，您可以根據主機的實體核心容量，在該主機上啟動特定 `R5` 執行個體類型的組合，例如 `r5.large`、`r5.xlarge`、`r5.2xlarge` 以及 `r5.4xlarge`。

下列執行個體系列可支援具有多種執行個體類型支援的專用執行個體：
+ **一般用途：**A1 \$1 M5 \$1 M5n \$1 M6i \$1 M7i \$1 T3
+ **運算優化：**C5 \$1 C5n \$1 C6i \$1 C7i
+ **記憶體優化：**R5 \$1 R5n \$1 R6i \$1 R7i

您可在主機上執行的執行個體數量，將依該主機提供的實體核心數量以及在該主機上執行的每種執行個體類型所消耗的核心數目而定。例如，如果配置一個會提供 48 個實體核心的 `R5` 主機，在執行兩個 `r5.2xlarge` 執行個體 (*4 個核心 x 2 個執行個體*) 以及三個 `r5.4xlarge` 執行個體 (*8 個核心 x 3 個執行個體*) 時，這些執行個體總共會消耗 32 個核心，而且只要在剩餘的 16 個核心範圍內，您就可執行特定組合的 `R5` 執行個體。

但是，對於每個執行個體系列，每種執行個體類型都有限制可執行的執行個體數目。例如，`R5` 專用執行個體最多可支援 2 個 `r5.8xlarge` 執行個體，使用 32 個實體核心。在此情況下，可使用其他較小的 `R5` 執行個體類型來將主機填滿至核心容量。如需了解每個執行個體系列支援的執行個體類型數量，請參閱[專用主機組態表格](https://aws.amazon.com/ec2/dedicated-hosts/pricing/#host-configuration)。

下表所示為執行個體類型組合範例：


| 執行個體系列 | 範例執行個體類型組合 | 
| --- | --- | 
| R5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 
| C5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 
| M5 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/dedicated-hosts-limits.html)  | 

**考量事項**  
在使用支援多種執行個體類型的專用執行個體時，請注意下列各項：
+ 同一主機上使用多種執行個體類型，僅限於相同的執行個體系列。
+ 混合使用多種執行個體類型時，若要最大化主機使用率，建議先啟動較大型的執行個體類型，再啟動較小型的執行個體類型。
  + 根據專用主機上執行個體類型的組合與啟動順序，實際上可能無法最大化主機使用率。在主機上混合使用多種執行個體類型時，主機可能會有部分可用容量但無法使用。例如，您可能會看到 r5n 主機上有 16 個可用 vCPU，但即使 r5n.4xlarge 需使用 16 個 vCPU 執行，仍可能無法在該主機上啟動 4xlarge 執行個體。

**注意**  
若您將 A1 專用主機設定為支援多種執行個體類型，僅能在該主機上混合啟動 `a1.xlarge` 與 `a1.2xlarge` 執行個體。若您在該主機上啟動 `a1.medium` 或 `a1.large` 執行個體，此後僅能在該主機上繼續啟動相同類型的執行個體。單一 `a1.4xlarge` 執行個體會佔用主機的所有容量。若您需要主機專門用於 `a1.medium` 或 `a1.large` 執行個體，建議為這些執行個體類型單獨配置主機。

# Amazon EC2 專用主機上的爆量效能 T3 執行個體
<a name="burstable-t3"></a>

專用執行個體支援爆量效能 T3 執行個體。T3 執行個體可讓您在專用硬體上使用合格的 BYOL 授權軟體，可說是符合成本效益的方式。T3 執行個體的 vCPU 佔用空間較小，合併工作負載時所需的主機較少，而且每個核心授權都可以發揮最大的使用率。

T3 專用執行個體最適合執行 BYOL 軟體，而 CPU 使用率為低度至中等。這包括符合資格的依通訊端數、依核心數或依虛擬機器數的軟體授權，例如 Windows Server、Windows 桌面、SQL Server、SUSE Enterprise Linux Server、Red Hat Enterprise Linux 及 Oracle 資料庫。例如，適用於 T3 專用執行個體的工作負載包括中小型資料庫、虛擬桌面、開發及測試環境、程式碼儲存庫和產品原型等。T3 專用執行個體不建議用於 CPU 持續使用率高的工作負載，或同時遇到相關 CPU 高載問題的工作負載。

專用執行個體上的 T3 執行個體使用的額度模型是與共用租用硬體上的 T3 執行個體相同。但是，其僅支援 `standard` 額度模型；並不支援 `unlimited` 額度模型。在 `standard` 模式中，專用主機上的 T3 執行個體使用與共用租用硬體上爆量效能執行個體相同的方式*獲得*、*花費*以及*累積*抵用金。它們提供基準 CPU 效能，並可大幅超越基準水準。若要讓效能突增至超過基準，執行個體會用掉在 CPU 額度餘額中所累積的額度。當累積的額度耗盡時，CPU 使用率會降低至基準水準。如需 `standard` 模式的詳細資訊，請參閱 [標準爆量效能執行個體如何運作](burstable-performance-instances-standard-mode-concepts.md#how-burstable-performance-instances-standard-works)。

T3 專用執行個體支援 Amazon EC2 專用執行個體提供的所有功能，包括在單一主機、主機資源群組和 BYOL 上的多種執行個體規模。

**支援的 T3 執行個體大小和組態**  


T3 專用執行個體執行一般用途高載 T3 執行個體，透過提供基準 CPU 效能及在需要時高載執行更高的效能，來分享主機的 CPU 資源。如此一來，擁有 48 個核心的 T3 專用執行個體，每台主機最多可支援 192 個執行個體。為了有效利用主機的資源並提供最佳執行個體效能，Amazon EC2 執行個體置放演算法會自動計算可支援主機上啟動的執行個體數量和執行個體大小這兩者的組合。

T3 專用執行個體支援同一主機上的多個執行個體類型。所有 T3 執行個體大小都受專用執行個體的支援。您可執行各種不同的 T3 執行個體組合，只要不超出主機的 CPU 上限即可。

下表列出支援的執行個體類型、摘要說明每個執行個體類型的效能，並指明可啟動之每種大小的執行個體數目上限。


| 執行個體類型 | vCPUs | 記憶體 (GiB) | 每個 vCPU 的基準 CPU 使用率 | 網路高載頻寬 (Gbps) | Amazon EBS 高載頻寬 (Mbps) | 每個專用執行個體的執行個體數目上限 | 
| --- | --- | --- | --- | --- | --- | --- | 
| t3.nano | 2 | 0.5 | 5% | 5 | 最高 2,085 | 192 | 
| t3.micro | 2 | 1 | 10% | 5 | 最高 2,085 | 192 | 
| t3.small | 2 | 2 | 20% | 5 | 最高 2,085 | 192 | 
| t3.medium | 2 | 4 | 20% | 5 | 最高 2,085 | 192 | 
| t3.large | 2 | 8 | 30% | 5 | 2,780 | 96 | 
| t3.xlarge | 4 | 16 | 40% | 5 | 2,780 | 48 | 
| t3.2xlarge | 8 | 32 | 40% | 5 | 2,780 | 24 | 

**監控 T3 專用執行個體的 CPU 使用率**  
您可使用 `DedicatedHostCPUUtilization` Amazon CloudWatch 指標來監控專用執行個體的 vCPU 使用率。`EC2` 命名空間和 `Per-Host-Metrics` 維度均可使用此指標。如需詳細資訊，請參閱[專用執行個體指標](viewing_metrics_with_cloudwatch.md#dh-metrics)。

# 將您自己的軟體授權帶到 Amazon EC2 專用主機
<a name="dedicated-hosts-BYOL"></a>

專用執行個體可讓您使用現有的每個通訊端、每個核心或每個 VM 軟體授權。當您使用自有授權時，需負責管理自己的授權。不過，Amazon EC2 具有的功能可協助您保有授權合規，例如執行個體親和性和鎖定的放置。

若要在 Amazon EC2 中使用自有的磁碟區授權機器映像，需遵循以下一般步驟。

1. 確定授權條款 (控管機器映像的使用辦法) 允許您在虛擬化雲端環境中使用機器映像。如需 Microsoft 授權的詳細資訊，請參閱 [Amazon Web Services 和 Microsoft 授權](https://aws.amazon.com/windows/faq/#licensing)。

1. 確定您可以在 Amazon EC2 中使用機器映像後，請使用 VM Import/Export 將其匯入。如需如何匯入機器映像的資訊，請參閱 [VM Import/Export 使用者指南](https://docs.aws.amazon.com/vm-import/latest/userguide/)。

1. 匯入機器映像之後，您就可以透過該映像在帳戶中的作用中專用執行個體上啟動執行個體。

1. 依據作業系統而定，當您執行這些執行個體時，您可能必須為自己的 KMS 伺服器 (例如 Windows Server 或 Windows SQL Server) 啟用執行個體。您無法為 Amazon Windows KMS 伺服器啟用匯入的 Windows AMI。

**注意**  
若要追蹤映像的使用方式 AWS，請在其中啟用主機錄製 AWS Config。您可以使用 AWS Config 記錄專用主機的組態變更，並使用輸出做為授權報告的資料來源。如需詳細資訊，請參閱[使用 追蹤 Amazon EC2 專用主機組態變更 AWS Config](dedicated-hosts-aws-config.md)。

# Amazon EC2 專用主機自動配置和主機親和性
<a name="dedicated-hosts-understanding"></a>

您可以在執行個體層級和主機層級上進行 專用執行個體 配置控制。

## 自動配置
<a name="dedicated-hosts-auto-placement"></a>

您會在主機層級設定自動配置。這可讓您管理執行個體要在特定主機上啟動，或在任何具有相符組態的可用主機上啟動。

當為專用主機**停用**自動配置時，其只接受指定其唯一主機 ID 的主機租用執行個體啟動。這是新專用執行個體的預設設定。

當為專用主機**啟用**自動配置時，它會接受任何與其執行個體類型組態相符的非目標託管租用執行個體啟動。

在啟動執行個體時，您必須設定其租用。若在專用執行個體上啟動執行個體而未提供特定 `HostId`，該執行個體就會在*啟用*自動配置且符合其執行個體類型的任何專用執行個體上啟動。

## 主機親和性
<a name="dedicated-hosts-affinity"></a>

您必須在執行個體層級設定主機親和性。它會建立執行個體和專用執行個體之間的啟動關係。

當親和性設為 `Host` 時，先前在特定主機上啟動的執行個體若曾停止，執行個體一律會在相同的主機上重新啟動。這適用於有訂定與未訂定目標的啟動。

當親和性設為 `Default` 且您停止並重新啟動執行個體時，它會在任何可用的主機上重新啟動。不過，它會嘗試在先前執行的專用執行個體上啟動 (以最佳做法為主)。

# 配置 Amazon EC2 專用主機供您的帳戶使用
<a name="dedicated-hosts-allocating"></a>

若要開始使用專用主機，您必須先在您的帳戶進行分配。配置 專用執行個體 之後，會立即將 專用執行個體 容量提供給您的帳戶，而且您可以開始在 專用執行個體 上啟動執行個體。

在帳戶中配置專用執行個體時，您可以選擇能支援**單一執行個體類型**的組態，或相同執行個體系列中**多種執行個體類型**的組態。您可在主機上執行的執行個體數量將依您選擇的組態而定。如需更多資訊，請參閱[Amazon EC2 專用主機執行個體容量配置](dedicated-hosts-limits.md)。

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

**配置專用執行個體**

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

1. 在導覽窗格中，選擇 **Dedicated Hosts** (專用執行個體)，然後選擇 **Allocate 專用執行個體 (配置 專用執行個體)**。

1. 對於 **Instance family (執行個體系列)**，選擇適用於 專用執行個體 的執行個體系列。

1. 指定 專用執行個體 是否支援所選執行個體系列內的多種執行個體容量，或是僅支援特定執行個體類型。執行下列操作。
   + 若要將 專用執行個體 設定為支援所選執行個體系列內的多個執行類型，請針對 **Support multiple instance types (支援多個執行個體類型)** 選取 **Enable (啟用)**。啟用此功能，您就能在 專用執行個體 上啟動來自相同執行個體系列的不同執行個體容量。例如，如果您選擇 `m5` 執行個體系列且選擇了此選項，您就能在 專用執行個體 上啟動 `m5.xlarge` 及 `m5.4xlarge`。
   + 若要將 專用執行個體 設定為支援所選執行個體系列內的單一執行特定類型，請清除 **Support multiple instance types (支援多個執行個體類型)**，然後針對 **Instance type (執行個體類型)** 選取要支援的執行個體類型。這可讓您在 專用執行個體 上啟動單一執行個體類型。例如，如果您選擇此選項並指定 `m5.4xlarge` 作為支援的執行個體類型，則您僅能在 專用執行個體 上啟動 `m5.4xlarge`。

1. 對於 **Availability Zone (可用區域)**，選擇要配置 專用執行個體 的可用區域。

1. 若要允許 專用執行個體 接受符合其執行個體類型的未鎖定執行個體啟動，對於 **Instance auto-placement (執行個體自動放置)**，請選擇 **Enable (啟用)**。如需自動配置的詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。

1. 若要啟用 專用執行個體 的主機復原，對於 **Host recovery (主機復原)**，請選擇 **Enable (啟用)**。如需詳細資訊，請參閱[Amazon EC2 專用主機復原](dedicated-hosts-recovery.md)。

1. 對於 **Quantity (數量)**，輸入要配置的 專用執行個體 數量。

1. (選用) 選擇**新增標籤**，然後輸入標籤金鑰和標籤值。

1. 選擇 **Allocate (配置)**。

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

**配置專用執行個體**  
使用 [allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) 命令。下列範例會配置一個專用主機，其可支援 `us-east-1a` 可用區域中來自 `m5` 執行個體系列的多個執行個體類型。此操作還會啟用主機復原功能，並停用自動置放功能。

```
aws ec2 allocate-hosts \
    --instance-family "m5" \
    --availability-zone "us-east-1a" \
    --auto-placement "off" \
    --host-recovery "on" \ 
    --quantity 1
```

以下範例會配置一個專用主機，其可支援在指定可用區域中啟動之*未訂定目標的*執行個體並啟用主機復原，同時啟用主機復原功能與自動置放功能。

```
aws ec2 allocate-hosts \
    --instance-type "m5.large" \
    --availability-zone "eu-west-1a" \
    --auto-placement "on" \
    --host-recovery "on" \
    --quantity 1
```

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

**配置專用執行個體**  
使用 [New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) cmdlet。下列範例會配置一個專用主機，其可支援 `us-east-1a` 可用區域中來自 `m5` 執行個體系列的多個執行個體類型。主機也已啟用主機復原功能，而且已停用自動置放功能。

```
New-EC2Host `
    -InstanceFamily m5 `
    -AvailabilityZone us-east-1a `
    -AutoPlacement Off `
    -HostRecovery On `
    -Quantity 1
```

以下範例會配置一個專用主機，其可支援在指定可用區域中啟動之*未訂定目標的*執行個體並啟用主機復原。

```
New-EC2Host `
    -InstanceType m5.large `
    -AvailabilityZone eu-west-1a `
    -AutoPlacement On `
    -HostRecovery On `
    -Quantity 1
```

------

# 在 Amazon EC2 專用主機上啟動 Amazon EC2 執行個體
<a name="launching-dedicated-hosts-instances"></a>

配置好專用執行個體之後，您就可以在其中啟動執行個體。如果您不具備作用中的專用執行個體，且其可用容量不足以啟動您的執行個體類型，您就無法啟動含 `host` 租用的執行個體。

**考量事項**
+ 由 Amazon EC2 提供的 Windows、SUSE 和 RHEL AMI 無法搭配專用執行個體使用。
+ 對於支援多種執行個體規模的專用執行個體，建議您先啟動較大的執行個體，然後視需要以較小的執行個體填滿剩餘的執行個體容量。
+ 在您啟動執行個體之前，請記下以下的限制。如需詳細資訊，請參閱[專用執行個體 限制](dedicated-hosts-overview.md#dedicated-hosts-limitations)。

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

**在專用執行個體頁面於特定專用執行個體啟動執行個體**

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

1. 在導覽窗格中，選擇 **專用執行個體**。

1. 在 **Dedicated Hosts** (專用執行個體) 頁面上，選取一個主機，然後選取 **Actions** (動作)、**Launch Instance(s) onto Host** (在主機啟動執行個體)。

1. 在 **Application and OS Images** (應用程式和 OS 映像) 區段中，從清單中選取 AMI。

1. 在 **Instance type** (執行個體類型) 區段中，選取要啟動的執行個體類型。
**注意**  
如果 專用執行個體 僅支援單一執行個體類型，則預設會選取支援的執行個體類型，而且不可變更。  
如果專用執行個體支援多個執行個體類型，您必須根據專用執行個體的可用執行個體容量，選取支援執行個體系列內的執行個體類型。建議您先啟動較大的執行個體，然後視需要以較小的執行個體填滿剩餘的執行個體容量。

1. 在 **Key pair** (金鑰對) 區段中，選取要與執行個體建立關聯的金鑰對。

1. 在**進階詳細資訊**區段，針對**租用親和性**，請選擇下列其中一項：
   + **關閉** — 已停用主機親和性。在指定主機啟動的執行個體，不保證停止後會在相同的專用主機重新啟動。
   + 專用主機 ID — 已啟用主機親和性。如果停止，執行個體一律會在此指定主機重新啟動 (如果主機有容量)。如果主機沒有容量，則無法重新啟動執行個體；您必須與其他主機建立親和性。

   如需親和性的詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。
**注意**  
**Tenancy (租用)** 和 **Host (主機)** 選項會依據您選取的主機預先設定。

1. 視需要設定其餘的執行個體選項。如需詳細資訊，請參閱[Amazon EC2 執行個體組態參數的參考](ec2-instance-launch-parameters.md)。

1. 選擇**啟動執行個體**。

**使用啟動執行個體精靈，在專用執行個體中啟動執行個體**

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

1. 在導覽窗格中，選擇 **Instances** (執行個體)、**Launch Instance** (啟動執行個體)。

1. 在 **Application and OS Images** (應用程式和 OS 映像) 區段中，從清單中選取 AMI。

1. 在 **Instance type** (執行個體類型) 區段中，選取要啟動的執行個體類型。

1. 在 **Key pair** (金鑰對) 區段中，選取要與執行個體建立關聯的金鑰對。

1. 在 **Advanced details** (進階詳細資料) 區段中，執行下列操作：

   1. 對於 **Tenancy** (租用)，選取 **Dedicated Host** (專用執行個體)。

   1. 對於 **Target host by** (目標主機依據) 中，選取 **Host ID** (主機 ID)。

   1. 對於 **Target host ID** (目標主機 ID)，選取要在其上啟動執行個體的主機。

   1. 對於**租用親和性**，請選擇下列其中一項：
      + **關閉** — 已停用主機親和性。在指定主機啟動的執行個體，不保證停止後會在相同的專用主機重新啟動。
      + 專用主機 ID — 已啟用主機親和性。如果停止，執行個體一律會在此指定主機重新啟動 (如果主機有容量)。如果主機沒有容量，則無法重新啟動執行個體；您必須與其他主機建立親和性。

      如需親和性的詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。

1. 視需要設定其餘的執行個體選項。如需詳細資訊，請參閱[Amazon EC2 執行個體組態參數的參考](ec2-instance-launch-parameters.md)。

1. 選擇**啟動執行個體**。

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

**將執行個體啟動至專用執行個體**  
使用 [run-instance](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令，並在 `--placement` 選項中指定執行個體的親和性、租用和主機。

若要在具有主機親和性的特定專用主機上啟動 （如果已停止，執行個體一律會在相同主機上重新啟動）：

```
--placement Affinity=host,Tenancy=host,HostId=h-07879acf49EXAMPLE
```

若要在沒有主機親和性的專用主機上啟動 （執行個體可以在任何可用的主機上重新啟動）：

```
--placement Tenancy=host,HostId=h-07879acf49EXAMPLE
```

若要在已啟用自動配置且符合執行個體類型的任何可用專用主機上啟動：

```
--placement Tenancy=host
```

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

**將執行個體啟動至專用執行個體**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet，並在 `-Placement` 參數中指定執行個體的親和性、租用和主機。

若要在具有主機親和性的特定專用主機上啟動 （如果已停止，執行個體一律會在相同主機上重新啟動）：

```
-Placement_Affinity host `
-Placement_Tenancy host `
-Placement_HostId h-07879acf49EXAMPLE
```

若要在沒有主機親和性的專用主機上啟動 （執行個體可以在任何可用的主機上重新啟動）：

```
-Placement_Tenancy host `
-Placement_HostId h-07879acf49EXAMPLE
```

若要在已啟用自動配置且符合執行個體類型的任何可用專用主機上啟動：

```
-Placement_Tenancy host
```

------

# 將 Amazon EC2 執行個體啟動至主機資源群組
<a name="launching-hrg-instances"></a>

專用主機也與 整合 AWS License Manager。您可以使用 License Manager 建立主機資源群組，這是做為單一實體管理的專用執行個體集合。建立主機資源群組時，您可以指定專用執行個體的主機管理偏好設定，例如自動配置和自動發佈。這讓您在無需手動配置和管理這些主機的情況下，在專用執行個體中啟動執行個體。如需詳細資訊，請參閱「AWS License Manager 使用者指南」**中的[主機資源群組](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)。

當您將執行個體啟動至具有可用執行個體容量之專用執行個體的主機資源群組時，Amazon EC2 會將執行個體啟動到該主機上。如果主機資源群組沒有具有可用執行個體容量的主機，則 Amazon EC2 會自動在主機資源群組中配置新主機，然後將執行個體啟動到該主機上。如需詳細資訊，請參閱「AWS License Manager 使用者指南」**中的[主機資源群組](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)。

**需求與限制**
+ 您必須將以核心或通訊端為基礎的授權組態與 AMI 建立關聯。
+ 您無法將 Amazon EC2 提供的 SQL Server、SUSE 或 RHEL AMI 與 專用執行個體 搭配使用。
+ 您無法透過選擇主機 ID 鎖定特定主機為目標，而且在將執行個體啟動至主機資源群組時，也無法啟用執行個體親和性。

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

**將執行個體啟動至主機資源群組**

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

1. 在導覽窗格中，選擇 **Instances** (執行個體)、**Launch Instance** (啟動執行個體)。

1. 在 **Application and OS Images** (應用程式和 OS 映像) 區段中，從清單中選取 AMI。

1. 在 **Instance type** (執行個體類型) 區段中，選取要啟動的執行個體類型。

1. 在 **Key pair** (金鑰對) 區段中，選取要與執行個體建立關聯的金鑰對。

1. 在 **Advanced details** (進階詳細資料) 區段中，執行下列操作：

   1. 對於 **Tenancy** (租用)，選取 **Dedicated Host** (專用執行個體)。

   1. 對於 **Target host by** (目標主機依據)，選取 **Host resource group** (主機資源群組)。

   1. 對於 **Tenancy host resource group** (租用主機資源群組)，選取要在其中啟動執行個體的主機資源群組。

   1. 對於 **Tenancy affinity** (租用親和性)，執行下列其中一個操作：
      + 選取 **Off** (關閉) – 在指定主機上啟動的執行個體，不保證停止後會在相同的專用執行個體上重新啟動。
      + 選取專用執行個體 ID – 執行個體在停止後始終會在此特定主機上重新啟動。

      如需親和性的詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。

1. 視需要設定其餘的執行個體選項。如需詳細資訊，請參閱[Amazon EC2 執行個體組態參數的參考](ec2-instance-launch-parameters.md)。

1. 選擇**啟動執行個體**。

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

**將執行個體啟動至主機資源群組**  
使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令。在 `--placement` 選項中，省略租用，並指定主機資源群組的 ARN。

```
--placement HostResourceGroupArn=arn:aws:resource-groups:us-east-2:123456789012:group/my-resource-group
```

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

**將執行個體啟動至主機資源群組**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet。在 `-Placement` 參數中，省略租用，並指定主機資源群組的 ARN。

```
-Placement_HostResourceGroupArn arn:aws:resource-groups:us-east-2:123456789012:group/my-resource-group
```

------

# 修改現有 Amazon EC2 專用主機的自動配置設定
<a name="modify-host-auto-placement"></a>

您可以在將專用主機配置到 AWS 您的帳戶之後，修改專用主機的自動置放設定。

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

**修改專用執行個體的自動配置**

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

1. 在導覽窗格中，選擇 **專用執行個體**。

1. 選取主機並選取 **Actions (動作)**、**Modify host (修改主機)**。

1. 對於 **Instance auto-placement (執行個體自動配置)**，選擇 **Enable (啟用)** 以啟用自動配置，或清除 **Enable (啟用)** 以停用自動配置。如需詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。

1. 選擇 **Save** (儲存)。

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

**修改專用執行個體的自動配置**  
使用 [modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 命令。

```
aws ec2 modify-hosts \
    --auto-placement on \
    --host-ids h-012a3456b7890cdef
```

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

**修改專用執行個體的自動配置**  
使用 [Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet。

```
Edit-EC2Host `
    -AutoPlacement 1 `
    -HostId h-012a3456b7890cdef
```

------

# 修改現有 Amazon EC2 專用主機支援的執行個體類型
<a name="modify-host-support"></a>

您可以修改 專用執行個體 來變更其支援的執行個體類型。如果其目前支援單一執行個體類型，您可以進行修改，以支援該執行個體系統內的多個執行個體類型。同樣地，如果其目前支援多個執行個體類型，您可以進行修改，僅支援特定執行個體類型。

若要修改 專用執行個體 以支援多個執行個體類型，您必須先停止主機上所有執行的執行個體。此修改需要約 10 分鐘的時間完成。進行修改時，專用執行個體 會轉移為 `pending` 狀態。當執行個體處於 `pending` 狀態時，您無法開始已停止的執行個體，或是啟動 專用執行個體 上的新執行個體。

若要將支援多個執行個體類型的 專用執行個體 修改為僅支援單一執行個體類型，主機必須沒有執行中的執行個體，或是執行中的執行個體必須是您希望主機支援的執行個體類型。例如，若要將支援 `m5` 執行個體系列內多個執行個體類型的主機修改為僅支援 `m5.large` 執行個體，專用執行個體 必須沒有執行中的執行個體，或是其上必須只有 `m5.large` 個執行個體在執行中。

如果您為虛擬執行個體類型分配主機，則在分配主機之後，無法將執行個體類型修改為 `.metal` 執行個體類型。例如，如果您為 `m5.large` 執行個體類型分配主機，則無法將執行個體類型修改為 `m5.metal`。同樣，如果您為 `.metal` 執行個體類型分配主機，則在分配主機之後，無法將執行個體類型修改為虛擬執行個體類型。例如，如果您為 `m5.metal` 執行個體類型分配主機，則無法將執行個體類型修改為 `m5.large`。

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

**修改專用執行個體支援的執行個體類型**

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

1. 在導覽窗格中，選擇 **Dedicated Host** (專用執行個體)。

1. 選取要修改的專用執行個體，然後選取 **Actions (動作)**、**Modify host (修改主機)**。

1. 根據專用執行個體的目前組態，執行下列其中一個動作：
   + 如果專用執行個體目前支援特定執行個體類型，則不會啟用 **Support multiple instance types (支援多個執行個體類型)**，且 **Instance type (執行個體類型)** 會列出支援的執行個體類型。若要將主機修改為支援目前執行個體系列中的多個類型，請針對 **Support multiple instance types (支援多個執行個體類型)**，選取 **Enable (啟用)**。

     您必須先停止主機上所有執行的執行個體，然後再將之修改為支援多個執行個體類型。
   + 如果專用執行個體目前支援執行個體系列內的多個執行個體類型，請針對 **Support multiple instance types (支援多個執行個體類型)** 選取 **Enabled (已啟用)**。若要將主機修改為支援特定執行個體類型，請針對 **Support multiple instance types (支援多個執行個體類型)** 清除 **Enable (啟用)**，然後針對 **Instance type (執行個體類型)** 選取要支援的特定執行個體類型。

     您無法變更 專用執行個體 支援的執行個體系列。

1. 選擇 **Save** (儲存)。

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

**修改專用執行個體支援的執行個體類型**  
使用 [modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 命令。

下列範例會修改專用主機以支援 `m5` 執行個體系列內的多個執行個體類型。

```
aws ec2 modify-hosts \
    --instance-family m5 \
    --host-ids h-012a3456b7890cdef
```

下列範例會修改專用主機，以便僅支援 `m5.xlarge` 執行個體。

```
aws ec2 modify-hosts \
    --instance-type m5.xlarge \
    --instance-family --host-ids h-012a3456b7890cdef
```

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

**修改專用執行個體支援的執行個體類型**  
使用 [Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet。

下列範例會修改專用主機以支援 `m5` 執行個體系列內的多個執行個體類型。

```
Edit-EC2Host `
    -InstanceFamily m5 `
    -HostId h-012a3456b7890cdef
```

下列範例會修改專用主機，以便僅支援 `m5.xlarge` 執行個體。

```
Edit-EC2Host `
    -InstanceType m5.xlarge `
    -HostId h-012a3456b7890cdef
```

------

# 修改 Amazon EC2 執行個體的 Amazon EC2 專用主機租用和親和性
<a name="moving-instances-dedicated-hosts"></a>

啟動執行個體之後，就可以變更執行個體的租用。您也可以修改執行個體的親和性以鎖定特定主機，或允許在帳戶中具有相符屬性的任何可用專用執行個體上啟動。若要修改執行個體租用或親和性，執行個體必須處於 `stopped` 狀態。

執行個體的作業系統詳細資訊 (以及是否已安裝 SQL Server) 會影響支援的轉換。如需執行個體可用租用轉換路徑的詳細資訊，請參閱「License Manager 使用指南」**中的[租用轉換](https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-tenancy.html)。

**注意**  
若使用 T3 執行個體，您必須在專用執行個體上啟動執行個體，才能使用 `host` 的租用。使用 T3 執行個體時，您無法將租用從 `host` 變更為 `dedicated` 或 `default`。嘗試進行上述任一不受支援的租用變更時，會顯示 `InvalidRequest` 錯誤代碼。

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

**修改執行個體租用或親和性**

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

1. 選取 **Instances (執行個體)**，再選取要修改的執行個體。

1. 選擇 **Instance state (執行個體狀態)**、**Stop (停止)**。

1. 在已選取執行個體的情況下，選擇**動作**、**執行個體設定**、**修改執行個體的配置**。

1. 在**修改執行個體配置**頁面，設定下列：
   + **Tenancy (租用)**— 選擇下列其中一項：
     + 執行專用硬體執行個體 – 以專用預留執行個體形式啟動執行個體。如需詳細資訊，請參閱[Amazon EC2 專用執行個體](dedicated-instance.md)。
     + 在專用執行個體上啟動執行個體 – 在可設定親和性的專用執行個體上啟動執行個體。
   + **Affinity (親和性)**— 選擇下列其中一項：
     + 此執行個體可在我的任一台主機上執行 – 執行個體會在您帳戶中任何支援其執行個體類型的可用專用執行個體上啟動。
     + 此執行個體僅能在所選的主機上執行 – 執行個體僅能在為 **Target Host** (目標主機) 選取的專用執行個體上執行。
   + **Target Host (目標主機)**— 選取執行個體必須在其上執行的專用執行個體。如果沒有列出任何目標主機，您的帳戶中可能沒有可用且相容的專用執行個體。

   如需詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。

1. 選擇 **Save** (儲存)。

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

**修改執行個體租用或親和性**  
使用 [modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html) 命令。以下範例會將指定執行個體的親和性從 `default` 變更為 `host`，並指定執行個體要與哪個專用執行個體保有親和性。

```
aws ec2 modify-instance-placement \
    --instance-id i-1234567890abcdef0 \
    --affinity host \
    --tenancy host \
    --host-id h-012a3456b7890cdef
```

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

**修改執行個體租用或親和性**  
使用 [ Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) cmdlet。以下範例會將指定執行個體的親和性從 `default` 變更為 `host`，並指定執行個體要與哪個專用執行個體保有親和性。

```
Edit-EC2InstancePlacement `
    -InstanceId i-1234567890abcdef0 `
    -Affinity host `
    -Tenancy host `
    -HostId h-012a3456b7890cdef
```

------

# 釋出 Amazon EC2 專用主機
<a name="dedicated-hosts-releasing"></a>

如果您不再需要專用主機，可以停止在主機上執行的執行個體，並指示它們在另一個主機上啟動，接著再*釋出*主機。

您必須先停止在專用執行個體上執行的任何執行個體，才能釋出主機。您可以將這些執行個體遷移到帳戶中的其他專用執行個體，以便繼續使用。這些步驟僅適用於隨需專用執行個體。

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

**釋出專用執行個體**

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

1. 在導覽窗格中，選擇 **專用執行個體**。

1. 在 **專用執行個體 (專用執行個體)** 頁面中，選取要釋出的專用執行個體。

1. 選擇 **Actions (動作)**、**Release host (釋出主機)**。

1. 若要確認，請選擇 **Release (釋出)**。

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

**釋出專用執行個體**  
使用 [release-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/release-hosts.html) 命令。

```
aws ec2 release-hosts --host-ids h-012a3456b7890cdef
```

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

**釋出專用執行個體**  
使用 [Remove-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Host.html) cmdlet。

```
Remove-EC2Host -HostId h-012a3456b7890cdef
```

------

在您釋出專用執行個體之後，即無法再次使用相同的主機或主機 ID，也不會再以隨需計費費率向您收費。專用執行個體的狀態會變更為 `released`，且您將無法在該主機上啟動任何執行個體。

**注意**  
如果您最近曾釋出專用執行個體，其可能需要一些時間才能停止計入限制。在這段期間，您可能會在嘗試配置新的專用執行個體時遇到 `LimitExceeded` 錯誤。若是這種情況，請嘗試在幾分鐘後再次配置新的主機。

停止的執行個體仍可供使用，並會列在 **Instances (執行個體)** 頁面中。這些執行個體仍保有其 `host` 租用設定。

# 遷移至 Nitro 型 Amazon EC2 專用主機
<a name="dh-migrate"></a>

Nitro 系統結合一系列由 AWS 建立的硬體和軟體元件，能保障高效能、高可用性和高安全性。與 Xen 型專用主機相比，Nitro 型專用主機的性價比更高。如果您的帳戶中有任何 Xen 型專用主機，我們建議您將工作負載遷移到 Nitro 型專用主機。如需更多資訊，請參閱 [AWS Nitro 系統](https://aws.amazon.com/ec2/nitro/)。

若要從 Xen 型專用主機遷移到 Nitro 型專用主機，您需要將專用主機的 Xen 型執行個體遷移到 Nitro 型執行個體類型，配置新 Nitro 型專用主機，然後將遷移的 Nitro 型執行個體移動到新 Nitro 型專用主機。

本主題提供從 Xen 型專用主機遷移到 Nitro 型專用主機的詳細步驟。

**Topics**
+ [步驟 1：識別您的 Xen 型專用主機](#identify-xen-hosts)
+ [步驟 2：將 Xen 型執行個體遷移至 Nitro 型執行個體類型](#migrate-dh-instances)
+ [步驟 3：配置 Nitro 型專用主機](#allocate-nitro-host)
+ [步驟 4：將已遷移的執行個體移至新 Nitro 型專用主機](#move-instances)
+ [步驟 5：釋出未用 Xen 型專用主機](#release-xen-instances)

## 步驟 1：識別您的 Xen 型專用主機
<a name="identify-xen-hosts"></a>

以下專用主機為 Xen 型，符合資格遷移到 Nitro 型專用主機。
+ **一般用途：**M3 \$1 M4
+ **運算最佳化：**C3 \$1 C4
+ **記憶體最佳化：**R3 \$1 R4 \$1 X1 \$1 X1e
+ **儲存最佳化：**D2 \$1 H1 \$1 I2 \$1 I3
+ **加速運算：**F1 \$1 G3 \$1 P2 \$1 P3

**檢查帳戶中是否有 Xen 型專用主機**

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

1. 在導覽窗格，選擇**專用主機**。

1. 在**搜尋欄位**中，使用**執行個體系列**篩選條件來搜尋上述 Xen 型專用主機。例如，*執行個體系列 = m3*。

## 步驟 2：將 Xen 型執行個體遷移至 Nitro 型執行個體類型
<a name="migrate-dh-instances"></a>

在 Xen 型專用主機上執行的執行個體也是 Xen 型。您必須將這些執行個體遷移至 Nitro 型執行個體類型，才能將其移動至 Nitro 型專用主機。

**重要**  
在開始遷移執行個體之前，建議您備份資料。如需詳細資訊，請參閱[從 Amazon EC2 執行個體建立多磁碟區 Amazon EBS 快照](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-create-snapshots.html)。

**尋找在 Xen 型專用主機上執行的執行個體**

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

1. 在導覽窗格，選擇**專用主機**。

1. 選取要遷移的 Xen 型主機，然後選取**執行中執行個體**索引標籤。此索引標籤會列出所選主機執行的所有執行個體。

若要遷移 **Linux 執行個體**，請參閱 [Amazon EC2 執行個體類型變更](ec2-instance-resize.md)。

若要遷移 **Windows 執行個體**，請參閱 [將 EC2 Windows 執行個體遷移至 Nitro 型執行個體類型](migrating-latest-types.md)。

**注意**  
請確保將執行個體遷移至與您要遷移到的 Nitro 型專用主機相符的執行個體類型。例如，如果您要遷移至 M7i 專用主機，請確定將執行個體遷移至 M7i 執行個體類型。

## 步驟 3：配置 Nitro 型專用主機
<a name="allocate-nitro-host"></a>

**尋找支援的 Nitro 型專用主機**

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

1. 在導覽窗格，選取**執行個體類型**。

1. 套用下列篩選條件：
   + *Hypervisor = nitro*
   + *專用主機支援 = true*

找到合適的 Nitro 型執行個體類型後，請[配置新專用主機](dedicated-hosts-allocating.md)。

## 步驟 4：將已遷移的執行個體移至新 Nitro 型專用主機
<a name="move-instances"></a>

在配置 Nitro 型專用主機並達到 `available` 狀態後，您可以將先前遷移到 Nitro 型專用主機的執行個體類型移至新專用主機。

**若要將執行個體移至新 Nitro 型專用主機**

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

1. 在導覽窗格，**執行個體**。

1. 選取您遷移的執行個體，選擇**動作**、**執行個體設定**、**修改執行個體的配置**。

1. 對於**目標專用主機**，選擇新 Nitro 型專用主機，然後選擇**儲存**。

1. 重新啟動執行個體。選取執行個體，並選取**執行個體狀態**、**停止執行個體**。

## 步驟 5：釋出未用 Xen 型專用主機
<a name="release-xen-instances"></a>

將工作負載從 Xen 型專用主機遷移到新 Nitro 型專用主機後，如果不再需要，您可以[釋出 Xen 型專用主機](dedicated-hosts-releasing.md)。

## 以專用主機帳單折扣購買專用主機保留
<a name="purchasing-dedicated-host-reservations"></a>

與隨需專用主機定價相比，專用主機保留可為您提供最高 70% 的折扣。您的帳戶必須配置作用中專用主機，然後才能購買專用主機保留。如需詳細資訊，請參閱[Dedicated Host Reservations](dedicated-hosts-billing.md#dedicated-host-reservations)。

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

**購買保留**

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

1. 選擇 **專用執行個體**、**專用執行個體預留**、**Purchase 專用執行個體預留 (購買 專用執行個體預留)**。

1. 在**尋找方案**畫面，執行下列動作：

   1. 對於**執行個體系列**，請選擇要購買專用主機保留的專用主機執行個體系列。

   1. 在**支付選項**中，選擇並設定偏好支付選項。

1. 選擇**下一步**。

1. 選擇與專用主機保留相關的專用主機，然後選擇**下一步**。

1. (*選用*) 為專用主機保留指派標籤。

1. 檢閱您的訂單，然後選擇**購買**。

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

**購買保留**

1. 使用 [describe-host-reservation-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-host-reservation-offerings.html) 命令，列出符合您需求的可用方案。下列範例列出的方案可支援 `m4` 執行個體系列中的執行個體，並具有一年期限。

   此期限以秒為單位指定。一年期限包括 31,536,000 秒，三年期限則為 94,608,000 秒。

   ```
   aws ec2 describe-host-reservation-offerings \
       --filter Name=instance-family,Values=m4 \
       --max-duration 31536000
   ```

   此命令會傳回符合您條件的方案清單。請記下要購買方案的 ID。

1. 使用 [purchase-host-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-host-reservation.html) 命令來購買方案，並提供上一個步驟中所記下的 `offeringId`。下列範例會購買指定的保留，並將其與 AWS 帳戶中已配置的特定專用主機建立關聯，並套用索引鍵為 `purpose`且值為 的標籤`production`。

   ```
   aws ec2 purchase-host-reservation \
       --offering-id hro-03f707bf363b6b324 \
       --host-id-set h-013abcd2a00cbd123 \
       --tag-specifications 'ResourceType=host-reservation,Tags={Key=purpose,Value=production}'
   ```

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

**購買保留**

1. 使用 [Get-EC2HostReservationOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2HostReservationOffering.html) cmdlet，列出符合您需求的可用方案。下列範例列出的方案可支援 `m5` 執行個體系列中的執行個體，並具有一年期限。

   此期限以秒為單位指定。一年期限包括 31,536,000 秒，三年期限則為 94,608,000 秒。

   ```
   $filter = @{Name="instance-family"; Values="m5"}
   Get-EC2HostReservationOffering `
       -Filter $filter `
       -MaxDuration 31536000
   ```

   此命令會傳回符合您條件的方案清單。請記下要購買方案的 ID。

1. 使用 [New-EC2HostReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2HostReservation.html) cmdlet 來購買方案，並提供上一個步驟中所記下的優惠 ID。下列範例會購買指定的保留，並將其與 AWS 帳戶中已配置的特定專用主機建立關聯。

   ```
   New-EC2HostReservation `
       -OfferingId hro-03f707bf363b6b324 `
       -HostIdSet h-013abcd2a00cbd123
   ```

------

# 跨帳戶 Amazon EC2 專用主機共用
<a name="dh-sharing"></a>

專用主機共用可讓專用主機擁有者與其他 AWS 帳戶或 AWS 組織內的專用主機共用。這可讓您集中建立和管理專用主機，並在多個 AWS 帳戶或 AWS 組織內共用專用主機。

在此模型中，擁有專用主機 (*擁有者*) AWS 的帳戶會與其他 AWS 帳戶 (*消費者） *共用。消費者可以在與他們共用的專用執行個體中啟動執行個體，就好像他們在自己的帳戶中配置的專用執行個體中啟動執行個體一樣。擁有者負責管理專用執行個體和他們在其中啟動的執行個體。擁有者無法修改消費者在共用的專用執行個體上啟動的執行個體。消費者負責管理在分享給他們的專用執行個體中啟動的執行個體。消費者無法檢視或修改其他消費者或專用執行個體擁有者所擁有的執行個體，也無法修改與他們共用的專用執行個體。

專用執行個體擁有者可以將專用執行個體分享給下列對象：
+  AWS 組織內部或外部的特定 AWS 帳戶
+  AWS 組織內的組織單位
+ 其整個 AWS 組織

**Topics**
+ [共用 專用執行個體 的先決條件](#dh-sharing-prereq)
+ [共用 專用執行個體 的限制](#dh-sharing-limitation)
+ [相關服務](#dh-sharing-related)
+ [跨可用區域共用](#dh-sharing-azs)
+ [共用的 專用執行個體 許可](#shared-dh-perms)
+ [計費和計量](#shared-dh-billing)
+ [專用執行個體 限制](#shared-dh-limits)
+ [主機復原和 專用執行個體 共用](#dh-sharing-retirement)
+ [共用 專用執行個體](sharing-dh.md)
+ [取消共用專用主機](unsharing-dh.md)
+ [檢視共用專用主機](identifying-shared-dh.md)

## 共用 專用執行個體 的先決條件
<a name="dh-sharing-prereq"></a>
+ 若要共用專用主機，您必須在 AWS 帳戶中擁有該主機。您無法將已分享給您的專用執行個體再分享出去。
+ 若要與 AWS 組織或 AWS 組織中的組織單位共用專用主機，您必須啟用與 共用 AWS Organizations。如需詳細資訊，請參閱 *AWS RAM 使用者指南*中的[透過 AWS Organizations啟用共用](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)。

## 共用 專用執行個體 的限制
<a name="dh-sharing-limitation"></a>

您無法共用已針對下列執行個體類型配置的 專用執行個體：`u-6tb1.metal`、`u-9tb1.metal`、`u-12tb1.metal`、`u-18tb1.metal` 和 `u-24tb1.metal`。

## 相關服務
<a name="dh-sharing-related"></a>

### AWS Resource Access Manager
<a name="related-ram"></a>

專用主機共用與 AWS Resource Access Manager (AWS RAM) 整合。 AWS RAM 是一項服務，可讓您與任何 AWS 帳戶或透過 共用 AWS 資源 AWS Organizations。您可以透過建立資源共享 AWS RAM，與 共用您擁有*的資源*。資源共享指定要共用的資源，以及共用它們的消費者。消費者可以是個別 AWS 帳戶、組織單位或整個組織的來源 AWS Organizations。

如需 的詳細資訊 AWS RAM，請參閱*[AWS RAM 《 使用者指南》](https://docs.aws.amazon.com/ram/latest/userguide/)*。

## 跨可用區域共用
<a name="dh-sharing-azs"></a>

為確保資源分配至區域中的所有可用區域，可用區域會獨立對應至各個帳戶的名稱。這可能導致帳戶之間的可用區域命名出現差異。例如，`us-east-1a`您 AWS 帳戶的可用區域可能沒有與`us-east-1a`另一個 AWS 帳戶相同的位置。

若要基於您的帳戶來識別專用執行個體的相對位置，您必須使用*可用區域 ID* (AZ ID)。可用區域 ID 是所有 AWS 帳戶的可用區域唯一且一致的識別符。例如，`use1-az1` 是 `us-east-1` 區域的可用區域 ID，它在每一個 AWS 帳戶的位置都相同。

**檢視您帳戶中可用區域的可用區域 ID**

1. 在 https：//[https://console.aws.amazon.com/ram/home](https://console.aws.amazon.com/ram/home) 開啟 AWS RAM 主控台。

1. 畫面右側的 **Your AZ ID (您的 AZ ID)** 面板中會顯示目前區域的可用區域 ID。

## 共用的 專用執行個體 許可
<a name="shared-dh-perms"></a>

### 擁有者的許可
<a name="shared-dh-perms-owner"></a>

擁有者負責管理他們共用的專用執行個體以及在其上啟動的執行個體。擁有者可以檢視在共用的專用執行個體上執行的所有執行個體，包括消費者啟動的執行個體。不過，擁有者無法對消費者啟動的執行個體採取任何動作。

### 消費者的許可
<a name="shared-dh-perms-consumer"></a>

消費者負責管理他們在共用的專用執行個體上啟動的執行個體。消費者完全無法修改共用的專用執行個體，也無法檢視或修改其他消費者或專用執行個體擁有者所擁有的執行個體。

## 計費和計量
<a name="shared-dh-billing"></a>

共用專用執行個體無須額外收費。

擁有者會按他們共用的專用執行個體計費。對於消費者在共用的專用執行個體上啟動的執行個體則不計費。

專用執行個體預留會繼續為共用的專用執行個體提供帳單折扣。只有專用執行個體擁有者可以為他們擁有的共用專用執行個體購買專用執行個體預留。

## 專用執行個體 限制
<a name="shared-dh-limits"></a>

共用的專用執行個體只會計入擁有者的專用執行個體限制。消費者的專用執行個體限制不受已與他們共用的專用執行個體所影響。同樣地，消費者在共用的專用執行個體上啟動的執行個體不會計入他們的執行個體限制。

## 主機復原和 專用執行個體 共用
<a name="dh-sharing-retirement"></a>

主機復原可復原專用執行個體擁有者和其所共用之消費者啟動的執行個體。替換專用執行個體會配置到擁有者的帳戶。它會新增至與原始專用執行個體相同的資源共享，並與相同的消費者共用。

如需詳細資訊，請參閱[Amazon EC2 專用主機復原](dedicated-hosts-recovery.md)。

# 跨 AWS 帳戶共用 Amazon EC2 專用主機
<a name="sharing-dh"></a>

當擁有者分享專用執行個體，它可讓消費者在主機上啟動執行個體。在共用主機上可用容量所允許下，消費者可以在當中啟動任意數量的執行個體。

**重要**  
請注意，您應負責確保您擁有適當的授權，可共用您的 專用執行個體 上的任何 BYOL 授權。

如果您在啟用自動配置時共用專用執行個體，請記住下列事項，因為這可能會導致意外的專用執行個體使用量：
+ 如果消費者使用專用執行個體租用啟動執行個體，但他們的帳戶中擁有的專用執行個體上沒有容量，則該執行個體會自動啟動到共用的專用執行個體。

若要分享專用執行個體，您必須將它新增至資源共享。資源共用是一種 AWS RAM 資源，可讓您跨 AWS 帳戶共用資源。資源共享指定要分享的資源，以及共用它們的消費者。您可以將專用執行個體新增至現有的資源，或將其新增至新的資源共享。

如果您是 中組織的一部分， AWS Organizations 且已啟用組織內的共用，則組織中的消費者會自動獲得共用專用主機的存取權。否則，消費者會收到加入資源共享的邀請，並且在接受邀請後便能存取共用的專用執行個體。

**注意**  
分享專用執行個體後，消費者可能需要幾分鐘的時間才能存取它。

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

**如何使用 Amazon EC2 主控台共用您擁有的專用執行個體**

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

1. 在導覽窗格中，選擇 **專用執行個體**。

1. 選擇專用執行個體來共用，然後選擇 **Actions (動作)** > **Share host (共用主機)**。

1. 選取資源共享以新增專用執行個體，然後選取 **Share host (共用主機)**。

   可能需要經過幾分鐘，消費者才能存取共用的主機。

**使用 AWS RAM 主控台共享您擁有的專用主機**  
請參閱《*AWS RAM 使用者指南*》中的[建立資源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)。

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

**共用您擁有的專用主機**  
使用 [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 命令。

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

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

**共用您擁有的專用主機**  
使用 [New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) cmdlet。

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

------

# 取消共用與其他 AWS 帳戶共用的專用主機
<a name="unsharing-dh"></a>

專用執行個體擁有者可以隨時取消共享已共用的專用執行個體。當您取消共享已共用的專用執行個體時，請注意以下規則：
+ 與其共用專用執行個體的消費者無法再於其上啟動新的執行個體。
+ 取消共用時在專用執行個體上執行中的消費者所擁有的執行個體會繼續執行，但排定進行[淘汰](schedevents_actions_retire.md)。消費者會收到執行個體的淘汰通知，而且他們有兩週的時間可對通知採取行動。但是，如果在淘汰通知期間內與消費者重新共用專用執行個體，則會取消執行個體淘汰。

若要取消共享您擁有的已共用專用執行個體，您必須從資源共享中移除它。

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

**取消共用您擁有的已共用專用主機**

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

1. 在導覽窗格中，選擇 **專用執行個體**。

1. 選擇要取消共享的專用執行個體，然後選擇 **Sharing (共用)** 索引標籤。

1. **Sharing (共用)** 索引標籤列出已新增專用執行個體的資源共享。選取要從中移除專用執行個體的資源共享，然後選取 **Remove host from resource share (從資源共享中移除主機)**。

**使用 AWS RAM 主控台取消共用您擁有的共享專用主機**  
請參閱《*AWS RAM 使用者指南*》中的[更新資源共用](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)。

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

**取消共用您擁有的已共用專用主機**  
使用 [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 命令。

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
	--resource-arns arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE
```

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

**取消共用您擁有的已共用專用主機**  
使用 [Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) cmdlet。

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:dedicated-host/h-07879acf49EXAMPLE"
```

------

# 檢視您 AWS 帳戶中共用的 Amazon EC2 專用主機
<a name="identifying-shared-dh"></a>

您可檢視與其他帳戶共用的專用主機，以及與您共用的專用主機。如果您擁有專用主機，則可以看到主機執行的所有執行個體，包括消費者啟動的執行個體。如果專用主機與您共用，您只能看到您在共用主機上啟用的執行個體，而不能看到其他消費者啟用的執行個體。

擁有者和消費者可以使用下列其中一種方法，來識別共用的專用執行個體。

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

**確定共用的專用主機**

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

1. 在導覽窗格中，選擇 **專用執行個體**。畫面會列出您擁有的專用執行個體和已分享給您的專用執行個體。

1. **Owner** (擁有者) 资料欄會顯示專用執行個體擁有者的 AWS 帳戶 ID。

1. 若要檢視主機上執行的執行個體，請選取**執行個體**索引標籤。

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

**確定共用的專用主機**  
使用 [describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) 命令。此命令會傳回您擁有的專用執行個體且和已分享給您的專用執行個體。`Owner` 的值是專用主機擁有者的帳戶 ID。此 `Instances` 清單說明在主機上執行的執行個體。

```
aws ec2 describe-hosts --filter "Name=state,Values=available"
```

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

**確定共用的專用主機**  
使用 [Get-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) cmdlet。此 cmdlet 會傳回您擁有的專用主機且和已分享給您的專用主機。回應中 `Owner` 的值是專用主機擁有者的帳戶 ID。此 `Instances` 清單說明在主機上執行的執行個體。

```
Get-EC2Host -Filter @{Name="state"; Values="available"}
```

------

# 上的 Amazon EC2 專用主機 AWS Outposts
<a name="dh-outposts"></a>

AWS Outposts 是一種全受管服務，可將 AWS 基礎設施、服務、APIs 和工具擴展到您的內部部署。透過提供 AWS 受管基礎設施的本機存取權， AWS Outposts 可讓您使用與 AWS 區域相同的程式設計界面在內部部署中建置和執行應用程式，同時使用本機運算和儲存資源來降低延遲和本機資料處理需求。

Outpost 是部署在客戶站點的 AWS 運算和儲存容量集區。 會在 AWS 區域中 AWS 操作、監控和管理此容量。

您可以在帳戶中擁有的 Outpost 上配置專用執行個體。這讓您可以更輕鬆地將需要專用實體伺服器的現有軟體授權和工作負載帶至 AWS Outposts。您也可以鎖定 Outpost 上的特定硬體資產，協助將工作負載之間的延遲降到最低。

專用執行個體可讓您在 Amazon EC2 上使用符合條件的軟體授權，進而獲得使用自有授權的靈活性和成本效益。綁定至虛擬機器、通訊端或實體核心的其他軟體授權也可以在專用執行個體上使用，但需遵守其授權條款。雖然 Outpost 一直是符合 BYOL 工作負載條件的單一租用戶環境，但專用執行個體允許您將所需的授權限制為單個主機，而不是整個 Outpost 部署。

此外，在 Outpost 上使用專用執行個體可為您在執行個體類型部署方面提供更大的靈活性，並對執行個體放置進行更精細的控制。您可以針對特定主機進行執行個體啟動，並使用主機親和性來確保執行個體始終在該主機上執行，您也可以使用自動放置，在具有相符組態和可用容量的任何可用主機上啟動執行個體。

**Contents**
+ [先決條件](#dh-outpost-prereqs)
+ [支援的功能](#dh-outpost-features)
+ [考量事項](#dh-outpost-considerations)
+ [在 上配置 Amazon EC2 專用主機 AWS Outposts](dh-outpost-allocate.md)

## 先決條件
<a name="dh-outpost-prereqs"></a>

您的站點必須安裝 Outpost。如需詳細資訊，請參閱 *AWS Outposts 使用者指南*中的[建立 Outpost 並訂購 Outpost 容量](https://docs.aws.amazon.com/outposts/latest/userguide/order-outpost-capacity.html)。

## 支援的功能
<a name="dh-outpost-features"></a>
+ 支援下列執行個體系列：
  + **一般用途：**M5 \$1 M5d \$1 M7i \$1 M8i
  + **運算最佳化：**C5 \$1 C5d \$1 C7i \$1 C8i
  + **記憶體最佳化：**R5 \$1 R5d \$1 R7i \$1 R8i
  + **儲存最佳化：**I3en
  + **加速運算：**G4dn
+ Outpost 上的專用執行個體可設定為支援多種執行個體規模。下列執行個體系列支援多種執行個體大小。
  + **一般用途：**M5 \$1 M5d \$1 M7i
  + **運算最佳化：**C5 \$1 C5d \$1 C7i
  + **記憶體最佳化：**R5 \$1 R5d \$1 R7i

  如需詳細資訊，請參閱[Amazon EC2 專用主機執行個體容量配置](dedicated-hosts-limits.md)。
+ Outpost 上的專用執行個體支援自動放置和鎖定執行個體啟動。如需詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。
+ Outpost 上的專用執行個體支援主機親和性。如需詳細資訊，請參閱[Amazon EC2 專用主機自動配置和主機親和性](dedicated-hosts-understanding.md)。
+ Outposts 上的專用主機支援與 共用 AWS RAM。如需詳細資訊，請參閱[跨帳戶 Amazon EC2 專用主機共用](dh-sharing.md)。

## 考量事項
<a name="dh-outpost-considerations"></a>
+ Outpost 上不支援專用執行個體保留功能。
+ Outposts AWS License Manager 不支援主機資源群組 和 。
+ Outpost 上的專用執行個體不支援爆量 T3 執行個體。
+ Outpost 上的專用執行個體不支援主機復原。
+ 對於在 Outposts 上具有專用主機租用的執行個體，不支援簡化自動復原。

# 在 上配置 Amazon EC2 專用主機 AWS Outposts
<a name="dh-outpost-allocate"></a>

您在 Outpost 上配置和使用專用執行個體的方式與在 AWS 區域中使用專用執行個體的方式相同。

**先決條件**  
在 Outpost 上建立子網。如需詳細資訊，請參閱 *AWS Outposts 使用者指南*中的[建立子網](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#create-subnet)。

**若要在 Outpost 中配置專用執行個體，請使用下列其中一種方法：**

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

**使用 AWS Outposts 主控台在 Outpost 上配置專用主機**

1. 在 https：//[https://console.aws.amazon.com/outposts/](https://console.aws.amazon.com/outposts/home) 開啟 AWS Outposts 主控台。

1. 在導覽窗格中，選擇 **Outposts**。選取 Outpost，然後選取 **Actions** (動作)、**Allocate Dedicated Host** (配置專用執行個體)。

1. 視需設定專用執行個體。如需詳細資訊，請參閱[配置 Amazon EC2 專用主機供您的帳戶使用](dedicated-hosts-allocating.md)。
**注意**  
**Availability Zone** (可用區域) 和 **Outpost ARN** 應使用選定 Outpost 的可用區域和 ARN 預先填充。

1. 選擇 **Allocate** (配置)。

**使用 Amazon EC2 主控台在 Outpost 上配置專用主機**

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

1. 在導覽窗格中，選擇 **Dedicated Hosts** (專用執行個體)，然後選擇 **Allocate Dedicated Host** (配置專用執行個體)。

1. 對於 **Availability Zone** (可用區域)，選取與 Outpost 關聯的可用區域。

1. 對於 **Outpost ARN**，輸入 Outpost 的 ARN。

1. 若要鎖定 Outpost 上的特定硬體資產，請選擇 **啟用** **鎖定 Outpost 上的特定硬體資產**。針對要鎖定的每項硬體資產，請選擇 **新增資產 ID**，然後輸入硬體資產的 ID。
**注意**  
您為 **數量** 指定的值必須等於所指定的資產 ID 的數量。例如，如果您指定 3 個資產 ID，則數量也必須為 3。

1. 視需進行其餘的專用執行個體設定。如需詳細資訊，請參閱[配置 Amazon EC2 專用主機供您的帳戶使用](dedicated-hosts-allocating.md)。

1. 選擇 **Allocate** (配置)。

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

**在 Outpost 上配置專用主機**  
使用 [allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) 命令。對於 `--availability-zone`，指定與 Outpost 關聯的可用區域。對於 `--outpost-arn`，指定 Outpost 的 ARN。您也可以針對 `--asset-ids` 選擇指定要鎖定的 Outpost 硬體資產的 ID。

```
aws ec2 allocate-hosts \
    --availability-zone "us-east-1a" \
    --outpost-arn "arn:aws:outposts:us-east-1a:111122223333:outpost/op-4fe3dc21baEXAMPLE" \
    --asset-ids asset_id \
    --instance-family "m5" \
    --auto-placement "off" \
    --quantity 1
```

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

**在 Outpost 上配置專用主機**  
使用 [New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) cmdlet。指定與 Outpost 關聯的可用區域。您也可以針對 `-AssetId` 選擇指定要鎖定的 Outpost 硬體資產的 ID。

```
New-EC2Host `
    -AvailabilityZone "us-east-1a" `
    -OutpostArn "arn:aws:outposts:us-east-1a:111122223333:outpost/op-4fe3dc21baEXAMPLE" `
    -AssetId asset_id `
    -InstanceFamily "m5" `
    -AutoPlacement "off" `
    -Quantity 1
```

------

**將執行個體啟動至 Outpost 上的專用執行個體**

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

1. 在導覽窗格中，選擇 **專用執行個體**。選取您在上一步驟中配置的專用執行個體，然後選取 **Actions** (動作)、**Launch instance onto host** (在主機上啟動執行個體)。

1. 根據需要設定執行個體，然後啟動執行個體。如需詳細資訊，請參閱[在 Amazon EC2 專用主機上啟動 Amazon EC2 執行個體](launching-dedicated-hosts-instances.md)。

# Amazon EC2 專用主機復原
<a name="dedicated-hosts-recovery"></a>

如果在您的專用執行個體上偵測到特定問題狀況，專用執行個體自動復原會自動將您的執行個體重新啟動到新的替代主機。若有關於系統電源或網路連線事件的非預期專用執行個體失敗，主機復原可減少手動介入的需要，並降低操作負擔。其他專用執行個體問題將需要手動介入才能從中復原。

**Topics**
+ [主機復原的運作方式](dedicated-hosts-recovery-basics.md)
+ [支援的執行個體類型](#dedicated-hosts-recovery-instances)
+ [定價](#dedicated-hosts-recovery-pricing)
+ [管理主機復原](dedicated-hosts-recovery-enable.md)
+ [檢視主機復原設定](dedicated-hosts-recovery-view.md)
+ [手動復原不支援的執行個體](dedicated-hosts-recovery-unsupported.md)

# Amazon EC2 專用主機復原的運作方式
<a name="dedicated-hosts-recovery-basics"></a>

專用執行個體和主機資源群組復原程序會使用主機層級運作狀態檢查，來存取專用執行個體可用性，以及偵測基礎系統失敗。專用執行個體失敗的類型決定專用執行個體自動復原是否可行。導致主機層級運作狀態檢查失敗的問題範例包括：
+ 網路連線中斷
+ 系統電力中斷
+ 實體主機上的硬體或軟體問題

**重要**  
主機排定為淘汰時，不會發生專用執行個體自動復原。

## 專用執行個體自動復原
<a name="dedicated-hosts-recovery-basics-auto-recovery"></a>

當您的專用主機偵測到系統電源或網路連線故障時，將啟動專用主機自動復原，並且 Amazon EC2 **會自動在與原始專用主機相同的可用區中指派替換專用主機**。替代的 專用執行個體 會收到新的主機 ID，但保留與原始 專用執行個體 相同的屬性，包括：
+ 可用區域
+ 執行個體類型
+ 標籤
+ 自動配置設定
+ 保留

當配置替代的專用執行個體時，**會將執行個體復原至替代的專用執行個體**。復原的執行個體會保留與原始執行個體相同的屬性，包括：
+ 執行個體 ID
+ 私有 IP 地址
+ 彈性 IP 地址
+ EBS 磁碟區連接
+ 所有執行個體中繼資料

此外，與 AWS License Manager 的內建整合會自動追蹤和管理授權。

**注意**  
AWS 只有在可使用 License Manager 的區域才支援 AWS License Manager 整合。

如果執行個體與受損的 專用執行個體 具有主機親和性關係，復原的執行個體會與替代的 專用執行個體 建立主機親和性。

當所有執行個體都已復原至替代的 專用執行個體 上時，**受損的 專用執行個體 會被釋出**，並且替代的 專用執行個體 會變得可供使用。

啟動主機復原時，系統會透過電子郵件和 AWS Health 儀板表 事件來通知 AWS 帳戶擁有者。在主機復原已成功完成時，會傳送第二個通知。

如果您使用 AWS License Manager 來追蹤授權， AWS License Manager 會根據授權組態限制，為替代的專用主機配置新的授權。如果授權組態具有因主機復原而違反的硬性限制，則不允許執行復原程序，而且您會透過 Amazon SNS 通知收到主機復原失敗的通知 （如果已為 AWS License Manager 設定通知設定）。如果授權組態具有將因為主機復原而違反的軟性限制，將會允許繼續復原，並且將透過 Amazon SNS 通知來通知您相關的限制違反。如需詳細資訊，請參閱 *AWS License Manager 使用者指南*中的[使用授權組態](https://docs.aws.amazon.com/license-manager/latest/userguide/license-configurations.html)和 [License Manager 中的設定](https://docs.aws.amazon.com/license-manager/latest/userguide/settings.html)。

## 主機復原狀態
<a name="dedicated-hosts-recovery-states"></a>

偵測到專用執行個體失敗時，受損的專用執行個體會進入 `under-assessment` 狀態，並且所有執行個體會進入 `impaired` 狀態。當受損的 專用執行個體 處於 `under-assessment` 狀態時，您無法對其啟動執行個體。

配置替代的 專用執行個體 之後，它會進入 `pending` 狀態。在主機復原程序完成之前，它會保持在此狀態。當替代的 專用執行個體 處於 `pending` 狀態時，您無法對其啟動執行個體。在復原程序期間，替代的 專用執行個體 上復原的執行個體會維持為 `impaired` 狀態。

在主機復原完成之後，替代的 專用執行個體 會進入 `available` 狀態，而復原的執行個體會回到 `running` 狀態。當替代的 專用執行個體 進入 `available` 狀態時，您可以對其啟動執行個體。原始受損的 專用執行個體 會永久釋出並且進入 `released-permanent-failure` 狀態。

如果受損的專用主機 具有不支援主機復原的執行個體，例如具備執行個體儲存體根磁碟區的執行個體，則不會釋出專用主機。而是會將它標記為供淘汰，並進入 `permanent-failure` 狀態。

## 沒有專用執行個體自動復原的案例
<a name="dedicated-hosts-recovery-basics-non-auto"></a>

**主機排定為淘汰時，不會發生專用執行個體自動復原**。您將在 中收到淘汰通知 AWS Health 儀板表、Amazon CloudWatch 事件，而 AWS 帳戶擁有者電子郵件地址會收到有關專用主機故障的訊息。請在指定的時間段內遵循淘汰通知中所述的補救步驟，以手動復原淘汰主機中的執行個體。

**已停止的執行個體不會復原**到替代的 專用執行個體 上。如果您嘗試啟動以受損的 專用執行個體 為目標的停止的執行個體，該執行個體啟動會失敗。建議您將已停止的執行個體修改為以不同的 專用執行個體 為目標，或是在具有相符組態並且已啟用自動配置的任何可用的 專用執行個體 上啟動。

**具有執行個體儲存體的執行個體不會復原**到替代的專用執行個體上。作為補救措施，會將受損的 專用執行個體 標示為供淘汰，並且您會在主機復原完成之後收到淘汰通知。請在指定的時間期間內遵循淘汰通知中所述的補救步驟，以手動復原受損的 專用執行個體 上其餘的執行個體。

## 支援的執行個體類型
<a name="dedicated-hosts-recovery-instances"></a>

下列執行個體系列支援主機復原：
+ **一般用途：**A1 \$1 M3 \$1 M4 \$1 M5 \$1 M5n \$1 M5zn \$1 M6a \$1 M6g \$1 M6i \$1 T3 \$1 Mac1 \$1 Mac2 \$1 Mac2-m1ultra \$1 Mac2-m2 \$1 Mac2-m2pro
+ **運算最佳化：**C3 \$1 C4 \$1 C5 \$1 C5n \$1 C6a \$1 C6g \$1 C6i
+ **記憶體最佳化：**R3 \$1 R4 \$1 R5 \$1 R5b \$1 R5n \$1 R6g \$1 R6i \$1 U-6tb1 \$1 U-9tb1 \$1 U-12tb1 \$1 U-18tb1 \$1 U-24tb1 \$1 X1 \$1 X1e \$1 X2iezn
+ **加速運算：**Inf1 \$1 G3 \$1 G5g \$1 P2 \$1 P3

若要復原不受支援的執行個體，請參閱[手動復原 Amazon EC2 專用主機復原不支援的執行個體](dedicated-hosts-recovery-unsupported.md)。

**注意**  
支援的金屬執行個體類型的專用執行個體自動復原將需要比非金屬執行個體類型更長的時間來偵測和復原。

## 定價
<a name="dedicated-hosts-recovery-pricing"></a>

使用主機復原沒有額外的費用，但適用一般的 專用執行個體 費用。如需詳細資訊，請參閱 [Amazon EC2 專用執行個體定價](https://aws.amazon.com/ec2/dedicated-hosts/pricing/)。

一旦初始化主機復原，將不再就受損的 專用執行個體 向您收費。替代專用執行個體的計費方式只會在進入 `available` 狀態之後開始。

如果受損的 專用執行個體 是使用隨需費率計費，則替代的 專用執行個體 也會使用隨需費率計費。如果受損的 專用執行個體 有作用中 專用執行個體預留，則會傳輸到替代的 專用執行個體。

# 管理 Amazon EC2 專用主機復原
<a name="dedicated-hosts-recovery-enable"></a>

如果在您的專用執行個體上偵測到特定問題狀況，專用執行個體自動復原會自動將您的執行個體重新啟動到新的替代主機。您可以在指派專用主機時或指派後啟用主機復原。

使用以下程序在配置主機時啟用主機復原。

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

**在配置時啟用主機復原**  
使用 Amazon EC 2主控台配置專用主機時，若要進行**主機復原**，請選擇**啟用**。如需詳細資訊，請參閱[配置 Amazon EC2 專用主機供您的帳戶使用](dedicated-hosts-allocating.md)。

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

**在配置時啟用主機復原**  
使用 [allocate-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/allocate-hosts.html) 命令。

```
aws ec2 allocate-hosts \
    --instance-type m5.large \
    --availability-zone eu-west-1a \
    --auto-placement on \
    --host-recovery on \
    --quantity 1
```

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

**在配置時啟用主機復原**  
使用 [New-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Host.html) cmdlet。

```
New-EC2Host `
    -InstanceType m5.large `
    -AvailabilityZone eu-west-1a `
    -AutoPlacement on `
    -HostRecovery on `
    -Quantity 1
```

------

使用以下程序來管理專用主機的主機復原。

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

**在配置後管理主機復原**

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

1. 在導覽窗格中，選擇 **專用主機**。

1. 選取專用主機。

1. 選擇**動作**、**修改主機**。

1. 若要**復原主機**，請選取或清除**啟用**。

1. 選擇**儲存**。

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

**在配置之後啟用主機復原**  
使用 [modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 命令。

```
aws ec2 modify-hosts \
    --host-recovery on \
    --host-ids h-012a3456b7890cdef
```

**在配置之後停用主機復原**  
使用 [modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 命令，並指定 `host-recovery` 參數的值為 `off`。

```
aws ec2 modify-hosts \
    --host-recovery off \
    --host-ids h-012a3456b7890cdef
```

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

**在配置之後啟用主機復原**  
使用 [Edit-host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet。

```
Edit-EC2Host `
    -HostRecovery on `
    -HostId h-012a3456b7890cdef
```

**在配置之後停用主機復原**  
使用 [Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet。

```
Edit-EC2Host `
    -HostRecovery off `
    -HostId h-012a3456b7890cdef
```

------

# 檢視 Amazon EC2 專用主機的主機復原設定
<a name="dedicated-hosts-recovery-view"></a>

您可以隨時檢視 專用執行個體 的主機復原組態。

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

**檢視專用主機的主機復原組態**

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

1. 在導覽窗格中，選擇 **專用執行個體**。

1. 選取 專用執行個體，並在 **Description (描述)** 索引標籤中，檢閱 **Host Recovery (主機復原)** 欄位。

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

**檢視專用主機的主機復原組態**  
使用 [describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) 命令。

```
aws ec2 describe-hosts \
    --host-ids h-012a3456b7890cdef \
    --query Hosts[].HostRecovery
```

以下為範例輸出。

```
on
```

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

**檢視專用主機的主機復原組態**  
使用 [Get-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) cmdlet。

```
(Get-EC2Host -HostId h-012a3456b7890cdef).Hosts | Select HostRecovery
```

以下為範例輸出。

```
HostRecovery
------------
on
```

------

# 手動復原 Amazon EC2 專用主機復原不支援的執行個體
<a name="dedicated-hosts-recovery-unsupported"></a>

主機復原不支援復原使用執行個體存放區磁碟區的執行個體。遵循以下的指示來手動復原您無法自動復原的任何執行個體。

**警告**  
位在執行個體存放區磁碟區的資料都會在執行個體停止、休眠或終止時遺失。這包含連接到擁有 EBS 根磁碟區之執行個體的執行個體儲存體磁碟區。若要保護執行個體存放區磁碟區的資料，請在執行個體停止或終止之前，將資料備份至持久性儲存。

## 手動復原 EBS 後端執行個體
<a name="dedicated-hosts-recovery-ebs"></a>

對於無法自動復原的 EBS 後端執行個體，建議您手動停止並啟動執行個體，以將它們復原至新的 專用執行個體。如需停止您執行個體的詳細資訊，以及在停止時您執行個體組態中發生的變更，請參閱[停止和啟動 Amazon EC2 執行個體](Stop_Start.md)。

## 手動復原具有執行個體儲存體根磁碟區的執行個體。
<a name="dedicated-hosts-recovery-instancestore"></a>

對於無法自動復原、具有執行個體儲存體根磁碟區的執行個體，建議您執行下列：

1. 從您的最近的 AMI 的新 專用執行個體 上啟動替代的執行個體。

1. 將所有必要資料遷移至替代的執行個體。

1. 終止受損的 專用執行個體 上的原始執行個體。

# Amazon EC2 專用主機的主機維護
<a name="dedicated-hosts-maintenance"></a>

使用主機維護時，在少數情況下，如果專用主機降級，我們會自動將在專用主機執行的執行個體移轉到狀態良好的替代專用主機。這有助盡量減少工作負載的停機時間，並簡化專用主機的管理。也會針對規劃和例行的 Amazon EC2 維護執行主機維護。

Amazon EC2 支援兩種類型的主機維護：
+ **即時移轉主機維護** – 執行個體會在 24 小時內自動移轉到替換主機，無需停止和重新啟動。
+ **重新啟動型主機維護** – 會安排執行個體進行*執行個體重新啟動*排程事件，在此過程中，執行個體將自動停止並在替代主機上重新啟動。

**Topics**
+ [主機維護與主機復原](#dedicated-hosts-maintenance-differences)
+ [考量事項](#dedicated-hosts-maintenance-basics-limitations)
+ [相關服務](#dedicated-hosts-maintenance-related)
+ [定價](#dedicated-hosts-maintenance-pricing)
+ [Amazon EC2 專用主機的主機維護運作方式](dedicated-hosts-maintenance-basics.md)
+ [配置 Amazon EC2 專用主機的主機維護設定](dedicated-hosts-maintenance-configuring.md)

## 主機維護與主機復原
<a name="dedicated-hosts-maintenance-differences"></a>

下表顯示主機復原與主機維護之間的主要差異。


****  

|  | 主機復原 | 主機維護 | 
| --- | --- | --- | 
| 執行個體連線能力 | 無法連接 | 可連接 | 
| 專用主機狀態 | under-assessment | permanent-failure | 
| 主機資源群組 | 支援 | 不支援 | 

如需有關主機復原的詳細資訊，請參閱[主機復原](dedicated-hosts-recovery.md)。

## 考量事項
<a name="dedicated-hosts-maintenance-basics-limitations"></a>
+ 所有 都提供主機維護 AWS 區域，但中國區域和 除外 AWS GovCloud (US) Regions。
+  AWS Outposts、 AWS 本機區域和 AWS Wavelength 區域不支援主機維護。
+ 對於已在主機資源群組中的主機，無法開啟或關閉主機維護。新增至主機資源群組的主機會保留其主機維護設定。如需詳細資訊，請參閱[主機資源群組](https://docs.aws.amazon.com/license-manager/latest/userguide/host-resource-groups.html)。
+ 下列執行個體類型不支援主機維護，因為具有執行個體儲存體根磁碟區：C1、C3、D2、I2、M1、M2、M3、R3 和 X1。

## 相關服務
<a name="dedicated-hosts-maintenance-related"></a>

專用主機與 **AWS License Manager** 整合—跨 Amazon EC2 專用主機追蹤授權 （僅在提供 AWS License Manager 的區域中支援）。如需詳細資訊，請參閱 [AWS License Manager 使用者指南](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager.html)。

您的 中必須有足夠的授權， AWS 帳戶 才能用於新的專用主機。當主機在排定的事件完成後釋出時，會釋出與降級主機相關聯的授權。

## 定價
<a name="dedicated-hosts-maintenance-pricing"></a>

使用主機維護沒有額外的費用，但通常收取專用執行個體費用。如需詳細資訊，請參閱 [Amazon EC2 專用執行個體定價](https://aws.amazon.com/ec2/dedicated-hosts/pricing/)。

啟動主機維護之後，將不再為降級專用執行個體付費。替代專用執行個體的計費方式只會在進入 `available` 狀態之後開始。

如果降級的專用主機是使用隨需費率計費，則替代的專用主機也會使用隨需費率計費。如果降級的專用執行個體有作用中專用執行個體預留，則會傳輸到新專用執行個體。

# Amazon EC2 專用主機的主機維護運作方式
<a name="dedicated-hosts-maintenance-basics"></a>

當在已啟用主機維護的專用主機偵測到降級時，我們會在您的帳戶中自動配置替代專用主機。替代的 專用執行個體 會收到新的主機 ID，但保留與原始 專用執行個體 相同的屬性，包括：
+ 自動配置設定
+ 可用區域
+ 專用主機保留關聯
+ 主機親和性
+ 主機維護設定
+ 主機復原設定
+ 執行個體類型
+ Tags (標籤)

配置替代主機後，我們就會使用**即時移轉主機維護**或**重新啟動型主機維護**來移轉執行個體，具體取決於執行個體。

當已降級的主機不再有執行個體後，其會從您的帳戶中永久釋出。

## 即時遷移主機維護
<a name="ndhm"></a>

需要即時移轉主機維護的執行個體會在 24 小時內自動移轉到替代主機，無需停止和重新啟動。遷移後的執行個體會保留其現有的屬性，包括：
+ 執行個體 ID
+ 執行個體中繼資料
+ Amazon EBS 磁碟區連接
+ 彈性 IP 位址及私有 IP 位址
+ 記憶體、CPU 與網路狀態

在遷移過程中，某些較大執行個體大小可能會出現輕微效能下降。

執行個體自動遷移至替代主機後，我們會傳送電子郵件和 AWS Health 儀表板通知給您。通知包括降級和替換主機 ID、使用即時移轉主機維護自動移轉的執行個體相關資訊，以及有關其餘執行個體的資訊。

## 重新啟動型主機維護
<a name="rbhm"></a>

需要重新開機型主機維護的執行個體會安排於自通知之日起 14 天內進行重新開機排程事件。您可在排程事件前繼續存取已降級專用主機的執行個體。

您可將重新開機事件重新排程至原定事件日期和時間起 7 天內的日期。如需詳細資訊，請參閱[重新排程 EC2 執行個體的排程事件](reschedule-event.md)。

Amazon EC2 會自動為這些執行個體預留替換主機容量。您無法以此預留容量執行執行個體。

Amazon EC2 主控台會將預留容量顯示為已用容量。執行個體可能似乎同時在降級主機和替代主機上執行。不過，執行個體將僅繼續在已降級的主機上執行，直到停止執行或遷移至替代主機的預留容量為止。

在排程事件的日期與時間，執行個體會自動停止並重新啟動至替代主機的預留容量。遷移後的執行個體會保留其現有的屬性，包括：
+ 執行個體 ID
+ 執行個體中繼資料
+ Amazon EBS 磁碟區連接
+ 彈性 IP 位址及私有 IP 位址

然而，由於執行個體在遷移期間會停止並重新啟動，因此不會保留其記憶體、CPU 和網路狀態。

您也可以在排程事件前隨時手動停止並重新啟動這些執行個體，將其遷移到替代主機或其他主機。您可能需要修改執行個體的主機親和性，才能在不同主機上重新啟動。如果您在排程事件之前停止執行個體，則會釋出替代主機的預留容量，且其將可供使用。

## 主機維護狀態
<a name="dedicated-hosts-maintenance-states"></a>

當主機降級時，就會進入 `permanent-failure` 狀態。您無法在狀態為 `permanent-failure` 的專用主機啟動執行個體。

在配置替代主機後，它會維持在 `pending` 狀態，直到支援即時移轉主機維護的執行個體已自動從已降級的主機移轉，以及直到已為其餘執行個體安排排程事件。完成這些任務後，替換主機會進入 `available` 狀態。

當替代主機進入 `available` 狀態後，您可以像使用帳戶中的任何主機一樣加以使用。但是，替換主機上的某些執行個體容量會保留給需要重新開機型主機遷移的執行個體。您無法在此預留容量中啟動新執行個體。

當已降級的主機沒有執行個體時，它就會進入 `released, permanent-failure` 狀態，並從您的帳戶中永久釋出。請注意，主機及其資源會在主控台中短暫保持可見。

## 自動移轉
<a name="hm-unsupported"></a>

部分執行個體無法自動遷移至替代主機。

**具有 EBS 支援的根磁碟區的執行個體**  
對於這些執行個體，我們會自通知之日起 28 天內安排執行個體停止事件。在排程事件的日期與時間，執行個體會停止。我們建議您在替代主機或其他主機上重新啟動執行個體時手動停止。您可能需要修改執行個體的主機親和性，才能在不同主機上重新啟動。

**具有執行個體儲存體根磁碟區的執行個體**  
對於這些執行個體，我們會自通知之日起 28 天內安排執行個體淘汰事件。在排程事件的日期與時間，執行個體將永久終止。我們建議您在替換主機上手動啟動替換執行個體，然後在排程事件之前將所需資料遷移到替換執行個體。

下列執行個體具有執行個體儲存體根磁碟區：C1、C3、D2、I2、M1、M2、M3、R3 和 X1。

您可在排程事件前繼續存取已降級專用主機的執行個體。

# 配置 Amazon EC2 專用主機的主機維護設定
<a name="dedicated-hosts-maintenance-configuring"></a>

啟用主機維護以確保在專用主機執行的執行個體可在排定維護事件期間自動復原到新專用主機上。

如果停用主機維護，則會收到電子郵件通知，以移出降級主機，並在 28 天內將執行個體手動遷移到其他主機。如果您有專用執行個體預留，則會配置替代主機。28 天後，在降級主機上執行的執行個體將終止，並自動釋放主機。

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

**啟用專用主機的主機維護**

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

1. 在導覽窗格中，選擇 **專用主機**。

1. 詳情「專用執行個體」 > **「動作」** > **「修改主機」**。

1. 在**主機維護**欄位中選取*開啟*。

**停用專用主機的主機維護**

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

1. 在導覽窗格中，選擇 **專用主機**。

1. 詳情「專用執行個體」 > **「動作」** > **「修改主機」**。

1. 在**主機維護**欄位中選取*關閉*。

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

**啟用專用主機的主機維護**  
使用 [modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 命令。

```
aws ec2 modify-hosts \
    --host-maintenance on \
    --host-ids h-0d123456bbf78910d
```

**停用專用主機的主機維護**  
使用 [modify-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-hosts.html) 命令。

```
aws ec2 modify-hosts \
    --host-maintenance off \
    --host-ids h-0d123456bbf78910d
```

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

**啟用專用主機的主機維護**  
使用 [Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet。

```
Edit-EC2Host `
    -HostMaintenance on `
    -HostId h-0d123456bbf78910d
```

**停用專用主機的主機維護**  
使用 [Edit-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Host.html) cmdlet。

```
Edit-EC2Host `
    -HostMaintenance off `
    -HostId h-0d123456bbf78910d
```

------

# 監控您的 Amazon EC2 專用主機的狀態
<a name="dedicated-hosts-monitoring"></a>

Amazon EC2 會持續監控您的 專用執行個體 的狀態。更新會在 Amazon EC2 主控台上傳達。您可以使用下列方法，檢視專用執行個體的相關資訊。

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

**檢視專用執行個體的狀態**

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

1. 在導覽窗格中，選擇 **專用執行個體**。

1. 在清單中找出專用執行個體，並檢閱 **State (狀態)** 欄的值。

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

**檢視專用執行個體的狀態**  
使用 [describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-hosts.html) 命令。

```
aws ec2 describe-hosts --host-id h-012a3456b7890cdef
```

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

**檢視專用執行個體的狀態**  
使用 [Get-EC2Host](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Host.html) cmdlet。

```
Get-EC2Host -HostId h-012a3456b7890cdef
```

------

下表說明可能的專用執行個體狀態。


| **州** | **Description** | 
| --- | --- | 
| available | AWS 尚未偵測到專用主機的問題。沒有排定的維護或修復。執行個體可在此專用執行個體上啟動。 | 
| released | 專用執行個體已釋出。主機 ID 已不再使用。已釋出的主機即無法重複使用。 | 
| under-assessment | AWS 正在探索專用主機的可能問題。如果必須採取動作，您會收到 AWS 管理主控台 或 電子郵件通知。執行個體無法在此狀態的專用執行個體上啟動。 | 
| pending | 專用主機無法用於新的執行個體啟動。[ 已經修改為支援多個執行個體類型](modify-host-support.md)，或是[主機復原](dedicated-hosts-recovery.md)正在進行中。 | 
| permanent-failure | 已偵測到無法復原的失敗。您會透過執行個體和電子郵件收到移出通知。執行個體可繼續運作。如果您停止或終止具有此狀態的專用主機上的所有執行個體， 會 AWS 淘汰主機。 AWS 不會在此狀態下重新啟動執行個體。執行個體無法在此狀態下於專用執行個體啟動。 | 
| released-permanent-failure | AWS 永久發行失敗且不再在其上執行執行個體的專用主機。專用執行個體 ID 將無法再使用。 | 

# 使用 追蹤 Amazon EC2 專用主機組態變更 AWS Config
<a name="dedicated-hosts-aws-config"></a>

您可以使用 AWS Config 記錄專用主機的組態變更，以及啟動、停止或終止的執行個體。接著，您就可以將 AWS Config 擷取的資訊做為授權回報的資料來源。

AWS Config 會個別記錄專用主機和執行個體的組態資訊，並透過關係配對此資訊。有下列三種回報條件：
+ **AWS Config 記錄狀態** - **開啟**時， AWS Config 正在記錄一或多個 AWS 資源類型，其中可包含專用主機和專用執行個體。為了擷取授權回報所需的資訊，請確認主機和執行個體的下列欄位都有記錄到。
+ **主機記錄狀態**— 為 **Enabled (啟用)** 時，會記錄專用執行個體的組態資訊。
+ **執行個體記錄狀態** – 為 **Enabled** (啟用) 時，會記錄專用預留執行個體的組態資訊。

如果上述三個條件中有任一個停用，**Edit Config Recording (編輯組態記錄)** 按鈕的圖示就會是紅色。若要獲得這項工具的完整效益，請確認所有三個記錄方法均為啟用。所有三個項目均啟用時，圖示即為綠色。若要編輯設定，請選擇 **Edit Config Recording (編輯組態記錄)**。系統會將您導向 AWS Config 主控台中的**設定 AWS Config**頁面，您可以在其中設定 AWS Config 和開始記錄主機、執行個體和其他支援的資源類型。如需詳細資訊，請參閱《 *AWS Config 開發人員指南*》中的[AWS Config 使用主控台設定](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html) 。

**注意**  
AWS Config 會在發現您的資源後記錄這些資源，這可能需要幾分鐘的時間。

 AWS Config 開始將組態變更記錄到主機和執行個體之後，您可以取得已配置或發行的任何主機的組態歷史記錄，以及已啟動、停止或終止的任何執行個體。例如，您可以在任何時間點於專用執行個體的組態歷史記錄中，查詢該主機上啟動了多少執行個體，以及該主機上的通訊端與核心數目。對於任何這些執行個體，您也可以查詢其 Amazon Machine Image (AMI) 的 ID。您可以使用這些資訊來回報您自有伺服器固定的軟體授權 (依據每個通訊端或每個核心)。

您可以透過以下任何方式來檢視組態歷史記錄：
+ 使用 AWS Config 主控台。對於每個記錄的資源，您可以查看時間軸頁面，其中提供組態詳細資訊的歷史記錄。若要查看此頁面，請選擇**專用執行個體**頁面中的 **Config Timeline** (組態時間軸) 欄內的灰色圖示。如需詳細資訊，請參閱《 *AWS Config 開發人員指南*[》中的在 AWS Config 主控台中檢視組態詳細資訊](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html)。
+ 透過執行 AWS CLI 命令。首先，您可以使用 [list-discovered-resources](https://docs.aws.amazon.com/cli/latest/reference/configservice/list-discovered-resources.html) 命令，取得所有主機和執行個體的清單。然後，您可以使用 [get-resource-config-history](https://docs.aws.amazon.com/cli/latest/reference/configservice/get-resource-config-history.html#get-resource-config-history) 命令，取得在特定時間間隔內之主機和執行個體的組態詳細資訊。
+ 在您的應用程式中使用 AWS Config API。首先，您可以使用 [ListDiscoveredResources](https://docs.aws.amazon.com/config/latest/APIReference/API_ListDiscoveredResources.html) 動作，取得所有主機和執行個體的清單。然後，您可以使用 [GetResourceConfigHistory](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html) 動作，取得在特定時間間隔內之主機和執行個體的組態詳細資訊。

例如，若要從中取得所有專用主機的清單 AWS Config，請執行 CLI 命令，如下所示。

```
aws configservice list-discovered-resources --resource-type AWS::EC2::Host
```

若要從中取得專用主機的組態歷史記錄 AWS Config，請執行如下所示的 CLI 命令。

```
aws configservice get-resource-config-history \
    --resource-type AWS::EC2::Instance \
    --resource-id i-1234567890abcdef0
```

**使用主控台管理 AWS Config 設定**

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

1. 在 **專用執行個體** 頁面上，選擇 **Edit Config Recording (編輯組態記錄)**。

1. 在 AWS Config 主控台中，遵循提供的步驟來開啟錄製。如需詳細資訊，請參閱[AWS Config 使用主控台進行設定](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html)。

如需詳細資訊，請參閱 [AWS Config 主控台中的檢視組態詳細資訊](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html)。

**AWS Config 使用命令列或 API 啟用**
+ AWS 《 *AWS Config 開發人員指南*》中的 CLI：[檢視組態詳細資訊 (AWS CLI)](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource-console.html#view-config-details-cli)。
+ Amazon EC2 API：[GetResourceConfigHistory](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceConfigHistory.html)。

# Amazon EC2 專用執行個體
<a name="dedicated-instance"></a>

依預設，EC2 執行個體在共用的租用硬體上執行。這表示多個 AWS 帳戶可能會共用相同的實體硬體。

專用執行個體是在單一 AWS 帳戶專用硬體上執行的 EC2 執行個體。這表示專用執行個體在主機硬體層級實際與屬於其他的執行個體隔離 AWS 帳戶，即使這些帳戶連結至單一付款人帳戶。不過，專用執行個體可能會與來自非專用執行個體 AWS 帳戶 之相同 的其他執行個體共用硬體。

專用執行個體不會提供執行個體置放的可見性或控制權，且不支援主機親和性。如果您停止並啟動專用執行個體，其可能不會在相同的主機上執行。同樣地，您無法以要啟動或執行執行個體的特定主機為目標。此外，專用執行個體提供自帶授權 (BYOL) 的有限支援。

如果您需要對執行個體置放的可見性或控制權，以及更全面的 BYOL 支援，請考慮改用專用主機。專用執行個體及專用主機都可用於在專用實體伺服器啟動 Amazon EC2 執行個體。專用執行個體和專用執行個體上的執行個體之間沒有效能、安全或實體差異。不過，兩者之間還是有一些差異。下表特別列出了專用執行個體與專用執行個體之間的主要差異：


|  | Dedicated Host | Dedicated Instance | 
| --- | --- | --- | 
| 專用實體伺服器 | 具備執行個體容量的實體伺服器，完全專供您使用。 | 專用於單一客戶帳戶的實體伺服器。 | 
| 執行個體容量共用 | 可與其他帳戶共用執行個體容量。 | 不支援 | 
| 帳單 | 按每台主機計費 | 按每個執行個體計費 | 
| 通訊端、核心和主機 ID 的可見度 | 提供通訊端與實體核心數目的可見度 | 沒有可見度 | 
| 主機和執行個體親和性 | 可讓您隨時間一致地將執行個體部署到相同的實體伺服器 | 不支援 | 
| 訂定執行個體配置目標 | 對於執行個體在實體伺服器上的配置方式，提供額外可見性和控制權 | 不支援 | 
| 自動執行個體復原功能 | 支援。如需詳細資訊，請參閱 [Amazon EC2 專用主機復原](dedicated-hosts-recovery.md)。 | 支援 | 
| 使用自有授權 (BYOL) | 支援 | 部分支援 \$1 | 
| Capacity Reservations | 不支援 | 支援 | 

\$1 透過軟體保證而實現的授權行動性的 Microsoft SQL Server 和 Windows 虛擬桌面存取 (VDA) 授權可以與專用預留執行個體一起使用。

如需詳細資訊，請參閱[Amazon EC2 專用執行個體](dedicated-hosts-overview.md)。

**Topics**
+ [專用執行個體 基本概念](#dedicated-howitworks)
+ [支援的功能](#features)
+ [專用執行個體 限制](#dedicated-limits)
+ [專用執行個體定價](#dedicated-instance-pricing)
+ [在 VPC 中啟動專用執行個體](dedicatedinstancesintovpc.md)
+ [變更執行個體租用](dedicated-change-tenancy.md)
+ [變更 VPC 租用](change-tenancy-vpc.md)

## 專用執行個體 基本概念
<a name="dedicated-howitworks"></a>

VPC 的租用可以是 `default` 或 `dedicated`。依預設，您的 VPC 具有 `default` 租用，並且在 `default` 租用 VPC 中啟動的執行個體具有 `default` 租用。可以執行下列作業來啟動專用執行個體：
+ 建立具有 `dedicated` 租用的 VPC，以便 VPC 中的所有執行個體作為專用執行個體執行。如需詳細資訊，請參閱[在使用預設租用的 VPC 中啟動專用執行個體](dedicatedinstancesintovpc.md)。
+ 建立具有 `default` 租用的 VPC，並為執行個體手動指定 `dedicated` 的租用以作為專用執行個體執行。如需詳細資訊，請參閱[在使用預設租用的 VPC 中啟動專用執行個體](dedicatedinstancesintovpc.md)。

## 支援的功能
<a name="features"></a>

專用執行個體支援下列功能 AWS 和服務整合：

**Topics**
+ [預留執行個體](#dedicatedreservedinstances)
+ [自動擴展規模](#dedicated-instance-autoscaling)
+ [自動復原](#dedicated-instance-recovery)
+ [專用的 競價型執行個體](#dedicated-instance-spot)
+ [爆量效能執行個體](#dedicated-instance-burstable)

### 預留執行個體
<a name="dedicatedreservedinstances"></a>

若要為您的專用執行個體預留容量，您可以購買專用預留執行個體或容量保留。如需詳細資訊，請參閱[Amazon EC2 的預留執行個體概觀](ec2-reserved-instances.md)及[使用 EC2 隨需容量保留來保留運算容量](ec2-capacity-reservations.md)。

當您購買專用的預留執行個體時，您是以更為低廉的費用購買啟動專用執行個體的容量；唯有以專用租用啟動執行個體時才適用此使用費價格優惠。當您購買搭配預設租用的預留執行個體時，它僅適用於搭配 `default` 租用的運作中執行個體，不適用於搭配 `dedicated` 租用的運作中執行個體。

購買後，您就無法使用修改程序變更預留執行個體的租用。但您可以交換可轉換預留執行個體和具有不同租用的新可轉換預留執行個體。

### 自動擴展規模
<a name="dedicated-instance-autoscaling"></a>

您可以使用 Amazon EC2 Auto Scaling 來啟動專用執行個體。如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的[使用進階設定建立啟動範本](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)。

### 自動復原
<a name="dedicated-instance-recovery"></a>

如果專用執行個體由於基礎硬體故障或需要 AWS 參與修復的問題而受損，您可以為專用執行個體設定自動復原。如需詳細資訊，請參閱[自動執行個體復原功能](ec2-instance-recover.md)。

### 專用的 競價型執行個體
<a name="dedicated-instance-spot"></a>

您可以在建立 Spot 執行個體請求時，藉由指定 `dedicated` 的租用來執行專用 Spot 執行個體。如需詳細資訊，請參閱 [在單一租戶硬體上啟動](how-spot-instances-work.md#spot-instance-tenancy)。

### 爆量效能執行個體
<a name="dedicated-instance-burstable"></a>

您可以將在專用租用硬體上執行的好處運用於 [爆量效能執行個體](burstable-performance-instances.md)。T3 專用執行個體預設會在無限模式下啟動，提供基準水準的 CPU 效能，並可在您的工作負載要求較高 CPU 水準時大幅提升 CPU 效能。T3 基準效能與大幅提升效能的能力，取決於 CPU 的額度。由於 T3 執行個體類型的高載本質，我們建議您監視 T3 執行個體如何使用專用硬體的 CPU 資源以獲得最佳效能。T3 專用執行個體適用於具有各種工作負載且顯示隨機 CPU 行為的客戶，但理想情況下，CPU 平均用量達到或低於基準用量。如需詳細資訊，請參閱[爆量效能執行個體的重要概念](burstable-credits-baseline-concepts.md)。

Amazon EC2 備有系統來識別和更正效能變化。不過，如果您啟動多個具有相關 CPU 使用模式的 T3 專用執行個體，仍有可能遇到短期變化。對於這些更高要求或相關的工作負載，我們建議使用 M5 或 M5a 專用執行個體，而不是 T3 專用執行個體。

## 專用執行個體 限制
<a name="dedicated-limits"></a>

使用專用執行個體時，請謹記以下事項：
+ 執行個體租用設定為 的 VPC 不支援某些 AWS 服務或其功能`dedicated`。請參閱各自服務的文件以確認是否有任何限制。
+ 有些執行個體類型無法在執行個體租用設為 `dedicated` 的 VPC 中啟用。如需受支援之執行個體類型的詳細資訊，請參閱 [Amazon EC2 專用執行個體](https://aws.amazon.com/ec2/pricing/dedicated-instances/)。
+ 當您啟動 Amazon EBS 支援的專用執行個體時，EBS 磁碟區不會在單一租用戶硬體上執行。

## 專用執行個體定價
<a name="dedicated-instance-pricing"></a>

專用執行個體定價與隨需執行個體定價不同。如需詳細資訊，請參閱 [Amazon EC2 專用執行個體](https://aws.amazon.com/ec2/pricing/dedicated-instances/)。

# 在使用預設租用的 VPC 中啟動專用執行個體
<a name="dedicatedinstancesintovpc"></a>

當您建立 VPC 時，您可選擇指定其執行個體租用。如果您在具有執行個體 `dedicated` 租用的 VPC 中啟動執行個體，則它會以硬體上之專用執行個體 (專供您使用) 的形式執行。

如需啟動具有 `host` 租用之執行個體的詳細資訊，請參閱[在 Amazon EC2 專用主機上啟動 Amazon EC2 執行個體](launching-dedicated-hosts-instances.md)。

如需有關 VPC 租用選項的詳細資訊，請參閱「Amazon VPC 使用者指南」**中的[建立 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)。

**要求**
+ 選擇支援的執行個體類型。如需詳細資訊，請參閱 [Amazon EC2 專用執行個體](https://aws.amazon.com/ec2/pricing/dedicated-instances/)。

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

**在預設租用 VPC 中啟動專用執行個體**

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

1. 在導覽窗格中，選擇 **Instances** (執行個體)、**Launch Instance** (啟動執行個體)。

1. 在 **Application and OS Images** (應用程式和 OS 映像) 區段中，從清單中選取 AMI。

1. 在 **Instance type** (執行個體類型) 區段中，選取要啟動的執行個體類型。

1. 在 **Key pair** (金鑰對) 區段中，選取要與執行個體建立關聯的金鑰對。

1. 在 **Advanced details** (進階詳細資訊) 區段，對於 **Tenancy** (租用)，選取 **Dedicated** (專用)。

1. 視需要設定其餘的執行個體選項。如需詳細資訊，請參閱[Amazon EC2 執行個體組態參數的參考](ec2-instance-launch-parameters.md)。

1. 選擇**啟動執行個體**。

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

**在啟動期間設定執行個體的租用選項**  
使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令，並包含 `Tenancy` 與 `--placement` 選項。

```
--placement Tenancy=dedicated
```

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

**在啟動期間設定執行個體的租用選項**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet 搭配 `-Placement_Tenancy` 參數。

```
-Placement_Tenancy dedicated
```

------

# 變更 EC2 執行個體租用
<a name="dedicated-change-tenancy"></a>

可在啟動後變更已停止的執行個體的租用。您所做的變更會在執行個體下次開始時生效。

或者，您可以變更虛擬私有雲端 (VPC) 的租用。如需詳細資訊，請參閱[變更 VPC 的執行個體租用](change-tenancy-vpc.md)。

**限制**
+ 您無法使用 AWS 管理主控台變更執行個體的租用。
+ 執行個體必須處於 `stopped` 狀態。
+ 執行個體的作業系統詳細資訊 (以及是否已安裝 SQL Server) 會影響支援的轉換。如需執行個體可用租用轉換路徑的詳細資訊，請參閱「License Manager 使用指南」**中的[租用轉換](https://docs.aws.amazon.com/license-manager/latest/userguide/conversion-tenancy.html)。
+ 若使用 T3 執行個體，您必須在專用執行個體上啟動執行個體，才能使用 `host` 的租用。您無法將租用從 `host` 變更為 `dedicated` 或 `default`。嘗試進行上述任一不受支援的租用變更時，會顯示 `InvalidRequest` 錯誤代碼。

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

**修改執行個體的租用值**  
使用 [modify-instance-placement](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-placement.html) 命令。

```
aws ec2 modify-instance-placement \
    --instance-id i-1234567890abcdef0 \ 
    --tenancy dedicated
```

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

**修改執行個體的租用值**  
使用 [ Edit-EC2InstancePlacement](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstancePlacement.html) cmdlet。

```
Edit-EC2InstancePlacement `
    -InstanceId i-1234567890abcdef0 `
    -Tenancy Dedicated
```

------

# 變更 VPC 的執行個體租用
<a name="change-tenancy-vpc"></a>

您在建立虛擬私有雲端 (VPC) 的執行個體租用之後，可將其從 `dedicated` 變更為 `default`。修改 VPC 的執行個體租用不影響 VPC 中任何現有執行個體的租用。下次在 VPC 中啟動執行個體時，除非您在執行個體啟動期間另行指定，否則其會有 `default` 租用。

或者，您可變更特定執行個體的租用。如需詳細資訊，請參閱[變更 EC2 執行個體租用](dedicated-change-tenancy.md)。

**限制**
+ 您無法在建立之後，將 VPC 的執行個體租用從 `default` 變更為 `dedicated`。
+ 您無法使用 AWS 管理主控台修改 VPC 的執行個體租用。

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

**修改 VPC 的執行個體租用屬性**  
使用 [modify-vpc-tenancy](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-tenancy.html) 命令。唯一支援的租用值為 `default`。

```
aws ec2 modify-vpc-tenancy \
    --vpc-id vpc-1234567890abcdef0 \
    --instance-tenancy default
```

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

**修改 VPC 的執行個體租用屬性**  
使用 [Edit-EC2VpcTenancy](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcTenancy.html) cmdlet。唯一支援的租用值為 `Default`。

```
Edit-EC2VpcTenancy `
    -VpcId vpc-1234567890abcdef0 `
    -InstanceTenancy Default
```

------

# 隨需容量保留和 ML 容量區塊
<a name="capacity-reservation-overview"></a>

容量保留可讓您在特定的可用區域中，為 Amazon EC2 執行個體保留運算容量。容量保留有兩種類型，用於不同的使用案例。

**容量保留類型**
+ [隨需容量保留](ec2-capacity-reservations.md)
+ [ML 的容量區塊](ec2-capacity-blocks.md)

以下是隨需容量保留的一些常見使用案例：
+ **擴展事件** – 在關鍵業務事件之前建立隨需容量保留，以確保您可以在需要時進行擴展。
+ **法規要求和災難復原** – 使用隨需容量保留來滿足法規要求，以達到高可用性，並在不同可用區域或區域中保留容量以進行災難復原。
+ **共用未使用的容量** – 使用可中斷的容量預留，讓未使用的容量可供您帳戶中的其他工作負載使用，同時保持控制以在需要時回收。

以下是 ML 容量區塊的一些常見使用案例：
+ **機器學習 (ML) 模型訓練和微調** – 不間斷存取保留的 GPU 執行個體，以完成 ML 模型訓練和微調。
+ **ML 實驗和原型** – 進行實驗並建置短時間需要 GPU 執行個體的原型。

**使用隨需容量保留的時機**  
如果您有嚴格的容量要求，且目前或未來的關鍵業務工作負載需要容量保證，請使用隨需容量保留。使用隨需容量保留，您可以確保只要需要時，即可存取 Amazon EC2 容量。

**使用 ML 容量區塊的時機**  
如果您需要確保可在未來的設定時段內不間斷存取 GPU 執行個體，請使用 ML 容量區塊。容量區塊適合訓練和微調 ML 模型、短期實驗執行，以及處理未來暫時提高的推論需求。使用容量區塊，您可以確保在特定日期可存取 GPU 資源以執行 ML 工作負載。

# 使用 EC2 隨需容量保留來保留運算容量
<a name="ec2-capacity-reservations"></a>

Amazon EC2 容量保留可讓您在特定可用區域中，為 Amazon EC2 執行個體保留任何期限的運算容量。如果您對目前或未來的業務關鍵工作負載有嚴格的容量需求，需要特定層級的長期或短期容量保證，建議您建立容量保留，以協助確保只要在需要時，即可有 Amazon EC2 容量存取權。

您可以隨時建立容量保留，並選擇開始時間。您可以請求立即使用容量保留，也可以請求未來日期的容量保留。
+ 如果您請求**立即使用容量保留**，容量保留將立即可供使用，且無需任何期限承諾。您可以隨時修改容量保留，也可以隨時取消，以釋出保留容量並停止產生費用。
+ 如果您請求**未來日期的容量保留**，請指定您需要容量保留可供使用的未來日期。您還必須指定承諾期限，以承諾在指定日期之後將請求的容量保留在您的帳戶中。在請求的日期與時間，容量保留可供使用，且承諾期限會開始。在承諾期限期間，您無法將執行個體數量或承諾期限減少至低於初始承諾，或取消容量保留。在承諾期限過後，您可以任何方式修改容量保留，或者在您不再需要時加以取消。

容量預留 只能用於符合屬性的執行個體。根據預設，容量保留會自動比對新的執行個體和具有相符屬性 (執行個體類型、平台、可用區域與租用) 之執行中執行個體。這代表任何屬性相符的執行個體會在 容量預留 中自動執行。不過，您也可以針對特定工作負載的容量預留。這可讓您明確控制哪些執行個體可以在該預留容量中執行。您也可以指定執行個體只在容量保留或容量保留資源群組中執行。

**重要**  
未來日期的容量保留旨在幫助您啟動和涵蓋增量執行個體，而不是涵蓋現有執行中執行個體。如果您需要涵蓋現有執行中執行個體，請改用立即啟動的容量保留。

擁有相符屬性的所有受支援 Amazon EC2 執行個體皆符合在容量保留中執行的資格，即執行個體類型、平台、可用區域，以及租用。Amazon EC2 執行個體可由您 (*非受管執行個體*) 或由 AWS 服務 (*受管執行個體*) 代表您啟動。*開放式*容量保留尤其如此，可自動比對任何擁有相符屬性的執行中執行個體。舉例來說，以下服務代您啟動的受管執行個體符合在您建立及管理的容量保留中執行的資格。
+ Amazon EC2 Auto Scaling
+ Amazon ECS
+ Amazon EKS
+ Amazon EMR
+ Amazon SageMaker AI
+ AWS Batch
+ AWS Elastic Beanstalk
+ AWS ParallelCluster
+ AWS Parallel Computing 服務 (AWS PCS)

**Topics**
+ [Amazon EC2 容量保留概念](cr-concepts.md)
+ [容量預留、預留執行個體和 Savings Plans 之間的差異](#capacity-reservations-differences)
+ [支援的平台](#capacity-reservations-platforms)
+ [配額](#capacity-reservations-limits)
+ [限制](#capacity-reservations-limitations)
+ [容量預留定價和帳單](capacity-reservations-pricing-billing.md)
+ [建立 容量預留](capacity-reservations-create.md)
+ [檢視容量保留狀態](capacity-reservations-view.md)
+ [使用現有的 容量預留 啟動執行個體](capacity-reservations-launch.md)
+ [修改作用中容量保留](capacity-reservations-modify.md)
+ [修改執行個體容量保留設定](capacity-reservations-modify-instance.md)
+ [在容量保留之間移動容量](capacity-reservations-move.md)
+ [從現有容量保留分割容量](capacity-reservations-split.md)
+ [取消 容量預留](capacity-reservations-release.md)
+ [搭配使用容量保留與叢集置放群組](cr-cpg.md)
+ [容量保留群組](create-cr-group.md)
+ [Local Zones 中的容量保留](capacity-reservations-localzones.md)
+ [在 Wavelength 區域中的容量保留](capacity-reservations-wavelengthzones.md)
+ [上的容量保留 AWS Outposts](capacity-reservations-outposts.md)
+ [共用容量保留](capacity-reservation-sharing.md)
+ [容量預留機群](cr-fleets.md)
+ [使用 CloudWatch 指標監控容量保留用量](capacity-reservation-cw-metrics.md)
+ [監控容量保留使用率不足](cr-eventbridge.md)
+ [監控未來日期容量保留的狀態變更](monitor-fcr-state.md)
+ [可中斷的容量保留](interruptible-capacity-reservations.md)

# Amazon EC2 容量保留概念
<a name="cr-concepts"></a>

以下重要概念適用於容量保留。

**Topics**
+ [開始日期和時間](#cr-start-date)
+ [結束日期和時間](#cr-end-date)
+ [承諾期限](#cr-commitment-duration)
+ [未來日期的容量保留評估](#cr-future-dated-assessment)
+ [容量保留屬性](#cr-attributes)
+ [執行個體符合條件](#cr-instance-eligibility)

## 開始日期和時間
<a name="cr-start-date"></a>

開始日期和時間定義容量保留何時可供使用。容量保留可以**立即**開始，也可以在**未來日期**開始。
+ 如果您選擇立即啟動容量保留，預留容量將在您建立後立即可用，且在容量保留進入作用中狀態後會立即開始計費。您無需簽署任何期限承諾。您可以隨時根據需要修改容量保留，以滿足您的需求，也可以隨時取消保留，以釋出容量並停止產生費用。
+ 如果您選擇在未來日期開始容量保留，您可指定您將需要預留容量的*未來日期和時間*，以及*承諾期限*，這是您承諾在佈建容量保留後，將所請求容量保留保持在您帳戶的最短持續時間。在指定的未來日期，容量保留可供使用，當容量保留進入作用中狀態時，即開始計費。一旦在您的帳戶中佈建容量保留，承諾持續時間就會立即開始。在此期間，您無法將執行個體數減少至低於承諾的執行個體數、無法選擇承諾期限之前的結束日期，或取消容量保留。然而，在承諾期限結束後，您可隨時以任何方式修改容量保留，或取消保留以釋出預留容量並停止產生費用。

## 結束日期和時間
<a name="cr-end-date"></a>

結束日期和時間定義了容量保留何時結束，以及預留容量何時從您的帳戶中釋出。您可以將容量保留設定為在特定日期和時間**自動結束**，也可以將其設定為無限期保持作用中狀態，直到**手動取消**為止。

如果您將容量保留設定為自動結束，容量保留會在指定時間的一小時內到期。例如，如果您指定 `5/31/2019, 13:30:55`，容量保留保證會在 `5/31/2019` 的 `13:30:55` 至 `14:30:55` 結束。

保留結束後，預留容量將從您的帳戶中釋出，您將無法再指派執行個體至該容量保留。使用預留容量執行的執行個體會持續不間斷執行。如果針對容量保留的執行個體停止，在移除其容量保留針對的偏好設定或設定它們針對不同的容量保留之前，都無法重新啟動它們。如需詳細資訊，請參閱[修改執行個體容量保留設定](capacity-reservations-modify-instance.md)。

## 承諾期限
<a name="cr-commitment-duration"></a>

承諾期限僅適用於未來日期的容量保留。

承諾期限是您承諾在佈建未來日期的容量保留後，將其以作用中狀態保持在您帳戶的最短持續時間。對於未來日期的容量保留，您可將其保留至超過承諾期限，但不能短於該期限。以下情況適用於承諾期限：
+ 您無法在承諾期限內取消容量保留。
+ 您無法將執行個體數減少到低於承諾的執行個體數，但您可增加數量。
+ 您無法將容量保留設定為在承諾期限內的日期或時間自動結束。您可以在承諾期內延長結束日期和時間。

Amazon EC2 會使用您指定的承諾期限來評估是否可支援請求。最短合約持續時間為 14 天。在評估請求時，Amazon EC2 可能會確定其可支援較短的承諾期限。在這種情況下，Amazon EC2 將以較短的承諾期限安排未來日期的容量保留。這代表您承諾在帳戶中保持容量保留的時間會短於您最初請求的時間。

## 未來日期的容量保留評估
<a name="cr-future-dated-assessment"></a>

當您請求未來日期的容量保留時，Amazon EC2 會根據容量可用性和您指定的承諾期限來評估請求，以確定可否支援該請求。評估通常會在 5 天內完成。Amazon EC2 在評估請求時會考慮多個因素，包括：
+ 預測容量供應
+ 承諾期限
+ 您請求容量保留的時間距離開始日期有多早
+ 您請求的大小

您可提前 5 至 120 天請求未來日期的容量保留。建議您至少提前 56 天 (8 週) 提出請求，以改善我們支援請求的能力。最短合約持續時間為 14 天，最小執行個體計數為 32 個 vCPU。

在評估請求期間，容量保留仍處於 `assessing` 狀態。

如果可以支援請求，則容量保留會進入 `scheduled` 狀態，並安排在請求的日期和時間交付。在容量保留處於 `scheduled` 狀態期間，執行個體總數仍為 0。已排定的容量保留將於請求的日期變為 `active` 且可供使用。

如果無法支援請求，則容量保留會進入 `unsupported` 狀態。不提供不受支援的的容量保留。

當未來日期的容量保留處於 `assessing` 狀態時，您可取消保留。

如需詳細資訊，請參閱[建立未來日期的容量保留](capacity-reservations-create.md#create-future-cr)。

## 容量保留屬性
<a name="cr-attributes"></a>

在建立容量保留時，您必須指定以下屬性：
+ 可用區域
+ 執行個體類型
+ 平台 (作業系統類型)
+ 租用 (`default` 或 `dedicated`)

只有符合這些屬性的執行個體才能在容量保留中啟動或執行。

## 執行個體符合條件
<a name="cr-instance-eligibility"></a>

執行個體符合條件或執行個體資格決定了哪些執行個體可在容量保留中啟動和執行。容量保留可以具備下列其中一種符合條件：
+ **開放式** - 容量保留會自動比對所有具有相符屬性 (執行個體類型、平台和可用區域) 的執行個體。具備相符屬性的現存與新執行個體會在容量保留中自動執行，而無須任何額外設定。
+ **目標式** - 容量保留僅接受有相符屬性 (執行個體類型、平台與可用區域) 的執行個體，並明確將其容量保留設為目標。執行個體必須明確指派容量保留，以便在其預留容量中啟動或執行。這可讓您明確控制哪些執行個體可在預留容量執行，並幫助您避免意外使用預留容量。

當您請求未來日期的容量保留時，您只能指定目標符合條件。這可確保容量保留提供的容量對於您在交付時擁有的任何執行中執行個體或預留容量而言是增量的或附加的。在帳戶的容量保留啟用之後，您可根據需要將執行個體符合條件變更為開放式。但是，請記住，任何符合的執行個體都將自動在容量保留中執行，這可能會導致意外使用容量，並阻止您啟動新執行個體以獲得請求的完整執行個體數。

## 容量預留、預留執行個體和 Savings Plans 之間的差異
<a name="capacity-reservations-differences"></a>

下表反白容量預留、預留執行個體和 Savings Plans 之間的主要差異：


|  | Capacity Reservations | 區域預留執行個體 | 地區預留執行個體 | Savings Plans | 
| --- | --- | --- | --- | --- | 
| 期間 | 立即使用的容量保留無需承諾。可視需要加以建立、修改及取消。 對於未來日期的容量保留，您可以指定承諾期限，並承諾在該期限內將容量保留在您的帳戶中。在承諾期限過後，您可以隨時取消容量保留。  | 需要綁約一年或三年 | 
| 容量優勢 | 在特定的可用區域中預留的容量。 | 無預留容量。 | 
| 帳單折扣 | 無帳單折扣。† | 提供計費折扣。 | 
| 執行個體限制 | 適用每個區域的 隨需執行個體 限制。 | 每個可用區域預設為 20。您可以請求提高限制。 | 每個區域預設為 20。您可以請求提高限制。 | 沒有限制。 | 

† 您可以將容量預留與 Savings Plans 或區域預留執行個體結合，以獲得折扣。

如需詳細資訊，請參閱下列內容：
+ [Amazon EC2 的預留執行個體概觀](ec2-reserved-instances.md)
+ [Savings Plans 使用者指南](https://docs.aws.amazon.com/savingsplans/latest/userguide/)

## 支援的平台
<a name="capacity-reservations-platforms"></a>

您必須使用正確的平台來建立容量預留，以確保它與您的執行個體正確相符。容量保留支援 `platform` 的下列值：
+ Linux/UNIX
+ Linux with SQL Server Standard
+ Linux with SQL Server Web
+ Linux with SQL Server Enterprise
+ SUSE Linux
+ Red Hat Enterprise Linux
+ RHEL with SQL Server Standard
+ RHEL with SQL Server Enterprise
+ RHEL with SQL Server Web
+ RHEL with HA
+ RHEL with HA and SQL Server Standard
+ RHEL with HA and SQL Server Enterprise
+ Ubuntu Pro
+ Windows
+ 具有 SQL Server 的 Windows
+ Windows with SQL Server Web
+ Windows with SQL Server Standard
+ Windows with SQL Server Enterprise

如需確保執行個體在特定容量保留執行，容量保留的平台必須與用於啟動執行個體的 AMI 平台相符。若是 Linux AMI，檢查 AMI 平台是使用一般值 **Linux/UNIX**，還是 **SUSE Linux** 等具體的值非常重要。

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

**如需檢查 AMI 平台**

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

1. 在導覽窗格中，選擇 **AMI**。

1. 請選取 AMI。

1. 在**詳細資訊**索引標籤上，查看**平台詳細資訊**的值。

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

**如需檢查 AMI 平台**  
使用 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令，然後檢查 `PlatformDetails` 的值。

```
aws ec2 describe-images \
    --image-ids ami-0abcdef1234567890 \
    --query Images[*].PlatformDetails
```

以下為範例輸出。

```
[
    "Linux/UNIX"
]
```

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

**如需檢查 AMI 平台**  
使用 [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet，然後檢查 `PlatformDetails` 的值。

```
Get-EC2Image `
    -ImageId ami-0abcdef1234567890 | `
    Select PlatformDetails
```

以下為範例輸出。

```
PlatformDetails
---------------
Linux/UNIX
```

------

## 配額
<a name="capacity-reservations-limits"></a>

您可以預留容量的執行個體數目是以您帳戶的隨需執行個體配額為基礎。您可以預留容量的執行個體數目，為該配額所允許的數目減去已在執行的執行個體數目。

`assessing`、`scheduled`、`pending`、`active` 和 `delayed` 州的容量保留會計入您的隨需執行個體配額。

## 限制
<a name="capacity-reservations-limitations"></a>

在您建立容量預留之前，請記下以下的限制與法規。
+ 作用中和未使用的 容量預留 都計入 隨需執行個體 限制。
+ 容量預留不能從一個 AWS 帳戶轉移到另一個帳戶。不過，您可以與其他 AWS 帳戶共用容量保留。如需詳細資訊，請參閱[共用容量保留](capacity-reservation-sharing.md)。
+ 區域 預留執行個體 帳單折扣不適用於 容量預留。
+ 叢集置放群組中無法建立容量保留。不支援分散和分區置放群組。
+ 容量預留 不能與 專用執行個體 搭配使用。容量預留不能與專用執行個體搭配使用。
+ [Windows 執行個體] 容量保留不能與自帶授權 (BYOL) 搭配使用。
+ [Red Hat 執行個體] 容量保留可與自帶授權 (BYOL) 搭配使用。
+ 容量預留 不確保休眠執行個體可以在嘗試啟動後恢復。
+ 您可以為執行個體計數請求未來日期的容量預留，至少 32 vCPUs。例如，如果您請求`m5.xlarge`執行個體的未來日期容量保留，您必須至少請求 8 個執行個體 (*8 \$1 m5.xlarge = 32 個 vCPUs)。*
+ 您只能針對以下系列的執行個體類型請求未來日期的容量保留：C、G、I、M、R 與 T。

# 容量預留定價和帳單
<a name="capacity-reservations-pricing-billing"></a>

本節主題概述容量保留的定價和計費方式。

**Topics**
+ [定價](#capacity-reservations-pricing)
+ [帳單](#capacity-reservations-billing)
+ [帳單折扣](#capacity-reservations-discounts)
+ [檢視您的帳單](#capacity-reservations-viewing-bill)

## 定價
<a name="capacity-reservations-pricing"></a>

無論您是否以預留容量執行執行個體，容量保留都會按同等的隨需費率收費，包括專用執行個體的任何適用區域附加費用。如果您不使用保留，此項目在 Amazon EC2 帳單中會顯示為未使用的保留。當您執行符合保留屬性的執行個體時，您只需要支付執行個體的費用，不必支付保留費用。沒有前期或額外費用。

例如，如果您建立了 20 個 `m4.large` Linux 執行個體的 容量預留，在同一可用區域中執行了 15 個 `m4.large` Linux 執行個體，則您需要支付 15 個作用中執行個體和保留之 5 個未使用執行個體的費用。

Savings Plans 和區域預留執行個體的帳單折扣適用於容量預留。如需詳細資訊，請參閱[帳單折扣](#capacity-reservations-discounts)。

如需詳細資訊，請參閱 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/)。

## 帳單
<a name="capacity-reservations-billing"></a>

一旦帳戶中佈建了容量，容量保留就會立即開始計費，並在帳戶容量保留保持佈建狀態時持續計費。對於未來日期的容量保留，這意味著只有在您請求的未來日期在您的帳戶中提供容量保留後才會開始計費。

容量預留按秒計費。這表示不按小時計費。例如，如果您帳戶的容量保留作用了 `24` 小時又 `15` 分鐘，您需要支付 `24.25` 小時的保留費用。

以下範例示範容量預留的計費方式。您建立了一個 `m4.large` Linux 執行個體的 容量預留，其隨需費率為小時 0.10 USD。在此範例中，該帳戶的容量保留佈建了 5 個小時。第一個小時未使用 容量預留，所以未使用的這個小時按 `m4.large` 執行個體類型的標準隨需費率計費。在第二至第五個小時，`m4.large` 執行個體佔用了 容量預留。在這段期間，容量預留 不產生任何費用，但帳戶需要支付 `m4.large` 執行個體佔用它的費用。第六個小時取消了 容量預留，`m4.large` 執行個體在預留容量外正常執行。這個小時按 `m4.large` 執行個體類型的隨需費率收費。

![\[容量預留帳單範例\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/cr-billing-example.png)


## 帳單折扣
<a name="capacity-reservations-discounts"></a>

 Savings Plans 和區域預留執行個體的帳單折扣適用於容量預留。 AWS 會自動將這些折扣套用至具有相符屬性的容量預留。當執行個體使用 容量預留，折扣會套用至該執行個體。在涵蓋未使用的 容量預留 之前，折扣會優先套用至執行個體用量。

用於區域 預留執行個體 的帳單折扣不適用於 容量預留。

如需詳細資訊，請參閱下列內容：
+ [Amazon EC2 的預留執行個體概觀](ec2-reserved-instances.md)
+ [Savings Plans 使用者指南](https://docs.aws.amazon.com/savingsplans/latest/userguide/)
+ [帳單和購買選項](https://aws.amazon.com/ec2/faqs/#capacityreservations)

## 檢視您的帳單
<a name="capacity-reservations-viewing-bill"></a>

您可以在 AWS 帳單與成本管理 主控台上檢視您帳戶的計費和費用。
+ **Dashboard (儀表板)** 會顯示您帳戶的支出摘要。
+ 在 **Bills (帳單)** 頁面上，於 **Details (詳細資訊)** 下方，展開 **Elastic Compute Cloud** 區段及區域，以取得容量預留的帳單資訊。

您可在線上檢視費用，或是下載 CSV 檔案。若要了解詳細資訊，請參閱[容量保留明細項目](https://docs.aws.amazon.com/cur/latest/userguide/monitor-ondemand-reservations.html#capacity-reservation-li)。

# 建立 容量預留
<a name="capacity-reservations-create"></a>

您可隨時建立容量保留，以確保您在特定可用區域中擁有運算容量。容量保留可以立即開始，也可以在未來日期開始。只有在容量保留進入 `active` 狀態時，容量才可供使用。

**注意**  
如果您使用 `open` 執行個體符合條件來建立容量保留，且在容量保留啟用時具有符合屬性的執行個體，則這些執行個體會自動以預留容量執行。若要避免這種情況，請使用 `targeted` 執行個體符合條件。如需詳細資訊，請參閱[執行個體符合條件](cr-concepts.md#cr-instance-eligibility)。

如果符合以下條件之一，則您建立容量預留的請求可能會失敗：
+ Amazon EC2 沒有足夠的容量可滿足請求。請稍後再試、嘗試其他可用區域，或是嘗試較小的請求。如果您的應用程式能因應各種執行個體類型和大小，請嘗試不同的執行個體屬性。
+ 請求的數量超過所選執行個體系列的隨需執行個體限制。請提高執行個體系列的隨需執行個體限制，然後再試一次。如需詳細資訊，請參閱[隨需執行個體配額](ec2-on-demand-instances.md#ec2-on-demand-instances-limits)。

**Topics**
+ [建立可供立即使用的容量保留](#create-immediate-cr)
+ [建立未來日期的容量保留](#create-future-cr)

## 建立可供立即使用的容量保留
<a name="create-immediate-cr"></a>

建立可供立即使用的容量保留

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

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

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

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

1. 在**執行個體詳細資訊**區段中配置以下設定：

   1. **執行個體類型** - 要預留容量的執行個體類型。

   1. **平台** - 執行個體的作業系統。如需詳細資訊，請參閱[支援的平台](ec2-capacity-reservations.md#capacity-reservations-platforms)。

   1. **可用區域** - 要預留容量的可用區域。

   1. **租用** - 用於預留容量的租用類型。選擇預設為共用硬體預留容量，或選擇專用為專屬於您帳戶的硬體預留容量。

   1. (*選用*) **置放群組 ARN** - 要在其中建立容量保留的叢集置放群組的 ARN。如需詳細資訊，請參閱[搭配使用容量保留與叢集置放群組](cr-cpg.md)。

   1. **執行個體總數** - 要預留容量的執行個體數。如果您指定的數量超過所選執行個體類型的剩餘隨需執行個體配額，請求會失敗。

1. 在 **Reservation details (保留詳細資訊)** 區段中設定以下設定：

   1. **容量保留開始** - 選擇**立即**。

   1. **容量保留結束** - 選擇下列其中一個選項：
      + **手動** - 預留容量直到您明確取消為止。
      + **指定時間** - 在指定的日期和時間自動取消容量保留。

   1. **執行個體資格** - 選擇下列其中一個選項：
      + **開放式** - (預設值) 容量保留會比對任何有相符屬性 (執行個體類型、平台、可用區域與租用) 的執行個體。如果啟動具有相符屬性的執行個體，它會自動置放到預留容量。
      + **目標式** - 容量保留僅接受有相符屬性 (執行個體類型、平台、可用區域與租用) 的執行個體，並明確指派至該保留。

1. 選擇**建立**。

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

**如需建立容量保留**  
使用 [create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html) 命令。

```
aws ec2 create-capacity-reservation \
    --availability-zone az_name \
    --instance-type instance_type \
    --instance-count number_of_instances \
    --instance-platform operating_system \
    --instance-match-criteria open|targeted
```

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

**如需建立容量保留**  
使用 [Add-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2CapacityReservation.html) cmdlet。

```
Add-EC2CapacityReservation `
    -AvailabilityZone az_name `
    -InstanceType instance_type `
    -InstanceCount number_of_instances `
    -InstancePlatform operating_system `
    -InstanceMatchCriterion open|targeted
```

------

## 建立未來日期的容量保留
<a name="create-future-cr"></a>

如果您需要預留容量以供未來的日期和時間使用，請求未來日期的容量保留。

在您請求未來日期的容量保留之後，系統會進行評估，確定是否可以支援此請求。如需詳細資訊，請參閱[未來日期的容量保留評估](cr-concepts.md#cr-future-dated-assessment)。

**考量事項**
+ 您可針對以下系列的執行個體類型請求未來日期的容量保留：C、G、I、M、R 與 T。
+ 您可以為執行個體計數請求未來日期的容量預留，至少 32 vCPUs。例如，如果您為 `m5.xlarge` 執行個體請求未來日期的容量保留，必須請求至少 8 個執行個體 (*8 \$1 m5.xlarge = 32 個 vCPU*)。
+ 您可提前 5 至 120 天請求未來日期的容量保留。不過，我們建議您至少提前 56 天 (8 週) 請求，以提升支援能力。
+ 最短合約持續時間為 14 天。

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

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

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

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

1. 在**執行個體詳細資訊**區段中配置以下設定：

   1. **執行個體類型** - 要預留容量的執行個體類型。

   1. **平台** - 執行個體的作業系統。如需詳細資訊，請參閱[支援的平台](ec2-capacity-reservations.md#capacity-reservations-platforms)。

   1. **可用區域** - 要預留容量的可用區域。

   1. **租用** - 用於預留容量的租用類型。選擇預設為共用硬體預留容量，或選擇專用為專屬於您帳戶的硬體預留容量。

   1. **執行個體總數** - 要預留容量的執行個體數。如果您指定的數量超過所選執行個體類型的剩餘隨需執行個體配額，請求會失敗。

1. 在 **Reservation details (保留詳細資訊)** 區段中設定以下設定：

   1. **容量保留開始** - 選擇**在指定時間**。

   1. **開始日期** - 指定容量保留必須可供使用的日期與時間。如需詳細資訊，請參閱[開始日期和時間](cr-concepts.md#cr-start-date)。

   1. **承諾期限** - 指定在交付容量保留後，您承諾保持該容量保留的最短持續時間。如需詳細資訊，請參閱[承諾期限](cr-concepts.md#cr-commitment-duration)。

   1. **容量保留結束** - 選擇下列其中一個選項：
      + **當我取消時** - 預留容量直到您明確取消為止。
      + **指定時間** - 在指定的日期和時間自動取消容量保留。

1. 選擇**建立**。

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

**如需建立容量保留**  
使用 [create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html) 命令。

```
aws ec2 create-capacity-reservation \
    --availability-zone az_name \
    --instance-type instance_type \
    --instance-count number_of_instances \
    --instance-platform operating_system \
    --instance-match-criteria targeted \
    --delivery-preference incremental \
    --commitment-duration commitment_in_seconds \ 
    --start-date YYYY-MMDDThh:mm:ss.sssZ
```

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

**如需建立容量保留**  
使用 [Add-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2CapacityReservation.html) cmdlet。

```
Add-EC2CapacityReservation `
    -AvailabilityZone az_name `
    -InstanceType instance_type `
    -InstanceCount number_of_instances `
    -InstancePlatform operating_system `
    -InstanceMatchCriterion targeted `
    -DeliveryPreference incremental `
    -CommitmentDuration commitment_in_seconds `
    -StartDate  YYYY-MMDDThh:mm:ss.sssZ
```

------

# 檢視容量保留狀態
<a name="capacity-reservations-view"></a>

Amazon EC2 會持續監控您的容量保留狀態。

由於 Amazon EC2 API 遵守[最終一致性](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html)模式，因此在建立容量保留後，可能需要最多 5 分鐘時間，容量保留狀態才會反映為 `active`。在此期間，容量保留可能仍保持在 `pending` 狀態。但是，容量保留可能已經可供使用，在此情況下，嘗試啟動執行個體為容量保留可能會成功。

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

**如需檢視容量保留**

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

1. 在導覽窗格中，選擇 **容量預留**。

1. 選取容量保留。

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

**如需描述容量保留**  
使用 [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) 命令。

例如，下面的命令描述所有 容量預留。

```
aws ec2 describe-capacity-reservations
```

以下為範例輸出。

```
{
    "CapacityReservations": [
        {
            "CapacityReservationId": "cr-1234abcd56EXAMPLE",
            "EndDateType": "unlimited",
            "AvailabilityZone": "eu-west-1a",
            "InstanceMatchCriteria": "open",
            "Tags": [],
            "EphemeralStorage": false,
            "CreateDate": "2019-08-16T09:03:18.000Z",
            "AvailableInstanceCount": 1,
            "InstancePlatform": "Linux/UNIX",
            "TotalInstanceCount": 1,
            "State": "active",
            "Tenancy": "default",
            "EbsOptimized": true,
            "InstanceType": "a1.medium",
            "PlacementGroupArn": "arn:aws:ec2:us-east-1:123456789012:placement-group/MyPG"
        },
        {
            "CapacityReservationId": "cr-abcdEXAMPLE9876ef",
            "EndDateType": "unlimited",
            "AvailabilityZone": "eu-west-1a",
            "InstanceMatchCriteria": "open",
            "Tags": [],
            "EphemeralStorage": false,
            "CreateDate": "2019-08-07T11:34:19.000Z",
            "AvailableInstanceCount": 3,
            "InstancePlatform": "Linux/UNIX",
            "TotalInstanceCount": 3,
            "State": "cancelled",
            "Tenancy": "default",
            "EbsOptimized": true,
            "InstanceType": "m5.large"
        }
    ]
}
```

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

**如需描述容量保留**  
請使用 [Get-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservation.html) cmdlet。

```
Get-EC2CapacityReservation `
    -CapacityReservationId cr-1234abcd56EXAMPLE
```

------

## 容量保留狀態
<a name="capacity-reseration-states"></a>

容量預留擁有以下可能的狀態。


| State | Description | 
| --- | --- | 
| active | 容量可供使用。 | 
| expired | 容量保留在保留請求指定的日期和時間自動過期。預留容量將不再提供使用。 | 
| cancelled | 容量保留已取消。預留容量將不再提供使用。 | 
| pending | 容量保留請求成功，但容量佈建仍待定。 | 
| failed | 容量保留請求失敗。請求會因為請求參數無效、容量限制或執行個體限制而失敗。失敗的請求可供您檢視 60 分鐘。 | 
| scheduled | (僅限未來日期的容量保留) 未來日期的容量保留請求已獲批准，且計劃在請求的開始日期交付容量保留。 | 
| assessing | (僅限未來日期的容量保留) Amazon EC2 正在評估您對未來日期容量保留的請求。如需詳細資訊，請參閱[未來日期的容量保留評估](cr-concepts.md#cr-future-dated-assessment)。 | 
| delayed | (僅限未來日期的容量保留) Amazon EC2 在佈建請求的未來日期容量保留時遇到延遲。Amazon EC2 無法在請求的開始日期與時間交付請求的容量。 | 
| unsupported | (僅限未來日期的容量保留) 由於容量限制，Amazon EC2 無法支援未來日期的容量保留請求。您可在 30 天內檢視不受支援的請求。容量保留將不會交付。 | 

# 使用現有的 容量預留 啟動執行個體
<a name="capacity-reservations-launch"></a>

您只能在容量保留中啟動以下情況的執行個體：
+ 具有符合屬性 (執行個體類型、平台、可用區域和租用)
+ 有足夠可用容量
+ 處於 `active` 狀態

當您啟動執行個體時，您可以指定是否在任何 `open` 容量預留、特定 容量預留、或容量預留群組中啟動執行個體。

或者，您可以設定執行個體以避免在容量預留中執行，即使您的 `open` 容量預留 有相符屬性和可用容量。

使用容量預留啟動執行個體可依啟動的執行個體數量降低其可用容量。例如，如果啟動三個執行個體，則容量預留的可用容量會減少三個。

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

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

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

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

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

   1. 對於 **Capacity Reservation** (容量保留)，根據容量保留的組態選取下列其中一個選項：
      + **無** - 防止啟動執行個體至容量保留。執行個體以隨需容量執行。
      + **開放式** - 使用具有相符屬性以及針對所選執行個體數量具有足夠容量的容量保留來啟動執行個體。如果沒有容量足夠的相符容量預留，執行個體將使用隨需容量。
      + **指定容量保留** - 在選取的容量保留中啟動執行個體。如果選取的容量預留在您所選之執行個體數量沒有足夠的容量，執行個體啟動會失敗。
      + **指定容量保留資源群組** - 在選取的容量保留群組內具有相符屬性和可用容量的任何容量保留中啟動執行個體。如果所選群組沒有具有相符屬性和可用容量的容量保留，則執行個體會啟動至隨需容量。
      + **僅指定容量保留** - 在容量保留中啟動執行個體。如果未指定容量保留 ID，執行個體會啟動至開放式容量保留。如果容量不可用，執行個體將無法啟動。
      + **僅指定容量保留資源群組** - 將執行個體啟動至容量保留資源群組中的容量保留。如果未指定容量保留資源群組 ARN，執行個體會啟動至開放式容量保留。如果容量不可用，執行個體將無法啟動。

1. 在 **Summary** (摘要) 面板中，檢閱您的執行個體組態，然後選擇 **Launch instance** (啟動執行個體)。

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

**如需使用現有的容量保留啟動執行個體**  
請使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令，並指定 `--capacity-reservation-specification` 選項。

以下範例會使用具有相符屬性和可用容量的任何開放式容量保留，來啟動執行個體：

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification CapacityReservationPreference=open
```

以下範例會使用 `targeted` 容量保留來啟動執行個體：

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationTarget={CapacityReservationId=cr-1234abcd56EXAMPLE}
```

以下範例會使用指定的容量保留群組來啟動執行個體：

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group}
```

以下範例僅使用容量保留來啟動執行個體。由於未指定容量保留 ID，執行個體將在具有相符屬性和可用容量的任何開放式容量保留中啟動：

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationPreference=capacity-reservations-only
```

以下範例僅使用指定的容量保留來啟動執行個體。如果在指定的容量保留中無法使用容量，執行個體將無法啟動。

```
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --subnet-id subnet-0abcdef1234567890 \
    --capacity-reservation-specification \
        CapacityReservationPreference=capacity-reservations-only \
        CapacityReservationTarget={CapacityReservationId=cr-1234abcd56EXAMPLE}
```

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

**如需使用現有的容量保留啟動執行個體**  
使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet。

以下範例會使用具有相符屬性和可用容量的任何開放式容量保留，來啟動執行個體：

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationSpecification_CapacityReservationPreference "open"
```

以下範例會使用 `targeted` 容量保留來啟動執行個體：

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationTarget_CapacityReservationId cr-1234abcd56EXAMPLE
```

以下範例會使用指定的容量保留群組來啟動執行個體：

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationTarget_CapacityReservationResourceGroupArn `
        "arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group"
```

以下範例僅使用容量保留來啟動執行個體。由於未指定容量保留 ID，執行個體將在具有相符屬性和可用容量的任何開放式容量保留中啟動：

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservations-only"
```

以下範例僅使用指定的容量保留來啟動執行個體。如果在指定的容量保留中無法使用容量，執行個體將無法啟動。

```
New-EC2Instance `
    -ImageId ami-0abcdef1234567890 `
    -InstanceType t2.micro `
    -KeyName "my-key-pair" `
    -SubnetId subnet-0abcdef1234567890 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservations-only" `
    -CapacityReservationTarget_CapacityReservationId cr-1234abcd56EXAMPLE
```

------

# 修改作用中容量保留
<a name="capacity-reservations-modify"></a>

如果您的現有容量保留不適合需要容量的工作負載，您可修改執行個體數量、執行個體資格 (`open` 或 `targeted`) 和結束時間 (`At specific time` 或 `Manually`)。如果您指定的新執行個體數量超過所選執行個體類型的剩餘隨需執行個體限制，更新會失敗。

允許的修改取決於容量保留狀態：
+ `assessing` 或 `scheduled` 狀態 - 您只能修改標籤。
+ `pending` 狀態 - 您無法以任何方式修改容量保留。
+ `active` 狀態，但仍在承諾期限內 - 您無法將執行個體數減少至低於承諾的執行個體數，或將結束日期設定為承諾期限之前。允許所有其他修改。
+ `active` 狀態，無承諾期限或承諾期限已過 - 允許所有修改。
+ `expired`、`cancelled`、`unsupported` 或 `failed` 狀態 - 您無法以任何方式修改容量保留。

**考量事項**
+ 在建立後，無法變更執行個體類型、平台、可用區域或租用。如果您需要修改這些屬性的任何一項，建議您取消保留，然後建立具有所需屬性的新保留。
+ 如果您將執行個體資格從 `targeted` 變更為 `open` 並修改現有容量保留，則任何與容量保留的屬性相符、將 `CapacityReservationPreference` 參數設定為 `open` 且尚未在容量保留中執行的執行個體均將自動使用修改後的容量保留。
+ 若要變更執行個體資格，容量保留必須完全閒置 (零使用量)，這是因為執行個體在保留內執行時，Amazon EC2 無法修改執行個體資格。

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

**如需修改容量保留**

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

1. 選取 **容量預留 (容量預留)**，選取要修改的容量預留，然後選取 **Edit (編輯)**。

1. 根據需要修改**總容量**、**容量保留結束**或**執行個體資格**選項，然後選擇**儲存**。

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

**如需修改容量保留**  
使用 [modify-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-capacity-reservation.html) 命令。下列範例會修改指定的容量保留，以預留八個執行個體的容量。

```
aws ec2 modify-capacity-reservation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --instance-count 8
```

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

**如需修改容量保留**  
使用 [Edit-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2CapacityReservation.html) cmdlet。下列範例會修改指定的容量保留，以預留八個執行個體的容量。

```
Edit-EC2CapacityReservation `
    -CapacityReservationId cr-1234567890abcdef0 `
    -InstanceCount 8
```

------

# 修改執行個體容量保留設定
<a name="capacity-reservations-modify-instance"></a>

您可以隨時修改已停止執行個體的 容量預留 設定：
+ 從具有相符屬性 (執行個體類型、平台、可用區域與租用) 和可用容量的任何容量保留中開始。
+ 在特定容量預留中啟動執行個體。
+ 在 Capacity Reservation (容量預留) 群組內具有相符屬性和可用容量的任何 Capacity Reservation (容量預留) 中啟動
+ 防止在容量預留中開始執行個體。

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

**如需修改執行個體容量保留設定**

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

1. 選取 **Instances (執行個體)**，並選取要修改的執行個體。停止執行個體 (若還未停止的話)。

1. 選擇**動作**、**執行個體設定**、**修改容量保留設定**。

1. 針對 **容量預留**，請選擇下列其中一種選項：
   + **開放式** - 使用具有相符屬性以及針對所選執行個體數量具有足夠容量的容量保留來啟動執行個體。如果沒有容量足夠的相符容量預留，執行個體將使用隨需容量。
   + **無** - 防止啟動執行個體至容量保留。執行個體以隨需容量執行。
   + **指定容量保留** - 在選取的容量保留中啟動執行個體。如果選取的容量預留在您所選之執行個體數量沒有足夠的容量，執行個體啟動會失敗。
   + **指定容量保留群組** - 在選取的容量保留群組內具有相符屬性和可用容量的任何容量保留中啟動執行個體。如果所選群組沒有具有相符屬性和可用容量的容量保留，則執行個體會啟動至隨需容量。
   + **僅指定容量保留** - 在容量保留中啟動執行個體。如果未指定容量保留 ID，執行個體會啟動至開放式容量保留。如果容量不可用，執行個體將無法啟動。
   + **僅指定容量保留資源群組** - 將執行個體啟動至容量保留資源群組中的容量保留。如果未指定容量保留資源群組 ARN，執行個體會啟動至開放式容量保留。如果容量不可用，執行個體將無法啟動。

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

**如需修改執行個體容量保留設定**  
使用 [modify-instance-capacity-reservation-attributes](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-capacity-reservation-attributes.html) 命令。

下列範例會將容量保留喜好變更為 `none`。

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification CapacityReservationPreference=none
```

下列範例會以特定容量保留為目標。

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification \
    CapacityReservationTarget={CapacityReservationId=cr-1234567890abcdef0}
```

下列範例會將目標變更為特定容量保留群組。

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification \
        CapacityReservationTarget={CapacityReservationResourceGroupArn=arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group}
```

下列範例會將容量保留喜好變更為 `capacity-reservation-only`。由於未指定容量保留，執行個體將在具有相符屬性及可用容量的任何開放式容量保留中啟動：

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification CapacityReservationPreference=capacity-reservation-only
```

下列範例會變更容量保留喜好設定為 `capacity-reservation-only`，並且將目標變更為特定容量保留。如果在指定的容量保留中無法使用容量，執行個體將無法啟動。

```
aws ec2 modify-instance-capacity-reservation-attributes \
    --instance-id i-1234567890abcdef0 \
    --capacity-reservation-specification \
        CapacityReservationPreference=capacity-reservation-only \
        CapacityReservationTarget={CapacityReservationId=cr-1234567890abcdef0}
```

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

**如需修改執行個體容量保留設定**  
使用 [Edit-EC2InstanceCapacityReservationAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceCapacityReservationAttribute.html) cmdlet。

下列範例會將容量保留喜好變更為 `none`。

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationSpecification_CapacityReservationPreference "none"
```

下列範例會以特定容量保留為目標。

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationTarget_CapacityReservationId cr-1234567890abcdef0
```

下列範例會將目標變更為特定容量保留群組。

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationTarget_CapacityReservationResourceGroupArn `
        "arn:aws:resource-groups:us-west-2:123456789012:group/my-cr-group"
```

下列範例會將容量保留喜好變更為 `capacity-reservation-only`。由於未指定容量保留，執行個體將在具有相符屬性及可用容量的任何開放式容量保留中啟動：

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservation-only"
```

下列範例會變更容量保留喜好設定為 `capacity-reservation-only`，並且將目標變更為特定容量保留。如果在指定的容量保留中無法使用容量，執行個體將無法啟動。

```
Edit-EC2InstanceCapacityReservationAttribute `
    -InstanceId i-1234567890abcdef0 `
    -CapacityReservationSpecification_CapacityReservationPreference "capacity-reservation-only" `
    -CapacityReservationTarget_CapacityReservationId cr-1234567890abcdef0
```

------

# 在容量保留之間移動容量
<a name="capacity-reservations-move"></a>

您可將容量從一個容量保留移至另一個，以根據需要重新分配保留的運算資源。例如，如果您在用量不斷增加的保留中需要額外容量，且在另一個保留中擁有容量，則您可在這兩個保留之間重新分配容量。

## 移動容量的先決條件
<a name="capacity-reservations-move-prereq"></a>

作為先決條件，兩個容量保留必須滿足以下條件：
+ 兩個保留都必須處於作用中狀態。
+ 這兩個保留都必須由您的 擁有 AWS 帳戶。您無法在由不同 AWS 帳戶擁有的保留之間移動容量。
+ 兩個保留必須相同：
  + 執行個體類型
  + 平台
  + 可用區域
  + 租用
  + 置放群組
  + 結束時間

目的地容量保留執行個體資格 (`open` 或 `targeted`) 和標籤無需符合來源保留。除了來源保留的容量減少和目的地保留的容量增加外，兩個保留的配置保持不變。

當您指定要移動的執行個體數量時，根據預設，會先移動任何可用容量，然後再移動任何符合資格的執行中執行個體 (保留中的已用容量)。例如，如果您從具有 5 個已用執行個體和 3 個可用執行個體的保留移動 4 個執行個體，則將移動 3 個可用執行個體和 1 個已用執行個體。

**注意**  
當您從保留中移動已用容量，且您所指定的**要移動的數量**大於可用容量時，僅會移動以**容量保留規格**為 `open` 來啟動的執行個體。

## 考量事項
<a name="capacity-reservations-move-considerations"></a>

將容量從一個保留移至另一保留時，應考量以下事項：
+ 已用容量只能在具有 `open` 執行個體資格且共用相同帳戶組的容量保留之間移動。
+ 當您移動已用容量時，會隨機選取符合條件的執行個體。您無法指定移動哪些執行個體。若未找到足夠數量的合格執行個體以滿足移動數量，移動操作將失敗。
+ 如果您從來源保留移動所有容量，容量保留將自動取消。
+ **未來日期的容量保留** - 在承諾期內，您無法移動未來日期容量保留的容量。

**注意**  
不支援從容量區塊移動容量。

## 移動容量
<a name="capacity-reservations-move-procedure"></a>

您可將容量從來源容量保留移至目的地容量保留。

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

**如需移動容量**

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

1. 在左側導覽窗格中，選擇**容量保留**。

1. 選擇具有可移動容量的隨需容量保留 ID。

1. 在**動作**的**管理容量**中，選擇**移動**。

1. 在**移動容量**頁面的**目的地容量保留**中，從清單中選取保留。

1. 在**要移動的數量**中，使用滑桿或輸入要從來源容量保留移動到目的地容量保留的執行個體數量。

1. 檢閱摘要，當您準備好時，選擇**移動**。

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

**如需移動容量**  
請使用 [move-capacity-reservation-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/move-capacity-reservation-instances.html) 命令。下列範例將 10 個執行個體從指定來源容量保留移至特定目的地容量保留。

```
aws ec2 move-capacity-reservation-instances \
    --source-capacity-reservation-id cr-1234567890abcdef0 \
    --destination-capacity-reservation-id cr-021345abcdef56789 \
    --instance-count 10
```

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

**如需移動容量**  
使用 [Move-EC2CapacityReservationInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Move-EC2CapacityReservationInstance.html) cmdlet。下列範例將 10 個執行個體從指定來源容量保留移至特定目的地容量保留。

```
Move-EC2CapacityReservationInstance `
    -SourceCapacityReservationId cr-1234567890abcdef0 `
    -DestinationCapacityReservationId cr-021345abcdef56789 `
    -InstanceCount 10
```

------

# 從現有容量保留分割容量
<a name="capacity-reservations-split"></a>

您可從現有容量保留中分割容量來建立新保留。您可分配原先保留的一部分給特定工作負載，或與其他 AWS 帳戶共用。例如，若要與其他帳戶共用部分容量保留，您可分割部分容量，以建立規模較小的容量保留。然後可以使用 [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) 與其他帳戶分享較小規模的容量保留。

當您從現有容量保留分割容量時，會自動建立新容量保留。現有保留將維持不變，但從分割執行個體數量中減少的總容量除外。在現有容量保留中執行的執行個體不受影響。您只能將現有保留分割為一個新容量保留。

除標籤外，新容量保留將具有與現有容量保留相同的配置。在預設情況下，新容量保留無任何標籤。您可在分割操作期間指定新標籤。如有必要，也可在建立新容量保留後進行修改。

當您指定要分割的執行個體數量時，根據預設，會先分割任何可用容量，然後再分割任何符合資格的執行中執行個體 (保留中的已用容量)。例如：如果您從具有 5 個已用執行個體和 3 個可用執行個體的容量保留分割 4 個執行個體，則將分割 3 個可用執行個體和 1 個已用執行個體至新保留。

## 分割容量的先決條件
<a name="capacity-reservations-split-prereq"></a>

作為先決條件，您的容量保留必須滿足以下條件：
+ 來源保留必須處於作用中狀態。
+ 來源保留必須由您的 擁有 AWS 帳戶。

**注意**  
當您從保留中分割已用容量且您所指定的**要分割的數量**大於可用容量時，僅會分割以**容量保留規格**為 `open` 來啟動的執行個體。

## 考量事項
<a name="capacity-reservations-split-considerations"></a>

將容量從一個保留分割到新保留時，應考量以下事項：
+ 已用容量只能分割至未與任何帳戶共用且具「開放式」執行個體資格的容量保留。
+ 當您分割已用容量時，會隨機選擇符合條件的執行個體。您無法指定分割哪些執行個體。若未找到足夠數量的合格執行個體以滿足分割數量，則分割操作將失敗。
+ 從現有保留中分割出來的執行個體數量上限為保留量減一。例如，如果您的保留總容量為 5 個執行個體，您最多可將 4 個執行個體分割至新保留。
+ **未來日期的容量保留** - 在承諾期內，您無法分割未來日期容量保留的容量。
+ **資源群組** - 如果現有容量保留屬於資源群組，則新容量保留不會自動新增至資源群組。如有必要，您可在建立後將新容量保留新增至資源群組。
+ **共用** - 如果現有容量保留與消費者帳戶共用，則新容量保留不會自動與消費者帳戶共用。如有必要，您可在建立新容量保留後共用。
+ **叢集置放群組** - 如果現有容量保留是叢集置放群組的一部分，則新容量保留將在相同叢集置放群組中建立。

**注意**  
不支援從容量區塊分割容量。

## 使用標籤控制分割容量保留的存取權
<a name="capacity-reservations-split-permissions"></a>

您可使用標籤來控制 Amazon EC2 資源的存取權，包括從現有容量保留分割容量來建立新容量保留。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[使用標籤控制對 AWS 資源的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)。

若要使用標籤控制分割容量保留的存取權，請務必在政策陳述式中指定資源與請求標籤，因為 IAM 政策會根據來源容量保留與新建立的容量保留進行評估。以下範例政策包含針對來源容量保留的 `ec2:ResourceTag` 條件金鑰及標籤 `Owner=ExampleDepartment1`，以及針對新建立容量保留的 `ec2:RequestTag` 條件金鑰及標籤 `stack=production`。

```
{
  "Statement": [
    {
      "Sid": "AllowSourceCapacityReservation",
      "Effect": "Allow",
      "Action": "ec2:CreateCapacityReservationBySplitting",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:capacity-reservation/cr-1234567890abcdef0",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/Owner": "ExampleDepartment1"
        }
      }
    },
    {
      "Sid": "AllowNewlyCreatedCapacityReservation",
      "Effect": "Allow",
      "Action": ["ec2:CreateCapacityReservationBySplitting", "ec2:CreateTags"],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:capacity-reservation/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/stack": "production"
        }
      }
    }
  ]
}
```

## 分割容量
<a name="capacity-reservations-split-procedures"></a>

您可從現有容量保留中分割容量來建立新的容量保留。

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

**如需分割容量**

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

1. 在左側導覽窗格中，選擇**容量保留**。

1. 選擇可分割的隨需容量保留 ID。

1. 在**動作**下方的**管理容量**，選擇**分割**。

1. 在**分割容量保留**頁面的**要分割的數量**下方，使用滑桿或輸入要從目前保留中分割的執行個體數。

1. (選用) 新增標籤至新容量保留。

1. 檢閱摘要，當您準備好時，選擇**分割**。

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

**如需分割容量**  
使用 `create-capacity-reservation-by-splitting` 命令。下列範例將建立新的容量保留，方法是從指定的容量保留中分割 10 個執行個體。

```
aws ec2 create-capacity-reservation-by-splitting \
    --source-capacity-reservation-id cr-1234567890abdef0 \
    --instance-count 10
```

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

**如需分割容量**  
使用 [New-EC2CapacityReservationBySplitting](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2CapacityReservationBySplitting.html) cmdlet。下列範例將建立新的容量保留，方法是從指定的容量保留中分割 10 個執行個體。

```
New-EC2CapacityReservationBySplitting `
    -SourceCapacityReservationId cr-1234567890abdef0 `
    -InstanceCount 10
```

------

# 取消 容量預留
<a name="capacity-reservations-release"></a>

您可以取消處於以下狀態之一的容量保留：
+ `assessing`
+ `active` 且無承諾期限或承諾期限已過。您無法在承諾期限內取消未來日期的容量保留。

**注意**  
您無法修改或取消容量區塊。如需詳細資訊，請參閱[ML 的容量區塊](ec2-capacity-blocks.md)。

如果未來日期的容量保留進入 `delayed` 狀態，承諾期限將被豁免，您可以在其進入 `active` 狀態後立即加以取消。

取消容量預留時，會立即釋出容量，而且不會再預留給您使用。

您可以取消空的容量預留和有執行中之執行個體的容量預留。如果您取消有執行中之執行個體的容量保留，執行個體會繼續在容量保留以外正常執行，依標準 隨需執行個體 費率計價，如有作用中相符的 Savings Plans 或區域預留執行個體，則依折扣費率計價。

在您取消容量預留後，即不再啟動以其為目標的執行個體。修改這些執行個體，讓它們針對不同的容量預留、使用具相符屬性及足夠容量的任何開啟中容量預留啟動，或避免使用容量預留啟動。如需詳細資訊，請參閱[修改執行個體容量保留設定](capacity-reservations-modify-instance.md)。

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

**如需取消容量保留**

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

1. 選取**容量預留 (容量預留)**，然後選取要取消的容量預留。

1. 選擇 **Cancel reservation (取消保留)** 和 **Cancel reservation (取消保留)**。

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

**如需取消容量保留**  
請使用 [cancel-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-capacity-reservation.html) 命令。

```
aws ec2 cancel-capacity-reservation \
    --capacity-reservation-id cr-1234567890abcdef0
```

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

**如需取消容量保留**  
使用 [Remove-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2CapacityReservation.html) cmdlet。

```
Remove-EC2CapacityReservation `
    -CapacityReservationId cr-1234567890abcdef0
```

------

# 搭配使用容量保留與叢集置放群組
<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)

# 容量保留群組
<a name="create-cr-group"></a>

您可以使用 AWS Resource Groups 建立容量保留的邏輯集合，稱為*資源群組*。資源群組是在同一 AWS 區域中 AWS 的資源邏輯分組。如需資源群組的詳細資訊，請參閱 *AWS Resource Groups 使用者指南*中的[什麼是資源群組？](https://docs.aws.amazon.com/ARG/latest/userguide/)。

您可以包含您在帳戶中擁有的容量預留，以及單一資源群組中其他 AWS 帳戶與您共用的容量預留。您可以包含單一資源群組中具有不同屬性的容量保留 (執行個體類型、平台、可用區域與租用)。

為容量保留建立資源群組時，可以選定一個容量保留群組做為容量保留的目標，不要選擇個別的容量保留。目標鎖定在具有相符屬性 (執行個體類型、平台、可用區域與租用) 和可用容量之群組中，任何與容量保留相符之容量保留群組的執行個體。如果群組沒有具有相符屬性和可用容量的，則執行個體 容量預留 會使用隨需容量執行。如果稍後階段將相符的 容量預留 新增至目標群組，則執行個體會自動比對並移入其預留容量。

若要避免在群組中意外使用 容量預留，請將群組中的 容量預留 設定為僅接受明確以容量保留為目標的執行個體。若要這樣做，請在使用 Amazon EC2 主控台建立容量保留時，將**執行個體資格**設定為**僅指定此保留的執行個體**。使用 時 AWS CLI，請在建立容量保留`--instance-match-criteria targeted`時指定 。這樣做可確保只有明確鎖定目標群組或群組中的 容量預留 執行個體才能在群組中執行。

如果群組中的 容量預留 在其有執行中的執行個體時被取消或過期，則這些執行個體會自動移至群組中具有相符屬性和可用容量的另一個 容量預留。如果群組中剩餘的 容量預留 沒有相符的屬性和可用容量，則執行個體會以隨需容量執行。如果稍後階段將相符的 容量預留 新增至目標群組，則執行個體會自動移至其預留容量中。

**Topics**
+ [建立群組](create-group.md)
+ [新增容量保留至群組](add-to-group.md)
+ [從群組中移除容量保留](remove-from-group.md)
+ [刪除群組](delete-group.md)
+ [在包含容量保留群組的叢集置放群組中使用容量保留](using-cpg-odcr-crg.md)

# 建立容量保留群組
<a name="create-group"></a>

您可使用下列範例，藉助以下請求參數來為容量保留建立資源群組。
+ `AWS::EC2::CapacityReservationPool` – 確保將資源群組鎖定為執行個體啟動的目標
+ `AWS::ResourceGroups::Generic` 將 `allowed-resource-types` 設為 `AWS::EC2::CapacityReservation` – 確保資源群組僅接受容量保留

在您建立群組之後，可[新增容量保留](add-to-group.md)至群組。

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

**為容量保留建立群組**  
使用 [create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html) AWS CLI 命令。

```
aws resource-groups create-group \
    --name MyCRGroup \
    --configuration \
        '{"Type": "AWS::EC2::CapacityReservationPool"}' \
        '{"Type": "AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'
```

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

**為容量保留建立群組**  
使用 [New-RGGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RGGroup.html) cmdlet。

```
New-RGGroup `
    -Name MyCRGroup `
    -Configuration `
        @{"Type"="AWS::EC2::CapacityReserationPool"} `
        @{"Type"="AWS::ResourceGroups::Generic"; "Parameters"=@{"allowed-resource-types"=@{"Values"="AWS::EC2::CapacityReservations"}}}
```

------

# 在群組新增容量保留
<a name="add-to-group"></a>

若將與您共用的容量保留新增到群組，當該容量保留取消共用，該容量保留會自動從群組中移除。

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

**在群組新增容量保留**  
請使用 [group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) 命令。

下列範例會新增兩個容量保留到指定群組。

```
aws resource-groups group-resources \
    --group MyCRGroup \
    --resource-arns \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1 \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
```

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

**在群組新增容量保留**  
使用 [Add-RGResource](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-RGResource.html) cmdlet。

下列範例會新增兩個容量保留到指定群組。

```
Add-RGResource `
    -Group MyCRGroup `
    -ResourceArn `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
```

------

# 從群組移除容量保留
<a name="remove-from-group"></a>

您可使用以下範例從群組中移除容量保留。

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

**從群組中移除 容量預留**  
請使用 [ungroup-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/ungroup-resources.html) 命令。

下列範例會從指定群組中移除兩個容量保留。

```
aws resource-groups ungroup-resources \
    --group MyCRGroup \
    --resource-arns \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd \
        arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
```

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

**從群組中移除 容量預留**  
使用 [Remove-RGResource](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-RGResource.html) cmdlet。

下列範例會從指定群組中移除兩個容量保留。

```
Remove-RGResource `
    -Group MyCRGroup `
    -ResourceArn `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-0e154d26a16094dd", `
        "arn:aws:ec2:sa-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
```

------

# 刪除容量保留群組
<a name="delete-group"></a>

您可使用以下範例來刪除容量保留群組。

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

**刪除群組**  
請使用 [delete-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/delete-group.html) 命令。

```
aws resource-groups delete-group --group MyCRGroup
```

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

**刪除群組**  
使用 [Remove-RGGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-RGGroup.html) cmdlet。

```
Remove-RGGroup -GroupName MyCRGroup
```

------

# 在包含容量保留群組的叢集置放群組中使用容量保留
<a name="using-cpg-odcr-crg"></a>

Amazon EC2 提供了各種不同的啟動方法，讓您能夠在包含容量保留群組的叢集置放群組中使用容量保留。您可依據您的工作負載要求，選擇以下其中一種方法將容量保留群組鎖定為目標：
+ *指定叢集置放群組與容量保留群組的 ARN* - 這會在選取的容量保留群組中，使用具有相符屬性和可用容量的任何可用容量保留。如果所選群組沒有具有相符屬性和可用容量的容量保留，則執行個體會啟動至隨需容量。
**注意**  
若使用此方法來啟動執行個體，則會在指定的叢集置放群組置放執行個體。
+ *僅指定容量保留群組* – 這會藉由僅指定容量保留群組，來使用容量保留群組內的所有可用容量。啟動執行個體時，會按下列順序來使用容量：
  + 容量保留不與任何叢集置放群組關聯。
  + 容量保留群組內任何叢集置放群組中的容量保留。
  + 如果群組沒有具有相符屬性和可用容量的容量保留，則執行個體會使用隨需容量執行，並且不會置放於任何叢集置放群組。
**注意**  
若透過僅指定容量保留群組來啟動執行個體，執行個體會在叢集置放群組建立的容量保留中啟動，但執行個體不會直接連接至叢集置放群組。

# Local Zones 中的容量保留
<a name="capacity-reservations-localzones"></a>

Local Zone 是地理位置接近您使用者的 AWS 區域延伸。在 Local Zone 中建立的資源可以為本機使用者提供非常低延遲的通訊服務。如需詳細資訊，請參閱 [AWS Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/)。

您可以透過在該 Local Zone 中建立新的子網路，將 VPC 從其父 AWS 區域延伸到 Local Zone。當您在 Local Zone 中建立子網時，VPC 也會擴展到該 Local Zone。Local Zone 中的子網與 VPC 中的其他子網的運作方式相同。

透過使用 Local Zones，您可以將容量預留放置在更接近使用者的多個位置。您在 Local Zones 中建立和使用容量預留的方式，與在一般可用區域中建立和使用容量預留的方式相同。適用相同的功能和執行個體比對行為。如需 Local Zones 中支援的定價模型的詳細資訊，請參閱 [AWS Local Zones 常見問答集](https://aws.amazon.com/about-aws/global-infrastructure/localzones/faqs/)。

**考量事項**  
您無法在 Local Zone 中使用容量預留群組。

**若要在 Local Zone 中使用容量預留**

1. 啟用本機區域，以便在 AWS 您的帳戶中使用。如需詳細資訊，請參閱 [AWS Local Zones 使用者指南中的 Local Zones 入門](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html)。 *AWS *

1. 在 Local Zone 中建立容量預留。對於 **Availability Zone** (可用區域)，請選擇 Local Zone。Local Zone 是以一個 AWS 區域代碼加上一個識別符來表示，用以代表位置，例如 `us-west-2-lax-1a`。如需詳細資訊，請參閱[建立 容量預留](capacity-reservations-create.md)。

1. 在 Local Zone 中建立子網。對於 **Availability Zone** (可用區域)，請選擇 Local Zone。如需詳細資訊，請參閱「Amazon VPC 使用者指南」**中的[在您的 VPC 中建立子網路](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)。

1. 啟動執行個體。對於**子網**，選擇 Local Zone 中的子網 (例如 `subnet-123abc | us-west-2-lax-1a`)，對於**容量預留**，請選擇您在 Local Zone 中建立容量預留所必需的規格 (`open` 或透過 ID 將其鎖定為目標)。如需詳細資訊，請參閱[使用現有的 容量預留 啟動執行個體](capacity-reservations-launch.md)。

# 在 Wavelength 區域中的容量保留
<a name="capacity-reservations-wavelengthzones"></a>

*AWS Wavelength* 可讓開發人員建立提供極低延遲的應用程式給行動裝置與最終使用者。Wavelength 將標準的 AWS 運算與儲存服務部署至電信業者 5G 網路的邊緣。您可將 Amazon Virtual Private Cloud (VPC) 擴充至一或多個 Wavelength 區域。然後 AWS ，您可以使用 Amazon EC2 執行個體之類的資源來執行需要超低延遲和區域中 AWS 服務連線的應用程式。如需詳細資訊，請參閱[AWS Wavelength 區域](https://aws.amazon.com//wavelength/)。

當您建立隨需 容量預留 時，可以選擇 Wavelength 區域，並透過指定與 Wavelength 區域相關聯的子網，在 Wavelength 區域中對 容量預留 啟動執行個體。Wavelength 區域由 AWS 一個區域代碼，後面接著一個識別符來表示位置，例如 `us-east-1-wl1-bos-wlz-1`。

並非每個區域都有 Wavelength 區域。如需支援 Wavelength 區域的區域相關資訊，請參閱 *AWS Wavelength 開發人員指南*中的[可用 Wavelength 區域](https://docs.aws.amazon.com/wavelength/latest/developerguide/wavelength-quotas.html)。

**考量事項**  
您無法使用在 Wavelength 區域的 容量預留 群組。

**在 Wavelength 區域中使用 容量預留**

1. 啟用 Wavelength 區域以用於您的帳戶 AWS 。如需詳細資訊，請參閱 *AWS Wavelength 開發人員指南*中的 [AWS Wavelength入門](https://docs.aws.amazon.com/wavelength/latest/developerguide/get-started-wavelength.html)。

1. 在 Wavelength 區域中建立 容量預留。對於**可用區域**，請選擇 Wavelength。Wavelength 是以一個 AWS 區域代碼加上一個識別符來表示，用以代表位置，例如 `us-east-1-wl1-bos-wlz-1`。如需詳細資訊，請參閱[建立 容量預留](capacity-reservations-create.md)。

1. 在 Wavelength 區域中建立子網。對於**可用區域**，請選擇 Wavelength 區域。如需詳細資訊，請參閱「Amazon VPC 使用者指南」**中的[在您的 VPC 中建立子網路](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)。

1. 啟動執行個體。在**子網**中，選擇在 Wavelength 區域中的子網 (例如 `subnet-123abc | us-east-1-wl1-bos-wlz-1`)，對於 **容量預留**，請選擇規格 (`open` 或透過 ID 將其鎖定為目標)，這對於您在 Wavelength 中建立的 容量預留 為必要條件。如需詳細資訊，請參閱[使用現有的 容量預留 啟動執行個體](capacity-reservations-launch.md)。

# 上的容量保留 AWS Outposts
<a name="capacity-reservations-outposts"></a>

AWS Outposts 是一種全受管服務，可將 AWS 基礎設施、服務、APIs 和工具延伸到客戶內部部署。透過提供 AWS 受管基礎設施的本機存取權， AWS Outposts 可讓客戶使用與 AWS 區域相同的程式設計界面在內部部署中建置和執行應用程式，同時使用本機運算和儲存資源來降低延遲和本機資料處理需求。

Outpost 是在客戶站點部署的 AWS 運算和儲存容量集區。 會在 AWS 區域中 AWS 操作、監控和管理此容量。

您可以在帳戶中建立的 Outposts 上建立容量保留。這可讓您在站點的 Outpost 上預留運算容量。您在 Outposts 上建立和使用容量預留的方式，與在一般可用區域中建立和使用容量預留的方式相同。適用相同的功能和執行個體比對行為。

您也可以使用 與組織內的其他 AWS 帳戶共用 Outposts 上的容量預留 AWS Resource Access Manager。如需共用容量保留的資訊，請參閱 [共用容量保留](capacity-reservation-sharing.md)。

**先決條件**  
您的站點必須安裝 Outpost。如需詳細資訊，請參閱 *AWS Outposts 使用者指南*中的[建立 Outpost 並訂購 Outpost 容量](https://docs.aws.amazon.com/outposts/latest/userguide/order-outpost-capacity.html)。

**考量**
+ 您無法在 Outpost 上使用容量預留群組。

**若要在 Outpost 上使用容量預留**

1. 在 Outpost 上建立子網。如需詳細資訊，請參閱 *AWS Outposts 使用者指南*中的[建立子網](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#create-subnet)。

1. 在 Outpost 上建立容量保留。

   1. 在 https：//[https://console.aws.amazon.com/outposts/](https://console.aws.amazon.com/outposts/home) 開啟 AWS Outposts 主控台。

   1. 在導覽窗格中，選擇 **Outposts**，然後選擇 **Actions** (動作)、**Create Capacity Reservation** (建立容量預留)。

   1. 視需要設定容量預留，然後選擇 **Create** (建立)。如需詳細資訊，請參閱[建立 容量預留](capacity-reservations-create.md)。
**注意**  
**Instance Type** (執行個體類型) 下拉式清單只會列出選取的 Outpost 支援的執行個體類型，而 **Availability Zone** (可用區域) 下拉式清單只會列出與選取的 Outpost 相關聯的可用區域。

1. 在容量預留中啟動執行個體。對於**子網**，選取您在步驟 1 中建立的子網，對於**容量預留**，選取您在步驟 2 中建立的容量預留。如需詳細資訊，請參閱 *AWS Outposts 使用者指南*中的[在 Outpost 上啟動執行個體](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#launch-instances)。

# 共用容量保留
<a name="capacity-reservation-sharing"></a>

容量保留共用可讓容量保留擁有者與其他 AWS 帳戶或在 AWS 組織內共用其預留容量。這可讓您集中建立和管理容量預留，並在多個 AWS 帳戶或 AWS 組織內共用預留容量。

在此模型中，擁有容量保留 （擁有者） AWS 的帳戶會與其他 AWS 帳戶 （消費者） 共用。消費者可以在與他們共用的 容量預留 中啟動執行個體，就好像他們在自己的帳戶中擁有的 容量預留 中啟動執行個體一樣。容量預留擁有者負責管理 容量預留和他們在其中啟動的執行個體。擁有者在他們共用的 容量預留中無法修改消費者啟動的執行個體。消費者在分享給他們的 容量預留中負責管理他們啟動的執行個體。消費者無法檢視或修改其他消費者或 容量預留擁有者所擁有的執行個體。

容量預留擁有者可以將 容量預留分享給下列對象：
+  AWS 組織內部或外部的特定 AWS 帳戶
+  AWS 組織內的組織單位
+ 其整個 AWS 組織

## 共用容量預留的先決條件
<a name="sharing-cr-prereq"></a>
+ 若要共用容量保留，您必須在 AWS 帳戶中擁有它。您無法將已分享給您的 容量預留 再分享出去。
+ 針對租用執行個體您只能共用 容量預留。針對專用租用執行個體您無法共用 容量預留。
+ 容量保留共用不適用於新的 AWS 帳戶或帳單歷史記錄有限的 AWS 帳戶。
+ 若要與 AWS 組織或 AWS 組織中的組織單位共用容量保留，您必須啟用與 共用 AWS Organizations。如需詳細資訊，請參閱《AWS RAM 使用者指南》**中的[透過 AWS Organizations啟用共用](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)。
+  您可以在 `active`或 `scheduled` 狀態共用容量保留。您無法在其他[狀態共用容量保留](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html)，例如 `assessing`或 `unsupported`。

## 相關服務
<a name="cr-sharing-related"></a>

容量保留共用與 AWS Resource Access Manager (AWS RAM) 整合。 AWS RAM 是一項服務，可讓您與任何 AWS 帳戶或透過 共用 AWS 資源 AWS Organizations。您可以透過 AWS RAM建立*資源共享*，以共用您擁有的資源。資源共享指定要共用的資源，以及共用它們的消費者。消費者可以是個別 AWS 帳戶、組織單位或整個組織的來源 AWS Organizations。

如需 的詳細資訊 AWS RAM，請參閱*[AWS RAM 《 使用者指南》](https://docs.aws.amazon.com/ram/latest/userguide/)*。

## 跨可用區域共用
<a name="cr-sharing-azs"></a>

為確保資源分配至區域中的所有可用區域，可用區域會獨立對應至各個帳戶的名稱。這可能導致帳戶之間的可用區域命名出現差異。例如，`us-east-1a`您 AWS 帳戶的可用區域可能沒有與`us-east-1a`另一個 AWS 帳戶相同的位置。

若要基於您的帳戶來識別 容量預留的相對位置，您必須使用*可用區域 ID* (AZ ID)。AZ ID 是所有 AWS 帳戶中可用區域的唯一且一致的識別符。例如， `use1-az1` 是 `us-east-1` 區域的 AZ ID，而且在每個 AWS 帳戶中的位置都相同。

**檢視您帳戶中可用區域的 AZ ID**

1. 在 https：//[https://console.aws.amazon.com/ram/home](https://console.aws.amazon.com/ram/home) 開啟 AWS RAM 主控台。

1. 畫面右側的 **Your AZ ID (您的 AZ ID)** 面板中會顯示目前區域的 AZ ID。

# 共用 容量預留
<a name="sharing-cr"></a>

當您與其他人共用您擁有的容量保留時 AWS 帳戶，您可以讓他們在您的保留容量中啟動執行個體。如果您共用開啟的容量預留，請謹記下列事項，因為有可能導致容量預留用量超出預料：
+ 如果消費者的執行中執行個體符合 容量預留的屬性、將 `CapacityReservationPreference` 參數設為 `open`，以及尚未執行預留容量，他們會自動使用共用的 容量預留。
+ 如果消費者啟動的執行個體符合屬性 (執行個體類型、平台、可用區域與租用)，而且將 `CapacityReservationPreference` 參數設為 `open`，他們會自動在共用的容量保留中啟動執行個體。

若要分享 容量預留，您必須將它新增至資源共享。資源共用是一種 AWS RAM 資源，可讓您跨 AWS 帳戶共用資源。資源共享指定要共用的資源，以及共用它們的消費者。當您使用 Amazon EC2 主控台分享 容量預留時，您需要將它新增至現有的資源共享。若要將容量預留新增至新的資源共享，您必須使用 [AWS RAM 主控台](https://console.aws.amazon.com/ram)建立資源共享。

如果您是 中的組織的一部分， AWS Organizations 且已啟用組織內的共用，則如果符合[共用的先決條件](capacity-reservation-sharing.md#sharing-cr-prereq)，您組織中的取用者會獲得共用容量保留的存取權。如果容量保留與外部帳戶共享，他們會收到加入資源共享的邀請，並且在接受邀請後便能存取共享的容量保留。

**重要**  
在與您共用的容量保留中啟動執行個體之前，請在主控台中檢視共用的容量保留，或使用 [ describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) AWS CLI 命令加以描述，以確認您能夠存取共用的容量保留。如果您可以在 主控台中檢視共用的容量保留，或使用 描述它 AWS CLI，它可供您使用，而且您可以在其中啟動執行個體。如果您嘗試將執行個體啟動至容量保留中，但由於共享失敗而無法存取，則執行個體將啟動至隨需容量中。

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

**使用 Amazon EC2 主控台來分享您擁有的 容量預留**

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

1. 在導覽窗格中，選擇 **容量預留**。

1. 選擇要分享的 容量預留，然後選擇 **Actions (動作)**、**Share reservation (共用保留)**。

1. 選取資源共享以新增 容量預留，然後選取 **Share 容量預留 (共用 容量預留)**。

   可能需要經過幾分鐘，消費者才能存取共用的 容量預留。

**使用 AWS RAM 主控台共用您擁有的容量保留**  
請參閱 *AWS RAM 使用者指南*中的[建立資源共用](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)。

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

**如需共用您擁有的容量保留**  
使用 [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 命令。

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**如需共用您擁有的容量保留**  
使用 [New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) cmdlet。

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

# 停止共用容量預留
<a name="unsharing-cr"></a>

容量預留擁有者可以隨時停止共用容量預留。適用的規定如下：
+ 共用停止時在共用容量中執行的執行個體 (由消費者擁有) 會在預留容量外繼續正常運作，而容量會根據 Amazon EC2 容量可用性還原到容量預留。
+ 共用 容量預留的消費者不能再於預留容量中啟動新的執行個體。

若要停止共用您擁有的容量預留，您必須從資源共用中移除它。

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

**如何使用 Amazon EC2 主控台停止共用您擁有的容量預留**

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

1. 在導覽窗格中，選擇 **容量預留**。

1. 選取容量預留，然後選取**共用**索引標籤。

1. **Sharing (共用)** 索引標籤列出已新增 容量預留的資源共享。選取要從中移除 容量預留的資源共享，然後選取 **Remove from resource share (從資源共享中移除)**。

**使用 AWS RAM 主控台停止共用您擁有的容量保留**  
請參閱《AWS RAM 使用者指南》**中的[更新資源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update)。

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

**如需停止共用您擁有的容量保留**  
使用 [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 命令。

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
	--resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**如需停止共用您擁有的容量保留**  
使用 [Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) cmdlet。

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

# 共用 Amazon EC2 容量保留的帳單指派
<a name="assign-billing"></a>

根據預設，當共用容量保留時，向擁有者收取的費用包含其在容量保留中執行的執行個體，以及容量保留中的任何可用容量 *(也稱為未用容量)*；而僅向消費者收取其在共用容量保留中執行的執行個體費用。

如果需要，容量保留擁有者可以將容量保留中任何可用容量的帳單指派給與其共用容量保留的任一帳戶。帳單指派給另一帳戶後，該帳戶將成為容量保留中任何可用容量的*帳單擁有者*。從那時起，容量保留中可用容量的任何費用都將由指定帳戶而非擁有者的帳戶支付。容量保留擁有者和與其共用容量保留的帳戶將繼續根據其在容量保留中執行的執行個體收取費用。

**重要**  
 容量保留擁有者仍為資源擁有者，並負責管理容量保留。指派帳單的帳戶無任何額外權限；無法以任何方式取消、修改或共用容量保留。

**Topics**
+ [運作方式](#how-billing-ownership-works)
+ [考量事項](#billing-ownership-considerations)
+ [指派帳單](request-billing-transfer.md)
+ [檢視帳單指派請求](view-billing-transfers.md)
+ [接受或拒絕帳單](accept-decline-billing-transfer.md)
+ [取消或撤銷請求](cancel-billing-transfer.md)
+ [監控請求](billing-ownership-events.md)

## 運作方式
<a name="how-billing-ownership-works"></a>

只有容量保留擁有者可將共用容量保留的帳單指派給另一帳戶。帳單只能指派給與容量保留共用且合併在與容量保留擁有者相同 AWS Organizations 付款人帳戶下的帳戶。

若要將容量保留的可用容量帳單指派給另一帳戶，容量保留擁有者必須向所需帳戶提出請求。指定帳戶會收到請求，且必須在 12 小時內接受或拒絕。
+ 如果對方**接受**，就會成為容量保留中任何可用容量 (也稱為*未用容量*) 的*帳單擁有者*。從那時起，容量保留中任何可用容量的費用都會由其帳戶而非擁有者的帳戶支付。一旦接受，只有容量保留擁有者可撤銷指定帳戶的帳單。
+ 如果對方**拒絕**，容量保留擁有者仍是容量保留中可用容量的帳單擁有者。容量保留中任何可用容量的費用將繼續由擁有者的帳戶支付。
+ 如果對方**未於 12 小時內接受或拒絕**請求，該請求將過期，並會繼續向擁有者的帳戶收取容量保留中任何可用容量的費用。

在帳單指派給另一帳戶期間，`Reservation` 和 `UnusedBox` 明細項目會顯示在指派帳戶的成本和用量報告 (CUR) 中，而非擁有者的 CUR。

下表顯示在將帳單指派給另一帳戶**之前**，容量保留擁有者和消費者帳戶的 CUR 中顯示哪些明細項目。


| 帳戶 | 指派帳單前的 CUR 明細項目 | 
| --- | --- | 
| 容量保留擁有者 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| 與其共用容量保留的消費者帳戶 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/assign-billing.html)  | 

下表顯示在將帳單指派給另一帳戶**之後**，容量保留擁有者和消費者帳戶的 CUR 中顯示哪些明細項目。


| 帳戶 | 指派帳單後的 CUR 明細項目 | 
| --- | --- | 
| 容量保留擁有者 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| 指派帳單的使用者帳戶 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/assign-billing.html)  | 
| 與其共用容量保留的其他消費者帳戶 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/assign-billing.html)  | 

**注意**  
\$1 僅當帳戶在容量保留中擁有執行中的執行個體時，`BoxUsage` 明細項目才會顯示在帳戶的 CUR。如需 CUR 明細項目的詳細資訊，請參閱[監控容量保留](https://docs.aws.amazon.com/cur/latest/userguide/monitor-ondemand-reservations.html)。
使用 CUR 的容量保留 ARN 來確定誰擁有容量保留。如果 ARN 包含 AWS 您的帳戶 ID，則您是容量保留擁有者。否則，容量保留由其他帳戶擁有，但帳單已指派給您。
擁有者指派給容量保留的成本分配標籤將不會顯示在消費者帳戶的 CUR。成本分配標籤只會顯示在容量保留擁有者的 CUR。

## 考量事項
<a name="billing-ownership-considerations"></a>

為共用容量保留指派帳單時，請記住以下幾點：
+ 您無法執行部分或分割帳單指派。容量保留的所有可用容量帳單一次僅可指派給一個帳戶。
+ 容量保留的可用容量可能會隨著時間而變化。這會影響指派帳戶的帳單。例如，如果容量保留擁有者增加容量保留的大小，或者如果其他消費者帳戶停止或終止其在容量保留中執行的執行個體，則可用容量可能會增加。
+ 帳單只能指派給合併在同一 AWS Organizations 付款人帳戶下的消費者帳戶。如果消費者離開組織，或不再與其分享容量保留，則系統會自動從消費者帳戶撤銷帳單。
+ 在請求接受後，只有容量保留擁有者可取消待定帳單指派請求及撤銷已指派帳戶的帳單。

# 將共用 EC2 容量保留的帳單指派給另一帳戶
<a name="request-billing-transfer"></a>

若要將共用容量保留的可用容量帳單指派給另一帳戶，容量保留擁有者必須向所需帳戶提出請求。在 Amazon EC2 主控台中，此請求稱為*轉移請求*。

只有在以下情況，容量保留擁有者才能將容量保留的可用容量帳單指派給帳戶：
+ 已與該帳戶共用容量保留。
+ 帳戶會合併在與容量預留擁有者相同的 AWS Organizations 付款人帳戶下。

只有在對方接受請求後，系統才會將帳單指派給指定帳戶。

當容量保留擁有者提出請求時，會傳送 Amazon EventBridge 事件至請求的帳戶。如需詳細資訊，請參閱[監控共用容量保留的帳單指派請求](billing-ownership-events.md)。

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

**指派共用容量保留的帳單**

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

1. 在導覽窗格中，選取**容量保留**，然後選擇共用的容量保留。

1. 在**可用容量帳單**區段，選擇**指派帳單**。

1. 在**指派帳單**畫面中，選取要指派帳單的消費者帳戶，然後選擇**請求**。

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

**指派共用容量保留的帳單**  
使用 [associate-capacity-reservation-billing-owner](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-capacity-reservation-billing-owner.html) 命令。對於 `--capacity-reservation-id`，指定共用容量保留的 ID。針對 `--unused-reservation-billing-owner-id`，指定要指派帳單 AWS 的帳戶 ID。

```
aws ec2 associate-capacity-reservation-billing-owner \
    --capacity-reservation-id cr-01234567890abcdef \
    --unused-reservation-billing-owner-id 123456789012
```

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

**指派共用容量保留的帳單**  
使用 [Register-EC2CapacityReservationBillingOwner](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2CapacityReservationBillingOwner.html) cmdlet。對於 `-CapacityReservationId`，指定共用容量保留的 ID。針對 `-UnusedReservationBillingOwnerId`，指定要指派帳單 AWS 的帳戶 ID。

```
Register-EC2CapacityReservationBillingOwner `
    -CapacityReservationId cr-01234567890abcdef `
    -UnusedReservationBillingOwnerId 123456789012
```

------

# 檢視共用 EC2 容量保留的帳單指派請求
<a name="view-billing-transfers"></a>

容量保留擁有者只能檢視其所提出的最新帳單指派請求。消費者帳戶只能檢視向其傳送的最新帳單指派請求。

在請求進入 `cancelled`、`expired` 或 `revoked` 狀態之後，您可以在 24 小時內檢視該請求。24 小時過後，無法再檢視。

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

**(容量保留擁有者) 檢視您啟動的請求**

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

1. 在導覽窗格中，選取**容量保留**，然後選擇要檢視請求的共用容量保留。

1. **可用容量帳單**區段會顯示最新請求及其目前狀態。

**(消費者帳戶) 已傳送給您的請求**

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

1. 在導覽窗格中，選取**容量保留**。

1. 若您有待定請求，畫面頂部會顯示**待定帳單指派請求**橫幅。如果橫幅未顯示，表示您無待定請求。

   若要檢視請求，請在橫幅中選擇**檢閱請求**。

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

**(容量保留擁有者) 檢視您啟動的請求**  
使用 [describe-capacity-reservation-billing-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-billing-requests.html) 命令。

```
aws ec2 describe-capacity-reservation-billing-requests \
    --role odcr-owner
```

**(消費者帳戶) 檢視傳送給您的請求**  
使用 [describe-capacity-reservation-billing-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservation-billing-requests.html) 命令。

```
aws ec2 describe-capacity-reservation-billing-requests \
    --role unused-reservation-billing-owner
```

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

**(容量保留擁有者) 檢視您啟動的請求**  
使用 [Get-EC2CapacityReservationBillingRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservationBillingRequest.html) cmdlet。

```
Get-EC2CapacityReservationBillingRequest `
    -Role odcr-owner
```

**(消費者帳戶) 檢視傳送給您的請求**  
使用 [Get-EC2CapacityReservationBillingRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservationBillingRequest.html) cmdlet。

```
Get-EC2CapacityReservationBillingRequest `
    -Role unused-reservation-billing-owner
```

------

請求可以是下列任一種狀態。


| State | Description | 
| --- | --- | 
| pending | 請求尚未被接受或拒絕，但尚未過期。 | 
| accepted | 指定帳戶已接受請求。容量保留的可用容量帳單將指派給消費者帳戶。 | 
| rejected | 消費者帳戶已拒絕該請求。 | 
| cancelled | 容量保留擁有者在請求處於 pending 狀態時取消了該請求。 | 
| revoked | 由於以下原因，已從消費者帳戶撤銷帳單：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/view-billing-transfers.html)  | 
| expired | 由於消費者帳戶未於 12 小時內接受或拒絕請求，因此請求已過期。 | 

# 接受或拒絕共用 EC2 容量保留帳單
<a name="accept-decline-billing-transfer"></a>

如果您收到與您共用的容量保留帳單指派請求，您可接受或拒絕。在接受或拒絕請求前，請求會維持在 `pending` 狀態。

如果您接受請求，請求就會進入 `accepted` 狀態，從那時起，該容量保留的任何可用或*未用*容量帳單都會指派至您的帳戶。接受請求後，只有容量保留擁有者可從您的帳戶撤銷帳單。

如果您拒絕請求，請求將進入 `rejected` 狀態，且將容量保留的可用容量帳單仍會指派給容量保留擁有者。

如果請求未於 12 小時內被接受或拒絕，則會過期。如果請求過期，容量保留中任何未用容量的帳單仍會指派給容量保留擁有者。

當請求被接受或拒絕時，會傳送 Amazon EventBridge 事件至容量保留擁有者的帳戶。當請求過期時，會傳送 Amazon EventBridge 事件給容量保留擁有者和消費者帳戶。如需詳細資訊，請參閱[監控共用容量保留的帳單指派請求](billing-ownership-events.md)。

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

**若要接受或拒絕請求**

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

1. 在導覽窗格中，選取**容量保留**。

1. 若您有待定請求，畫面頂部會顯示**待定帳單指派請求**橫幅。如果橫幅未顯示，表示您無待定請求。

   若要檢視請求，請在橫幅中選擇**檢閱請求**。

1. 選取要接受或拒絕的請求，然後選擇**接受**或**拒絕**。

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

**若要接受請求**  
使用 [accept-capacity-reservation-billing-ownership](https://docs.aws.amazon.com/cli/latest/reference/ec2/accept-capacity-reservation-billing-ownership.html) 命令。對於 `--capacity-reservation-id`，請指定要接受請求的容量保留 ID。

```
aws ec2 accept-capacity-reservation-billing-ownership \
    --capacity-reservation-id cr-01234567890abcdef
```

**若要拒絕請求**  
使用 [reject-capacity-reservation-billing-ownership](https://docs.aws.amazon.com/cli/latest/reference/ec2/reject-capacity-reservation-billing-ownership.html) 命令。對於 `--capacity-reservation-id`，請指定要拒絕請求的容量保留 ID。

```
aws ec2 reject-capacity-reservation-billing-ownership \
    --capacity-reservation-id cr-01234567890abcdef
```

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

**若要接受請求**  
使用 [Approve-EC2CapacityReservationBillingOwnership](https://docs.aws.amazon.com/powershell/latest/reference/items/Approve-EC2CapacityReservationBillingOwnership.html) cmdlet。

```
Approve-EC2CapacityReservationBillingOwnership `
    -CapacityReservationId cr-01234567890abcdef
```

**若要拒絕請求**  
使用 [Deny-EC2CapacityReservationBillingOwnership](https://docs.aws.amazon.com/powershell/latest/reference/items/Deny-EC2CapacityReservationBillingOwnership.html) cmdlet。

```
Deny-EC2CapacityReservationBillingOwnership `
    -CapacityReservationId cr-01234567890abcdef
```

------

# 取消或撤銷共用 EC2 容量保留的帳單指派請求
<a name="cancel-billing-transfer"></a>

只有容量保留擁有者可取消 `pending` 帳單指派請求。如果待定請求被取消，該請求將進入 `cancelled` 狀態，並且任何可用或*未用*容量保留的帳單仍會指派給容量保留擁有者。

請求為 `accepted` 之後，只有容量保留擁有者可撤銷指定帳戶的帳單。如果帳單被撤銷，請求將進入 `revoked` 狀態，並將容量保留的任何可用容量帳單重新指派給容量保留擁有者。

當請求被取消或撤銷時，會傳送 Amazon EventBridge 事件到容量保留擁有者和指定消費者帳戶。如需詳細資訊，請參閱[監控共用容量保留的帳單指派請求](billing-ownership-events.md)。

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

**若要取消或撤銷請求**

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

1. 在導覽窗格中，選取**容量保留**，然後選擇要取消或撤銷請求的容量保留。

1. 在**可用容量帳單**區段，根據請求的目前狀態，選擇**取消轉移**或**撤銷轉移**。

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

**若要取消或撤銷請求**  
使用 [ disassociate-capacity-reservation-billing-owner](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-capacity-reservation-billing-owner.html) 命令。針對 `--unused-reservation-billing-owner-id`，指定傳送請求 AWS 的帳戶 ID。

```
aws ec2 disassociate-capacity-reservation-billing-owner \
    --capacity-reservation-id cr-01234567890abcdef \
    --unused-reservation-billing-owner-id 123456789012
```

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

**若要取消或撤銷請求**  
使用 [Unregister-EC2CapacityReservationBillingOwner](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2CapacityReservationBillingOwner.html) cmdlet。針對 `-UnusedReservationBillingOwnerId`，指定傳送請求 AWS 的帳戶 ID。

```
Unregister-EC2CapacityReservationBillingOwner `
    -CapacityReservationId cr-01234567890abcdef `
    -UnusedReservationBillingOwnerId 123456789012
```

------

# 監控共用容量保留的帳單指派請求
<a name="billing-ownership-events"></a>

在帳單指派請求狀態變更時，Amazon EC2 會傳送 Amazon EventBridge 事件。
+ 當請求進入以下狀態時，將傳送事件給容量保留擁有者：`accepted` \$1 `rejected` \$1 `expired` \$1 `revoked`。
+ 當請求進入以下狀態時，將傳送事件到請求的消費者帳戶：`pending` \$1 `expired` \$1 `cancelled` \$1 `revoked`。

如需有關 Amazon EventBridge 的詳細資訊，請參閱[「Amazon EventBridge 使用者指南」](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。

以下是 Amazon EventBridge 事件模式。

```
{
   "version":"0",
   "id":"12345678-1234-1234-1234-123456789012",
   "detail-type":"On-Demand Capacity Reservation Billing Ownership Request pending|accepted|rejected|cancelled|revoked|expired",
   "source":"aws.ec2",
   "account":"account_id",
   "time":"state_change_timestamp",
   "region":"region",
   "resources":[
      "arn:aws:ec2:region:cr_owner_account_id:capacity-reservation/cr_id"
   ],
   "detail":{
      "capacity-reservation-id":"cr_id",
      "updateTime":timestamp,
      "ownerAccountId":"cr_owner_account_id",
      "unusedReservationChargesOwnerID":"consumer_account_id",
      "status":"pending|accepted|rejected|cancelled|revoked|expired",
      "statusMessage":"message
   }
}
```

以下範例顯示當消費者帳戶 (`111111111111`) 接受共用容量保留 (`cr-01234567890abcdef`) 的帳單指派請求時，傳送給容量保留擁有者 (`222222222222`) 的事件。

```
{
   "version":"0",
   "id":"12345678-1234-1234-1234-123456789012",
   "detail-type":"On-Demand Capacity Reservation Billing Ownership Request accepted",
   "source":"aws.ec2",
   "account":"222222222222",
   "time":"2024-09-01Thh:59:59Z",
   "region":"us-east-1",
   "resources":[
      "arn:aws:ec2:us-east-1:222222222222:capacity-reservation/cr-01234567890abcdef"
   ],
   "detail":{
      "capacity-reservation-id":"cr-01234567890abcdef",
      "updateTime":"2024-08-01Thh:59:59Z",
      "ownerAccountId":"222222222222",
      "unusedReservationChargesOwnerID":"111111111111",
      "status":"accepted",
      "statusMessage":"billing transfer status message"
   }
}
```

## 共用的容量預留許可
<a name="shared-cr-perms"></a>

### 擁有者的許可
<a name="shared-cr-perms-owner"></a>

擁有者負責管理和取消他們共用的 容量預留。擁有者無法修改共用的 容量預留中由其他帳戶擁有的執行中執行個體。擁有者仍然負責管理他們在共用的 容量預留中啟動的執行個體。

### 消費者的許可
<a name="shared-cr-perms-consumer"></a>

消費者負責管理他們在共用的 容量預留中執行的執行個體。消費者完全無法修改共用的 容量預留，也無法檢視或修改其他消費者或 容量預留擁有者所擁有的執行個體。消費者只能檢視共用保留中的總容量和可用容量。

## 計費和計量
<a name="shared-cr-billing"></a>

共用 容量預留無須額外收費。

根據預設，向容量保留擁有者收取的費用包含其在容量保留中執行的執行個體和未用的預留容量，而向消費者收取的費用則是其在共用容量保留中執行的執行個體。不過，您可將共用容量保留的可用容量帳單指派給特定使用者帳戶。如需詳細資訊，請參閱[共用 Amazon EC2 容量保留的帳單指派](assign-billing.md)。

如果容量保留擁有者屬於不同的付款人帳戶，且區域預留執行個體或 Savings Plan 涵蓋容量保留，則會繼續針對區域預留執行個體或 Savings Plan 向容量保留擁有者收取費用。在這些情況下，容量保留擁有者會支付區域預留執行個體或 Savings Plan 的費用，並且會針對在共用容量保留中執行的執行個體向消費者收費。

## 執行個體限制
<a name="shared-cr-limits"></a>

所有 容量預留用量都計入 容量預留擁有者的 隨需執行個體 限制。其中包括：
+ 未用的預留容量
+ 容量預留擁有者所擁有者的執行個體的用量
+ 消費者擁有的執行個體的用量

消費者在共享容量中啟動的執行個體計入 容量預留擁有者的 隨需執行個體 限制。消費者的執行個體限制等於他們自己的 隨需執行個體 限制和他們在共用的 容量預留中可存取的可用容量的總和。

# 容量預留機群
<a name="cr-fleets"></a>

*隨需容量預留機群*是一組容量預留。

容量預留機群要求包含啟動容量預留機群所需的所有組態資訊。使用單一要求，您可以為多個執行個體類型的工作負載預留大量 Amazon EC2 容量，最多至您指定的目標容量。

建立容量預留機群之後，您可以修改或取消容量預留機群，共同管理機群中的容量預留。

**Topics**
+ [容量預留機群的運作方式](#cr-how-it-works)
+ [考量事項](#considerations)
+ [定價](#pricing)
+ [概念與規劃](crfleet-concepts.md)
+ [建立](create-crfleet.md)
+ [Modify (修改)](modify-crfleet.md)
+ [取消](cancel-crfleet.md)
+ [範例組態](crfleet-example-configs.md)
+ [使用服務連結角色](using-service-linked-roles.md)

## 容量預留機群的運作方式
<a name="cr-how-it-works"></a>

建立容量預留機群時，機群會嘗試建立個別容量預留，符合您在機群要求中指定的總目標容量。

機群預留容量的執行個體數量，取決於您指定的[*總目標容量*](crfleet-concepts.md#target-capacity)與[*執行個體類型權重*](crfleet-concepts.md#instance-weight)。預留容量的執行個體類型，取決於您使用的[*配置策略*](crfleet-concepts.md#allocation-strategy)和[*執行個體類型優先順序*](crfleet-concepts.md#instance-priority)。

如果建立機群時容量不足，且無法立即滿足總目標容量，則機群會非同步嘗試建立容量預留，直到已預留要求的容量數量為止。

機群達到總目標容量時，會嘗試維持該容量。如果取消機群中的容量預留，機群會根據您的機群組態，自動建立一或多個容量預留，取代失去的容量並維持總目標容量。

無法個別管理機群中的容量預留。必須修改機群來集體管理。修改機群時，機群中的容量預留會自動更新以反映變更。

容量預留機群目前支援 `open` 執行個體符合條件，而機群啟動的所有容量預留會自動使用此執行個體符合條件。使用此條件，具有相符屬性 (執行個體類型、平台、可用區域與租用) 的新的執行個體和現有執行個體會在機群建立的容量保留中自動執行。容量保留機群不支援目標執行個體符合條件。

## 考量事項
<a name="considerations"></a>

使用容量預留機群時請記住下列事項：
+ 您可以使用 和 AWS API 來建立、修改、檢視 AWS CLI 和取消容量保留機群。
+ 無法個別管理機群中的容量預留。必須修改或取消機群來集體管理。
+ 容量預留機群無法跨區域。
+ 容量預留機群無法跨可用區域。
+ 容量預留機群建立的容量預留會自動加上下列 AWS 產生的標籤：
  + 索引鍵 – `aws:ec2-capacity-reservation-fleet`
  + 值 – `fleet_id`

  您可以使用此標籤，識別容量預留機群建立的容量預留。

## 定價
<a name="pricing"></a>

使用容量預留機群無須額外收費。系統會針對您容量預留機群建立的個別容量預留計費。如需容量預留計費方式的詳細資訊，請參閱[容量預留定價和帳單](capacity-reservations-pricing-billing.md)。

# 容量保留機群概念與規劃
<a name="crfleet-concepts"></a>

以下資訊說明如何規劃容量保留機群，並說明容量保留機群概念，包括總目標容量、分配策略、執行個體類型權重和執行個體類型優先順序。

**Topics**
+ [規劃容量保留機群](#plan-cr-fleet)
+ [總目標容量](#target-capacity)
+ [分配策略](#allocation-strategy)
+ [執行個體類型權重](#instance-weight)
+ [執行個體類型優先順序](#instance-priority)

## 規劃容量保留機群
<a name="plan-cr-fleet"></a>

當您規劃容量保留機群時，建議您執行下列動作：

1. 決定工作負載所需的運算容量。

1. 決定要使用的執行個體類型和可用區域。

1. 根據您的需求和偏好，為每個執行個體類型指派優先順序。如需詳細資訊，請參閱 [執行個體類型優先順序](#instance-priority)。

1. 建立適合您工作負載的容量加權系統。為每個執行個體類型指派權重，並決定總目標容量。如需詳細資訊，請參閱[執行個體類型權重](#instance-weight)及[總目標容量](#target-capacity)。

1. 決定您是否無限期需要容量保留，或是只需要一段特定時間。

## 總目標容量
<a name="target-capacity"></a>

*總目標容量*定義容量預留機群預留的運算容量總量。建立容量預留機群時，您可以指定總目標容量。建立機群之後，Amazon EC2 會自動建立容量預留，最多預留至總目標容量。

容量預留機群為其預留容量的執行個體數量，取決於總目標容量，以及您為容量預留機群中每個執行個體類型指定的*執行個體類型權重* (`total target capacity`/`instance type weight`=`number of instances`)。

您可以根據對您工作負載有意義的單位數量，指派總目標容量。舉例來說，如果您的工作負載需要特定數量 vCPU，您可以根據所需的 vCPU 數量，指派總目標容量。如果您的工作負載需要 `2048` vCPU，請將總目標容量指派為 `2048`，然後根據機群中執行個體類型提供的 vCPU 數量，指派執行個體類型權重。如需範例，請參閱「[執行個體類型權重](#instance-weight)」。

## 分配策略
<a name="allocation-strategy"></a>

容量預留機群中的分配策略，決定如何從容量預留機群組態中的執行個體類型規格，履行您的預留容量要求。

目前只支援 `prioritized` 分配策略。使用此策略，容量預留機群會使用您指派給容量預留機群組態中每個執行個體類型規格的優先順序，建立容量預留。優先順序值越低，表示使用的優先順序越高。例如，假設您建立使用下列執行個體類型和優先順序的容量預留機群：
+ `m4.16xlarge` – 優先順序 = 1
+ `m5.16xlarge` – 優先順序 = 3
+ `m5.24xlarge` – 優先順序 = 2

機群會先嘗試為 `m4.16xlarge` 建立容量保留。如果 Amazon EC2 `m4.16xlarge` 容量不足時，機群會嘗試為 `m5.24xlarge` 建立容量保留。如果 Amazon EC2 `m5.24xlarge` 容量不足時，機群會為 `m5.16xlarge` 建立容量保留。

## 執行個體類型權重
<a name="instance-weight"></a>

*執行個體類型權重*是您指派給容量預留機群中每個執行個體類型的權重。權重決定計入機群*總目標容量*的該特定執行個體類型每個執行個體容量單位量。

您可以根據對您工作負載有意義的單位數量來指派權重。例如，如果您的工作負載需要特定數量 vCPU，您可以根據容量預留機群中每個執行個體類型提供的 vCPU 數量來指派權重。在此情況下，如果您使用 `m4.16xlarge` 和 `m5.24xlarge` 執行個體建立容量預留機群，您可以指派對應於每個執行個體 vCPU 數量的權重，如下所示：
+ `m4.16xlarge` — `64` 個 vCPU，權重 = `64` 個單位
+ `m5.24xlarge` — `96` 個 vCPU，權重 = `96` 個單位

執行個體類型權重決定容量預留機群為其預留容量的執行個體數量。例如，如果總目標容量為 `384` 單位的容量預留機群，使用先前範例中的執行個體類型和權重，則機群可以為 `6` 個 `m4.16xlarge` 執行個體 (384 總目標容量/64 執行個體類型權重 = 6 個執行個體)，或 `4` 個 `m5.24xlarge` 執行個體 (384/96 = 4) 預留容量。

如果您未指派執行個體類型權重，或將執行個體類型權重指派為 `1`，則總目標容量會只根據執行個體數量。舉例來說，如果總目標容量為 `384` 個單位的容量預留機群使用先前範例中的執行個體類型，但省略權重或對這兩個執行個體類型指定 `1`，機群可為 `384` 個 `m4.16xlarge` 執行個體或 `384` 個 `m5.24xlarge` 執行個體預留容量。

## 執行個體類型優先順序
<a name="instance-priority"></a>

*執行個體類型優先順序*是您指派給機群中執行個體類型的值。優先順序是用來決定應優先使用哪些為機群指定的執行個體類型。

優先順序值越低，表示使用的優先順序越高。

# 建立容量預留機群
<a name="create-crfleet"></a>

建立容量預留機群時，它會自動為機群請求中指定的執行個體類型建立容量預留，最多達指定的總目標容量。容量預留機群預留容量的執行個體數量，取決於您在請求中指定的總目標容量和執行個體類型權重。如需詳細資訊，請參閱[執行個體類型權重](crfleet-concepts.md#instance-weight)及[總目標容量](crfleet-concepts.md#target-capacity)。

建立機群時，您必須指定要使用的執行個體類型，以及每個執行個體類型的優先順序。如需詳細資訊，請參閱[分配策略](crfleet-concepts.md#allocation-strategy)及[執行個體類型優先順序](crfleet-concepts.md#instance-priority)。

**注意**  
第一次建立容量預留機群時，會在您的帳戶中自動建立 **AWSServiceRoleForEC2CapacityReservationFleet** 服務連結角色。如需詳細資訊，請參閱 [使用容量保留機群的服務連結角色使用 EC2 容量管理器的服務連結角色](using-service-linked-roles.md)。

容量預留機群目前支援 `open` 執行個體符合條件。

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

**若要建立容量預留機群**  
請使用 [create-capacity-reservation-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation-fleet.html) 命令。

```
aws ec2 create-capacity-reservation-fleet \
    --total-target-capacity 24 \
    --allocation-strategy prioritized \
    --instance-match-criteria open \
    --tenancy default \
    --end-date 2021-12-31T23:59:59.000Z \
    --instance-type-specifications file://instanceTypeSpecification.json
```

`instanceTypeSpecification.json` 的內容如下。

```
[
  {
    "InstanceType": "m5.xlarge",
    "InstancePlatform": "Linux/UNIX",
    "Weight": 3.0,
    "AvailabilityZone":"us-east-1a",
    "EbsOptimized": true,
    "Priority" : 1
  }
]
```

以下為範例輸出。

```
{
    "Status": "submitted", 
    "TotalFulfilledCapacity": 0.0, 
    "CapacityReservationFleetId": "crf-abcdef01234567890", 
    "TotalTargetCapacity": 24
}
```

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

**建立容量保留機群**  
使用 [New-EC2CapacityReservationFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2CapacityReservationFleet.html) cmdlet。

```
New-EC2CapacityReservationFleet `
    -TotalTargetCapacity 24 `
    -AllocationStrategy "prioritized" `
    -InstanceMatchCriterion "open" `
    -Tenancy "default" `
    -EndDate 2021-12-31T23:59:59.000Z `
    -InstanceTypeSpecification $specification
```

規格定義如下。

```
$specification = New-Object Amazon.EC2.Model.ReservationFleetInstanceSpecification
$specification.InstanceType = "m5.xlarge"
$specification.InstancePlatform = "Linux/UNIX"
$specification.Weight = 3.0
$specification.AvailabilityZone = "us-east-1a"
$specification.EbsOptimized = $true
$specification.Priority = 1
```

------

# 修改容量預留機群
<a name="modify-crfleet"></a>

您可以隨時修改容量預留機群的總目標容量和日期。修改容量預留叢集的總目標容量時，機群會自動建立新的容量預留，或者修改或取消機群中的現有容量預留，以滿足新的總目標容量。修改機群的結束日期時，會相應地更新所有個別容量預留的結束日期。

**考量事項**
+ 修改機群後，其狀態會轉換為 `modifying`。您無法在機群處於 `modifying` 狀態時，嘗試對機群進行額外修改。
+ 您無法修改容量預留機群使用的租用、可用區域、執行個體類型、執行個體平台、優先順序或權重。如果您必須變更任一參數，可能需要取消現有機群，並以所需參數建立新機群。
+ 您無法在相同命令中指定 `--end-date` 和 `--remove-end-date`。

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

**若要修改容量預留機群**  
請使用 [modify-capacity-reservation-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-capacity-reservation-fleet.html) 命令。

**範例 1：修改總目標容量**

```
aws ec2 modify-capacity-reservation-fleet \
    --capacity-reservation-fleet-id crf-01234567890abcedf \
    --total-target-capacity 160
```

**範例 2：修改結束日期**

```
aws ec2 modify-capacity-reservation-fleet \
    --capacity-reservation-fleet-id crf-01234567890abcedf \
    --end-date 2021-07-04T23:59:59.000Z
```

**範例 3：移除結束日期**

```
aws ec2 modify-capacity-reservation-fleet \
    --capacity-reservation-fleet-id crf-01234567890abcedf \
    --remove-end-date
```

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

**若要修改容量預留機群**  
使用 [Edit-EC2CapacityReservationFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2CapacityReservationFleet.html) cmdlet。

**範例 1：修改總目標容量**

```
Edit-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-01234567890abcedf `
    -TotalTargetCapacity 160
```

**範例 2：修改結束日期**

```
Edit-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-01234567890abcedf `
    -EndDate 2021-07-04T23:59:59.000Z
```

**範例 3：移除結束日期**

```
Edit-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-01234567890abcedf `
    -RemoveEndDate
```

------

# 取消容量預留機群
<a name="cancel-crfleet"></a>

不再需要容量預留機群及其預留的容量時，您可以取消該機群。取消機群時，其狀態會變更為 `cancelled`，且無法再建立新的容量預留。此外，將取消機群的所有個別容量保留。先前在預留容量執行的執行個體會繼續以共用容量正常執行。

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

**取消容量保留機群**  
請使用 [cancel-capacity-reservation-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-capacity-reservation-fleets.html) 命令。

```
aws ec2 cancel-capacity-reservation-fleets \
    --capacity-reservation-fleet-ids crf-abcdef01234567890
```

以下為範例輸出。

```
{
    "SuccessfulFleetCancellations": [
        {
            "CurrentFleetState": "cancelling", 
            "PreviousFleetState": "active", 
            "CapacityReservationFleetId": "crf-abcdef01234567890"
        }
    ], 
    "FailedFleetCancellations": []
}
```

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

**取消容量保留機群**  
使用 [Stop-EC2CapacityReservationFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2CapacityReservationFleet.html) cmdlet。

```
Stop-EC2CapacityReservationFleet `
    -CapacityReservationFleetId crf-abcdef01234567890
```

------

# 容量預留機群組態範例
<a name="crfleet-example-configs"></a>

以下範例會建立容量預留機群，此機群使用兩種執行個體類型：`m5.4xlarge` 和 `m5.12xlarge`。

它會根據指定執行個體類型提供的 vCPU 數量使用加權系統。總目標容量為 `480` 個 vCPU。`m5.4xlarge` 提供 16 個 vCPU，取得權重 `16`，而 `m5.12xlarge` 提供 48 個 vCPU，取得權重 `48`。此加權系統會設定容量預留機群，為 30 個 `m5.4xlarge` 執行個體 (480/16=30)，或 10 個 `m5.12xlarge` 執行個體 (480/48= 10) 預留容量。

機群設定為優先預留 `m5.12xlarge` 容量，取得優先順序 `1`，而 `m5.4xlarge` 取得較低的優先順序 `2`。這表示機群會嘗試先預留 `m5.12xlarge` 容量，並只在 Amazon EC2 `m5.12xlarge` 容量不足時，嘗試預留 `m5.4xlarge` 容量。

機群會為 `Windows` 執行個體預留容量，且該預留會在 `October 31, 2021` `23:59:59` UTC 自動過期。

```
aws ec2 create-capacity-reservation-fleet \
    --total-target-capacity 480 \
    --allocation-strategy prioritized \
    --instance-match-criteria open \
    --tenancy default \
    --end-date 2021-10-31T23:59:59.000Z \
    --instance-type-specifications file://instanceTypeSpecification.json
```

`instanceTypeSpecification.json` 內容如下。

```
[
    {             
        "InstanceType": "m5.4xlarge",                        
        "InstancePlatform":"Windows",            
        "Weight": 16,
        "AvailabilityZone":"us-east-1a",        
        "EbsOptimized": true,            
        "Priority" : 2
    },
    {             
        "InstanceType": "m5.12xlarge",                        
        "InstancePlatform":"Windows",            
        "Weight": 48,
        "AvailabilityZone":"us-east-1a",        
        "EbsOptimized": true,            
        "Priority" : 1
    }
]
```

# 使用容量保留機群的服務連結角色
<a name="using-service-linked-roles"></a>

隨需容量保留機群使用 AWS Identity and Access Management (IAM) [服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)。服務連結角色是直接連結至容量預留機群的一種特殊 IAM 角色類型。服務連結角色由容量保留機群預先定義，並包含服務代表您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓設定容量預留機群更為簡單，因為您不必手動新增必要的許可。容量預留機群定義其服務連結角色的許可，除非另有定義，否則僅有容量預留機群可以擔任其角色。定義的許可包括信任政策和許可政策，且該許可政策無法附加至其他 IAM 實體。

您必須先刪除服務連結角色的相關資源，才能將其刪除。如此可保護您的容量預留機群資源，避免您不小心移除資源的存取許可。

## 容量保留機群的服務連結角色許可
<a name="slr-permissions"></a>

容量保留機群使用名稱為 **AWSServiceRoleForEC2CapacityReservationFleet** 的服務連結角色，代您建立、描述、修改，以及取消容量保留機群中建立的容量保留。

AWSServiceRoleForEC2CapacityReservationFleet 服務連結角色信任下列實體可擔任該角色：
+ `capacity-reservation-fleet.amazonaws.com`

角色使用 `AWSEC2CapacityReservationFleetRolePolicy` AWS 受管政策。如需詳細資訊，請參閱[AWS 受管政策： AWSEC2CapacityReservationFleetRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy)。

您必須設定許可，IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊，請參閱 *IAM 使用者指南*中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html#service-linked-role-permissions)。

## 建立容量保留機群的服務連結角色
<a name="create-slr"></a>

您不需要手動建立服務連結角色，當您使用 `create-capacity-reservation-fleet` AWS CLI 命令或 `CreateCapacityReservationFleet` API 建立容量保留機群時，會自動為您建立服務連結角色。

若您刪除此服務連結角色，之後需要再次建立，您可以在帳戶中使用相同程序重新建立角色。建立容量預留機群時，容量預留機群會再次為您建立服務連結角色。

## 編輯容量保留機群的服務連結角色
<a name="edit-slr"></a>

容量預留機群不允許您編輯 AWSServiceRoleForEC2CapacityReservationFleet 服務連結角色。因為有各種實體可能會參考服務連結角色，所以您無法在建立角色之後變更角色名稱。然而，您可使用 IAM 來編輯角色描述。如需詳細資訊，請參閱 *IAM 使用者指南*中的[編輯服務連結角色描述](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console)。

## 刪除容量保留機群的服務連結角色
<a name="delete-slr"></a>

若您不再使用需要服務連結角色的功能或服務，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。然而，在手動刪除服務連結角色之前，您必須先刪除資源。

**注意**  
若容量預留機群服務在您試圖刪除資源時正在使用該角色，刪除可能會失敗。若此情況發生，請等待數分鐘後並再次嘗試操作。

**若要刪除 AWSServiceRoleForEC2CapacityReservationFleet 服務連結角色**

1. 使用 `delete-capacity-reservation-fleet` AWS CLI 命令或 `DeleteCapacityReservationFleet` API 來刪除您帳戶中的容量保留機群。

1. 使用 IAM 主控台 AWS CLI、 或 AWS API 來刪除 AWSServiceRoleForEC2CapacityReservationFleet 服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr)。

## 容量保留機群服務連結角色的支援區域
<a name="slr-regions"></a>

容量預留機群支援在所有提供服務的區域中，使用服務連結角色。如需詳細資訊，請參閱 [AWS 區域與端點](https://docs.aws.amazon.com/general/latest/gr/ec2-service.html#ec2_region)。

# 使用 CloudWatch 指標監控容量保留用量
<a name="capacity-reservation-cw-metrics"></a>

透過 CloudWatch 指標，您可以設定 CloudWatch 警示，在達到用量閾值時通知您，以有效率地監控 容量預留 和識別未使用的容量。這可協助您維護經常使用的 容量預留 磁碟區，並達到更高層級的使用率。

容量保留每隔五分鐘會將指標資料傳送給 CloudWatch。作用中時間少於五分鐘的 容量預留 不支援指標。

如需有關在 CloudWatch 主控台中檢視指標的詳細資訊，請參閱[使用 Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)。如需有關建立警示的詳細資訊，請參閱[建立 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。

**Topics**
+ [容量預留 用量指標](#capacity-reservation-usage-metrics)
+ [容量預留 指標維度](#capacity-reservation-dimensions)
+ [檢視 容量預留 的 CloudWatch 指標](#viewing-capacity-reservation-metrics)

## 容量預留 用量指標
<a name="capacity-reservation-usage-metrics"></a>

`AWS/EC2CapacityReservations` 命名空間包含下列用量指標，可讓您用來監控和維護您針對預留指定之閾值內的隨需容量。


| 指標 | 描述 | 
| --- | --- | 
|  UsedInstanceCount |  目前正在使用的執行個體數量。 單位：計數  | 
|  AvailableInstanceCount  |  可供使用的執行個體數量。 單位：計數  | 
|  TotalInstanceCount  |  您已預留的執行個體總數。 單位：計數  | 
|  InstanceUtilization  |  目前正在使用的預留容量執行個體百分比。 單位：百分比  | 

## 容量預留 指標維度
<a name="capacity-reservation-dimensions"></a>

您可以使用下列維度，在選定區域和帳戶強化上表中列出的指標。


|  維度  |  Description  | 
| --- | --- | 
|  (無維度)  |  此維度篩選所有容量保留的指定指標。  | 
|  CapacityReservationId  |  此維度會篩選已識別容量保留的指定指標。  | 
|  InstanceType  |  此維度會篩選已識別執行個體類型的指定指標。  | 
|  AvailabilityZone  |  此維度會篩選已識別可用區域的指定指標。  | 
|  InstanceMatchCriteria  |  此維度會篩選已識別執行個體符合條件 (`open` 或 `targeted`) 的指定指標。  | 
|  InstancePlatform  |  此維度會篩選已識別平台的指定指標資料。  | 
|  Tenancy  |  此維度會篩選已識別租用的指定指標。  | 

## 檢視 容量預留 的 CloudWatch 指標
<a name="viewing-capacity-reservation-metrics"></a>

指標會先依服務命名空間分組，再依支援的維度分組。您可以使用下列程序檢視 容量預留 的指標。

**使用 CloudWatch 主控台檢視 容量預留 指標**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 如有必要請變更區域。從導覽列，選取您 容量預留 所在的「區域」。如需詳細資訊，請參閱[區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

1. 在導覽窗格中，選擇 **Metrics** (指標)。

1. 針對**所有指標**，選擇 **EC2 容量預留**。

1. 從前述指標維度中選擇，包括**所有容量保留**、**按容量保留**、**按執行個體類型**、**按可用性區域**、**按平台**、**按執行個體匹配條件**或**按租用**，指標將分別按以下方式分組：無維度、`CapacityReservationId`、`InstanceType`、`AvailabilityZone`、`Platform`、`InstanceMatchCriteria` 和 `Tenancy`。

1. 若要排序指標，請使用欄標題。若要將指標圖形化，請勾選指標旁的核取方塊。

**使用 檢視容量保留指標 AWS CLI**  
使用下列 [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 命令：

```
aws cloudwatch list-metrics --namespace "AWS/EC2CapacityReservations"
```

# 監控容量保留使用率不足
<a name="cr-eventbridge"></a>

您可使用以下方式來監控容量保留使用率不足：

**Topics**
+ [Amazon EventBridge 事件](#cr-underutilization-events)
+ [電子郵件和 AWS Health 儀表板通知](#monitor-cr-utilization)

## Amazon EventBridge 事件
<a name="cr-underutilization-events"></a>

AWS Health 當您帳戶中的容量保留在特定期間內低於 20% 用量時， 會將事件傳送至 Amazon EventBridge。您可以使用 EventBridge 建立可觸發程式設計動作的規則來回應這類事件。例如您可以建立一個「容量保留在過去 7 天的使用率低於 20% 時，自動取消該容量保留」的規則。

EventBridge 中的事件以 JSON 物件表示。事件的獨特欄位會包含在 JSON 物件的 "detail" 區段中。"event" 欄位則包含事件名稱。"result" 欄位包含觸發事件之動作的完成狀態。如需詳細資訊，請參閱「Amazon EventBridge 使用者指南」**中的「[Amazon EventBridge 事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)」。

如需詳細資訊，請參閱[「Amazon EventBridge 使用者指南」](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。

不支援此功能 AWS GovCloud (US)。

### 事件
<a name="cr-eventbridge-events"></a>

AWS Health 當容量保留的容量使用量低於 20% 時， 會傳送下列事件。
+ `AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION`

  以下例子顯示新建立的容量保留在過去 24 小時的使用量低於 20% 時產生的事件。

  ```
  {
      "version": "0",
      "id": "b3e00086-f271-12a1-a36c-55e8ddaa130a",
      "detail-type": "AWS Health Event",
      "source": "aws.health",
      "account": "123456789012",
      "time": "2023-03-10T12:03:38Z",
      "region": "ap-south-1",
      "resources": [
          "cr-01234567890abcdef"
      ],
      "detail": {
          "eventArn": "arn:aws:health:ap-south-1::event/EC2/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_cr-01234567890abcdef-6211-4d50-9286-0c9fbc243f04",
          "service": "EC2",
          "eventTypeCode": "AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION",
          "eventTypeCategory": "accountNotification",
          "startTime": "Fri, 10 Mar 2023 12:03:38 GMT",
          "endTime": "Fri, 10 Mar 2023 12:03:38 GMT",
          "eventDescription": [
              {
                  "language": "en_US",
                  "latestDescription": "A description of the event will be provided here"
              }
          ],
          "affectedEntities": [
              {
                  "entityValue": "cr-01234567890abcdef"
              }
          ]
      }
      }
  ```
+ `AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY`

  以下例子顯示一個或多個容量保留在過去 7 天的使用量低於 20% 時產生的事件。

  ```
  { 
      "version": "0", "id":"7439d42b-3c7f-ad50-6a88-25e2a70977e2", 
      "detail-type": "AWS Health Event", 
      "source": "aws.health", 
      "account": "123456789012", 
      "time": "2023-03-07T06:06:01Z", 
      "region": "us-east-1", 
      "resources": [ 
          "cr-01234567890abcdef | us-east-1b | t3.medium | Linux/UNIX | 0.0%", 
          "cr-09876543210fedcba | us-east-1a | t3.medium | Linux/UNIX | 0.0%" 
      ], 
      "detail": { 
          "eventArn": "arn:aws:health:us-east-1::event/EC2/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY/AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY_726c1732-d6f6-4037-b9b8-bec3c2d3ba65", 
          "service": "EC2", 
          "eventTypeCode": "AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION_SUMMARY", 
          "eventTypeCategory": "accountNotification", 
          "startTime": "Tue, 7 Mar 2023 06:06:01 GMT", 
          "endTime": "Tue, 7 Mar 2023 06:06:01 GMT", 
          "eventDescription": [
              { 
                  "language": "en_US", 
                  "latestDescription": "A description of the event will be provided here" 
              }
          ], 
          "affectedEntities": [
              { 
                  "entityValue": "cr-01234567890abcdef | us-east-1b | t3.medium | Linux/UNIX | 0.0%" 
              }, 
              { 
                  "entityValue": "cr-09876543210fedcba | us-east-1a | t3.medium | Linux/UNIX | 0.0%" 
              }
          ]
      }
  }
  ```

### 建立 EventBridge 規則
<a name="cr-eventbridge-use"></a>

若要在容量保留使用率降至 20% 以下時收到電子郵件通知，請建立 Amazon SNS 主題，然後為 `AWS_EC2_ODCR_UNDERUTILIZATION_NOTIFICATION` 事件建立 EventBridge 規則。

**建立 Amazon SNS 主題**

1. 在 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 開啟 Amazon SNS 主控台。

1. 在導覽窗格中選擇 **Topics** (主題)，然後選擇 **Create topic** (建立主題)。

1. 針對**類型**，選擇**標準**。

1. 在**名稱**中輸入新主題的名稱。

1. 請選擇**建立主題**。

1. 選擇**建立訂閱**。

1. 在**通訊協定**中選擇**電子郵件**，然後在**端點**中輸入接收通知的電子郵件地址。

1. 選擇**建立訂閱**。

1. 您會在上方輸入的電子郵件地址收到主旨列如下的電子郵件訊息：`AWS Notification - Subscription Confirmation`。請依照指示來確認訂閱。

**若要建立 EventBridge 規則**

1. 在 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格中，選擇 **Rules** (規則)，然後選擇 **Create rule** (建立規則)。

1. 在**名稱**中輸入新規則的名稱。

1. 針對**規則類型**，選擇**具有事件模式的規則**。

1. 選擇**下一步**。

1. 在**事件模式**中執行下列動作：

   1. 在**事件來源**欄位中，選擇 **AWS 服務**。

   1. 在**AWS 服務**中選擇 **AWS Health**。

   1. 在**事件類型**中選擇 **EC2 ODCR 使用率不足通知**。

1. 選擇**下一步**。

1. 對**目標 1**執行下列動作：

   1. 在**目標類型**欄位中，選擇 **AWS 服務**。

   1. 對於 **Select a target** (選取目標)，選擇 **SNS topic** (SNS 主題)。

   1. 為**主題**選擇您剛剛建立的主題。

1. 選擇**下一步**，然後再選擇一次**下一步**。

1. 選擇**建立規則**。

## 電子郵件和 AWS Health 儀表板通知
<a name="monitor-cr-utilization"></a>

AWS Health 當您帳戶中容量保留的容量使用率低於 20% 時， 會傳送下列電子郵件和 Health 儀板表 通知。
+ 每個新建立的容量保留在過去 24 小時使用率低於 20% 的個別通知。
+ 所有容量保留在過去 7 天使用率低於 20% 的摘要通知。

電子郵件通知和 Health 儀板表 通知會傳送到與擁有容量預留 AWS 的帳戶相關聯的電子郵件地址。通知包含以下資訊：
+ 容量保留 ID。
+ 容量保留的可用區域。
+ 容量保留的平均使用率。
+ 容量保留的執行個體類型和平台 (作業系統)。

此外，當您帳戶中容量保留的容量使用率在 24 小時和 7 天內低於 20% 時， 會將事件 AWS Health 傳送至 EventBridge。使用 EventBridge，您可以建立啟用自動動作的規則，例如傳送電子郵件通知或觸發 AWS Lambda 函數，以回應此類事件。如需詳細資訊，請參閱[監控容量保留使用率不足](#cr-eventbridge)。

# 監控未來日期容量保留的狀態變更
<a name="monitor-fcr-state"></a>

若未來日期容量保留的狀態變更，Amazon EC2 會傳送事件至 Amazon EventBridge。

以下為此事件的範例。在此範例中，未來日期的容量保留已進入 `scheduled` 狀態。注意 `detail-type` 欄位中醒目顯示的狀態。

```
{
   "version":"0",
   "id":"12345678-1234-1234-1234-123456789012",
   "detail-type":"EC2 Capacity Reservation Scheduled",
   "source":"aws.ec2",
   "account":"123456789012",
   "time":"yyyy-mm-ddThh:mm:ssZ",
   "region":"us-east-1",
   "resources":[
      "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdefg"
   ],
   "detail":{
      "capacity-reservation-id":"cr-1234567890abcdefg",
      "state":"scheduled"
   }
}
```

`detail-type` 欄位可能的值包括：
+ `Scheduled`
+ `Active`
+ `Delayed`
+ `Unsupported`
+ `Failed`
+ `Expired`

如需這些狀態的詳細資訊，請參閱 [檢視容量保留狀態](capacity-reservations-view.md)。

您可建立 Amazon EventBridge 事件來監控這些事件，然後在事件發生時觸發特定動作。若要了解詳細資訊，請參閱[在 Amazon EventBridge 中建立回應事件的規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)。

如需建立針對所有狀態變更事件的規則，您可使用以下事件模式。

```
{
  "source": ["aws.ec2"],
  "detail-type": [{
    "prefix": "EC2 Capacity Reservation"
  }]
}
```

如需建立僅針對特定狀態變更的規則，您可使用以下事件模式。

```
{
  "source": ["aws.ec2"],
  "detail-type": [{
    "prefix": "EC2 Capacity Reservation state"
  }]
}
```

舉例來說，若未來日期的容量保留進入 `active` 狀態，以下事件模式可監控此時傳送的事件。

```
{
  "source": ["aws.ec2"],
  "detail-type": [{
    "prefix": "EC2 Capacity Reservation Active"
  }]
}
```

# 可中斷的容量保留
<a name="interruptible-capacity-reservations"></a>

可中斷的容量預留可協助您暫時為帳戶中的其他工作負載提供未使用的容量。這可讓您控制在需要時回收容量。當您回收容量時，中斷保留內執行的任何執行個體都會終止。建立可中斷的保留之後，您可以使用 AWS Resource Access Manager (RAM) 與其他 AWS 帳戶或 AWS 組織共用。

當您在離峰期間、部署之間或工作負載縮減時有未使用的預留容量時，請使用可中斷的容量預留。如果您知道另一個團隊可以使用此容量，您可以透過建立可中斷的容量保留來提供此容量。當您的關鍵工作負載需要取回容量時，您可以回收它。

您可以使用可中斷的容量保留做為下列其中一項：
+ **容量擁有者** – 您擁有來源容量保留，並建立可中斷的容量保留，與其他團隊共用未使用的容量，同時保留控制權以在需要時回收。
+ **容量取用**者 – 您會在共用的可中斷保留中啟動執行個體，了解當擁有者回收容量時，您的執行個體可能會終止。

**Topics**
+ [運作方式](#how-interruptible-cr-works)
+ [帳單](#interruptible-cr-billing)
+ [考量事項](#interruptible-cr-considerations)
+ [容量擁有者的可中斷容量保留](capacity-owner-procedures.md)
+ [容量消費者的可中斷容量保留](capacity-consumer-procedures.md)
+ [使用 EventBridge 和 CloudTrail 監控可中斷的容量保留](monitor-interruptible-cr.md)

## 運作方式
<a name="how-interruptible-cr-works"></a>

若要讓其他團隊使用未使用的容量，請指定您要從來源保留共用的未使用執行個體數量，以建立可中斷的保留。當您建立可中斷保留時，我們會將這些執行個體從您的來源保留轉移到您帳戶中的新可中斷保留。

我們會保留來源保留與中斷容量保留之間的關聯。因此，當您回收容量時，任何執行中的取用者執行個體都會終止，並將容量還原至原始來源保留。

主要特色
+ 讓未使用的容量暫時可用，同時維持回收的控制權
+ 隨時回收容量。如需詳細資訊，請參閱[回收程序和追蹤](capacity-owner-procedures.md#reclamation-process)
+ 使用 AWS Resource Access Manager (RAM) 與其他帳戶或您的 AWS 組織共用

## 帳單
<a name="interruptible-cr-billing"></a>

當您建立可中斷的保留時，系統會以獨立新保留的形式向您收費。這會分割您的帳單：
+ 來源保留：系統會向您收取總容量減去配置容量的費用
+ 可中斷的保留：您需要支付配置容量的費用

如需隨需容量保留計費的詳細資訊，請參閱[容量保留定價和計費](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-pricing-billing.html)。

## 考量事項
<a name="interruptible-cr-considerations"></a>

使用可中斷的容量保留之前，請檢閱適用於容量擁有者和消費者的下列限制和要求。

### 容量擁有者
<a name="capacity-owner-considerations"></a>
+ 您無法直接修改或取消可中斷的容量保留。若要編輯，請更新從來源容量保留配置的容量。
+ 您只能檢視、啟動、標記、共用和指派可中斷保留的帳單。
+ 每個來源容量保留只能建立一個可中斷的配置。

### 容量取用者
<a name="capacity-consumer-considerations"></a>
+ 根據預設，可中斷的容量保留是目標容量保留，因此您需要在執行個體啟動時將其設為目標。
+ 您無法將可中斷的容量保留新增至容量保留群組。
+ 我們建議您只對可中斷的應用程式使用可中斷的容量保留。
+ 當擁有者回收容量時，您的執行個體將會終止 - 不會回復到隨需或 Spot。如需詳細資訊，請參閱[中斷體驗](capacity-consumer-procedures.md#interruption-experience)。

# 容量擁有者的可中斷容量保留
<a name="capacity-owner-procedures"></a>

容量擁有者是擁有來源容量保留的帳戶，並建立可中斷的容量保留，與其他團隊共用未使用的容量，同時保留控制權以在需要時回收。

本節涵蓋您 （容量擁有者） 如何建立、修改、回收和追蹤可中斷的容量保留。

**Topics**
+ [建立可中斷的容量保留](#creating-interruptible-cr)
+ [檢視您的中斷容量保留](#view-interruptible-cr)
+ [修改您的中斷容量保留](#modify-interruptible-cr)
+ [回收程序和追蹤](#reclamation-process)
+ [共用可中斷的保留](#sharing-interruptible-reservations)

## 建立可中斷的容量保留
<a name="creating-interruptible-cr"></a>

建立可中斷的容量保留，讓來源保留中未使用的容量可供其他工作負載使用，同時保持控制以在需要時回收。

### 先決條件
<a name="interruptible-cr-prerequisites"></a>

在建立可中斷的配置之前，請確定您的來源隨需容量保留符合下列要求：
+ 您的容量保留必須處於作用中狀態，未設定結束日期。您無法從待定、過期、已取消或已排定結束日期的保留中建立配置。
+ 您的容量保留必須具有可用的容量才能配置。您只能配置可用的執行個體 （也稱為未使用的容量）。
+ 每個來源容量保留只能建立一個可中斷的配置。如果配置已存在，您必須先修改或取消配置，才能建立新的配置。
+ 您一次最多可以將 1000 個執行個體配置給可中斷的容量保留。

使用 可以使用 主控台或 AWS CLI 來建立可中斷的容量保留。

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

**建立可中斷的容量保留**

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

1. 選擇**容量預留**。

1. 選取您的容量保留。

1. 選擇**動作**、**建立可中斷的配置**。

1. 針對**要配置的執行個體**，輸入要配置的執行個體數量。

1. (選用) 新增標籤。

1. 選擇**建立可中斷的容量配置**。

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

**建立可中斷的容量保留**  
使用 [create-interruptible-capacity-reservation-allocation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-interruptible-capacity-reservation-allocation.html) 命令：

```
aws ec2 create-interruptible-capacity-reservation-allocation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --instance-count 10
```

------

## 檢視您的中斷容量保留
<a name="view-interruptible-cr"></a>

建立可中斷的容量保留之後，您可以檢視帳戶中或從特定資源中可中斷的保留。

### 檢視您帳戶中所有可中斷的容量保留
<a name="view-all-interruptible-cr"></a>

使用下列程序來檢視您帳戶中的中斷容量保留。

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

**檢視您帳戶中的中斷容量保留**

1. 前往 主控台中的容量保留頁面。

1. 在類型欄中尋找**具有可中斷**的保留。

1. 選取可中斷的保留以檢視詳細資訊。

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

**檢視您帳戶中的可中斷容量保留**

```
aws ec2 describe-capacity-reservations \
    --capacity-reservation-id cr-interruptible-id \
    --filters Name=interruptible,Values=true
```

------

### 從特定來源檢視可中斷的容量保留
<a name="view-interruptible-cr-from-source"></a>

使用下列程序來檢視從特定來源容量保留建立的中斷容量保留。

```
aws ec2 describe-capacity-reservations \
    --capacity-reservation-id cr-source-id
```

在回應中，您會找到包含可中斷容量保留 ID 和配置詳細資訊的`interruptibleCapacityAllocations`物件。如需回應結構的相關資訊，請參閱《*Amazon EC2 API 參考*》中的 [InterruptibleCapacityAllocation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InterruptibleCapacityAllocation.html)。

## 修改您的中斷容量保留
<a name="modify-interruptible-cr"></a>

使用下列程序來編輯或取消您的中斷容量保留。

**注意**  
當您減少配置時，我們會先回收可用的執行個體，然後執行執行個體，直到達到請求的計數為止。如果我們可以完全符合可用執行個體的計數，則不會發生終止。所有已配置執行個體計數的修改都是透過來源容量保留完成，而不是直接在可中斷的容量保留上完成。
您一次最多只能修改 1000 個執行個體的可中斷容量保留 （增加或減少）。

### 編輯您的中斷容量保留
<a name="edit-interruptible-allocation"></a>

使用下列程序來編輯您的中斷容量保留。

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

1. 在來源容量保留詳細資訊頁面中，選擇**動作**。然後，**編輯可中斷的容量保留**。

1. 針對**要配置的執行個體**，輸入新的號碼：
   + 新增更多容量來共用
   + 將容量回收至來源容量保留

1. 選擇**更新**。

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

```
aws ec2 update-interruptible-capacity-reservation-allocation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --target-instance-count 80
```

------

### 取消您的中斷容量保留
<a name="cancel-interruptible-allocation"></a>

使用下列程序永久移除配置並傳回所有容量。

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

1. 從來源容量保留詳細資訊頁面，導覽至中斷容量分配詳細資訊。

1. 選擇**編輯可中斷的配置**。

1. 針對執行個體計數，輸入 **0**。

1. 選擇**更新**。

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

```
aws ec2 update-interruptible-capacity-reservation-allocation \
--capacity-reservation-id cr-1234567890abcdef0 \
--target-instance-count 0
```

------

## 回收程序和追蹤
<a name="reclamation-process"></a>

當您回收容量時：
+ 執行中的執行個體會透過 EventBridge 事件收到 2 分鐘的中斷警告。
+ 在通知期間之後，在回收容量中執行的執行個體會進入關閉狀態並終止。
+ 終止時，回收的執行個體可在來源容量保留中使用，以供立即使用。
+ 完成時，您的配置狀態會從**更新**變更為**作用中**。

完成回收可能需要幾分鐘的時間，具體取決於執行個體類型和關閉時間。如需程序完成時所收到 EventBridge 通知的詳細資訊，請參閱 [回收完成](monitor-interruptible-cr.md#reclamation-completion)。

### 追蹤回收狀態
<a name="track-reclamation-status"></a>

透過描述您的來源保留來監控回收進度：

```
aws ec2 describe-capacity-reservations \
--capacity-reservation-id cr-1234567890abcdef0
```

回應會顯示 `interruptibleCapacityAllocation` 物件中的這些欄位：
+ `instance-count`：目前配置的執行個體
+ `target-instance-count`：回收後請求的數量
+ `status`：在回收期間**更新**，並在完成時**啟用** 

## 共用可中斷的保留
<a name="sharing-interruptible-reservations"></a>

您只能使用 AWS Resource Access Manager (RAM) 在 AWS 組織內共用可中斷的保留。

考量：
+ 如果取用者帳戶離開您的組織，中斷保留會自動從該帳戶取消共用。
+ 在未共用保留中執行的任何執行個體最終都會終止。
+ 所有其他共用功能的運作方式與標準容量預留相同。

如需完整的共用程序，請參閱[共用容量預留](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservation-sharing.html)。

# 容量消費者的可中斷容量保留
<a name="capacity-consumer-procedures"></a>

容量取用者是將執行個體啟動至共用可中斷容量保留的帳戶，了解當擁有者回收容量時，其執行個體可能會終止。

本節涵蓋您 （容量取用者） 如何在可中斷的容量保留中啟動執行個體，並了解擁有者回收容量時會發生的情況。

**Topics**
+ [檢視可中斷的容量保留](#view-interruptible-cr-consumer)
+ [在可中斷的保留中啟動執行個體](#launch-instances-interruptible)
+ [中斷體驗](#interruption-experience)

## 檢視可中斷的容量保留
<a name="view-interruptible-cr-consumer"></a>

使用下列程序來檢視可中斷的容量保留。

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

**檢視您帳戶中的可中斷容量保留**

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

1. 選擇**容量預留**。

1. 在**類型**欄中，尋找標記為**可中斷**的保留。

1. 請注意要用於執行個體啟動IDs。

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

**尋找您帳戶中所有可中斷的容量保留**  
使用 [describe-capacity-reservations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-capacity-reservations.html) 命令：

```
aws ec2 describe-capacity-reservations \
--filters Name=state,Values=active
```

在回應`true`中尋找`Interruptible`設定為 的保留。

**專門針對可中斷的保留進行篩選**  
使用下列命令：

```
aws ec2 describe-capacity-reservations \
--capacity-reservation-ids cr-example123 \
--query 'CapacityReservations[?Interruptible==`true`]'
```

------

**注意**  
根據預設，可中斷的容量保留是目標容量保留，因此您需要在執行個體啟動時特別將它們設為目標。與開啟的保留不同，可中斷的保留不會自動涵蓋相符的執行個體。您必須在啟動時明確指定保留 ID。

## 在可中斷的保留中啟動執行個體
<a name="launch-instances-interruptible"></a>

使用下列程序，將 Amazon EC2 執行個體啟動至您帳戶中的中斷容量預留。

**注意**  
我們建議您只對可中斷的應用程式使用可中斷的容量保留。

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

**在可中斷的容量保留中啟動執行個體**

1. 開啟位於 https：//[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 主控台。

1. 在 Amazon EC2 儀表板中，選擇 **Launch Instance (啟動執行個體)**。

1. 設定執行個體設定。

1. 在容量保留的**進階詳細資訊**中，選擇**在作用中保留中啟動可中斷的執行個體**。

1. 選取可中斷的保留 ID 和新的執行個體購買選項。

1. 選擇**啟動執行個體**。

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

```
aws ec2 run-instances \
--instance-type m5.large \
--count 2 \
--image-id ami-12345678 \
--instance-market-options '{
    "MarketType": "interruptible-capacity-reservation"
}' \
--capacity-reservation-specification '{
    "CapacityReservationTarget": {
        "CapacityReservationId": "cr-abcdef1234567890"
    }   
}'
```

------

### 使用 Auto Scaling 群組啟動執行個體
<a name="launch-with-asg"></a>

您也可以使用 Auto Scaling 群組搭配啟動範本，將執行個體啟動為可中斷的保留。使用可中斷的市場類型和保留 ID 設定啟動範本，然後使用該範本建立 Auto Scaling 群組。如需詳細資訊，請參閱 [EC2 Auto Scaling 的可中斷容量保留](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-interruptible-capacity-reservations.html)。

## 中斷體驗
<a name="interruption-experience"></a>

當擁有者回收容量時，您會在執行個體終止前 2 分鐘收到中斷通知。此警告是透過 EventBridge 事件，讓您有時間：
+ 儲存您的工作或檢查點您的應用程式
+ 關閉程序
+ 準備執行個體終止

EventBridge 事件包含將終止哪些執行個體的詳細資訊，以及確切的終止時間。如需詳細資訊，請參閱[執行個體中斷警告](monitor-interruptible-cr.md#instance-interruption-warning)。

# 使用 EventBridge 和 CloudTrail 監控可中斷的容量保留
<a name="monitor-interruptible-cr"></a>

可中斷的容量保留會傳送 EventBridge 通知和 CloudTrail 事件，以協助您監控和回應容量變更。

**Topics**
+ [EventBridge 通知](#eventbridge-notifications)
+ [CloudTrail 事件](#cloudtrail-events)

## EventBridge 通知
<a name="eventbridge-notifications"></a>

您會收到兩種類型的 EventBridge 通知。如需如何設定 EventBridge 通知的資訊，請參閱[建立 Amazon EventBridge 規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)。

### 執行個體中斷警告
<a name="instance-interruption-warning"></a>

如果您在可中斷的保留中執行執行個體，您會在執行個體終止前 2 分鐘收到此通知：

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Capacity Reservation Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "[instance owner Account ID]",
    "time": "[Current time in yyyy-mm-ddThh:mm:ssZ]",
    "resources": "[instance arn]",
    "region": "[region]",
    "detail": {
        "instance-id": "[instance-id]",
        "instance-action": "terminate",
        "instance-termination-time": "yyyy-mm-ddThh:mm:ssZ",
        "azId": "[availability-zone-id]"
    }
}
```

### 回收完成
<a name="reclamation-completion"></a>

如果您擁有來源保留，當容量回收完成時，您會收到此通知：

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Interruptible Capacity Reservation Allocation Reclamation Completed",
    "source": "aws.ec2",
    "account": "[source Capacity Reservation Owner Account ID]",
    "time": "[Current time in yyyy-mm-ddThh:mm:ssZ]",
    "region": "us-east-1",
    "resources": ["source_cr_arn"],
    "detail": {
        "sourceCapacityReservationId": "string",
        "instanceType": "string",
        "availabilityZoneId": "string",
        "TotalInstanceCount": "current total count in the source",
        "ReclaimedInstanceCount": "count of instances added to the source",
        "targetInstanceCount": "number"
    }
}
```

## CloudTrail 事件
<a name="cloudtrail-events"></a>

CloudTrail 會將這些事件記錄為可中斷的容量保留：
+ `InterruptibleCapacityReservationCreated` — 當您建立可中斷的配置時
+ `InterruptibleCapacityReservationAllocationUpdated` — 當您修改配置時
+ `InterruptibleCapacityReservationCancelled` — 當您取消配置時
+ `CapacityReservationModified` — 當我們修改配置的來源保留時
+ `InterruptibleCapacityReservationInstancesTerminated` — 當我們在回收期間終止執行個體時

# ML 的容量區塊
<a name="ec2-capacity-blocks"></a>

ML 的容量區塊可讓您為日後預留基於 GPU 的加速運算執行個體，以支援短時間的機器學習 (ML) 工作負載。在容量區塊內執行的執行個體會自動放置在 [Amazon EC2 UltraClusters ](https://aws.amazon.com/ec2/ultraclusters/)內，用於低延遲、PB 級的非封鎖聯網。

您亦可使用容量區塊，來預留 Amazon EC2 UltraServers 的容量。UltraServer 以低延遲、高頻寬加速器互連，來連線多個 Amazon EC2 執行個體。您可藉助 UltraServers，來處理訓練、微調及推論中運算與記憶體最密集的 AI/ML 工作負載。若要了解詳細資訊，請參閱 [Amazon EC2 UltraServer](https://aws.amazon.com/ec2/ultraservers/)。

使用容量區塊，您可以查看未來何時可使用 GPU 執行個體容量，並且可以排定容量區塊在您最方便的時間啟動。保留容量區塊時，您可以獲得 GPU 執行個體的可預測容量保證，同時只須支付所需時間的費用。如果您需要 GPU 一次支援 ML 工作負載數天或數週，且不想在未使用 GPU 執行個體的情況下支付保留費用，建議您使用容量區塊。

以下是容量區塊的一些常見使用案例：
+ **ML 模型訓練和微調** – 不間斷存取保留的 GPU 執行個體，以完成 ML 模型訓練和微調。
+ **ML 實驗和原型** – 進行實驗並建置短時間需要 GPU 執行個體的原型。

容量區塊適用於某些 AWS 區域中的特定執行個體類型。如需詳細資訊，請參閱[支援的執行個體類型和區域](#capacity-blocks-prerequisites)。

您可以保留最多未來八週內的容量區塊。每個容量區塊可包含最多 64 個執行個體，且跨容量區塊可包含最多 256 個執行個體。

**Topics**
+ [支援的執行個體類型和區域](#capacity-blocks-prerequisites)
+ [支援平台](#capacity-blocks-platforms)
+ [考量事項](#capacity-blocks-considerations)
+ [相關資源](#capacity-blocks-related-resources)
+ [Amazon EC2 容量區塊的運作方式](capacity-blocks-how.md)
+ [容量區塊定價和計費](capacity-blocks-pricing-billing.md)
+ [尋找和購買容量區塊](capacity-blocks-purchase.md)
+ [使用容量區塊來啟動執行個體](capacity-blocks-launch.md)
+ [檢視容量區塊](capacity-blocks-view.md)
+ [延長容量區塊](capacity-blocks-extend.md)
+ [共用容量區塊](capacity-blocks-share.md)
+ [為 UltraServer 容量區塊建立一個資源群組](cb-group.md)
+ [使用 EventBridge 監控容量區塊](capacity-blocks-monitor.md)
+ [使用 記錄容量區塊 API 呼叫 AWS CloudTrail](capacity-blocks-logging-using-cloudtrail.md)

## 支援的執行個體類型和區域
<a name="capacity-blocks-prerequisites"></a>

執行個體和 UltraServer 容量區塊可與下列執行個體類型和 AWS 區域搭配使用。

**注意**  
並非所有 AWS 區域的所有執行個體類型都支援 64 個執行個體的容量區塊大小。

### 執行個體容量區塊
<a name="capacity-blocks-instance-prerequisites"></a>
+ **`p6-b300.48xlarge`**
  + 美國西部 （奧勒岡） — `us-west-2`
+ **`p6-b200.48xlarge`**
  + 美國東部 （維吉尼亞北部） — `us-east-1`
  + 美國東部 （俄亥俄） — `us-east-2`
  + 美國西部 （奧勒岡） — `us-west-2`
+ **`p5.4xlarge`**
  + 美國東部 （維吉尼亞北部） — `us-east-1`
  + 美國東部 （俄亥俄） — `us-east-2`
  + 美國西部 （奧勒岡） — `us-west-2`
  + 歐洲 （倫敦） — `eu-west-2`
  + 亞太區域 （孟買） — `ap-south-1`
  + 亞太區域 （東京） — `ap-northeast-1`
  + 亞太區域 （雪梨） — `ap-southeast-2`
  + 南美洲 （聖保羅） — `sa-east-1`
+ **`p5.48xlarge`**
  + 美國東部 （維吉尼亞北部） — `us-east-1`
  + 美國東部 （俄亥俄） — `us-east-2`
  + 美國西部 （加利佛尼亞北部） — `us-west-1`
  + 美國西部 （奧勒岡） — `us-west-2`
  + 歐洲 （斯德哥爾摩） — `eu-north-1`
  + 歐洲 （倫敦） — `eu-west-2`
  + 南美洲 （聖保羅） — `sa-east-1`
  + 亞太區域 （東京） — `ap-northeast-1`
  + 亞太區域 （孟買） — `ap-south-1`
  + 亞太區域 （雪梨） — `ap-southeast-2`
  + 亞太區域 （雅加達） — `ap-southeast-3`
  + 美國東部 （亞特蘭大） 本地區域 — `us-east-1-atl-2a`
+ **`p5e.48xlarge`**
  + 美國東部 （維吉尼亞北部） — `us-east-1`
  + 美國東部 （俄亥俄） — `us-east-2`
  + 美國西部 （加利佛尼亞北部） — `us-west-1`
  + 美國西部 （奧勒岡） — `us-west-2`
  + 歐洲 （斯德哥爾摩） — `eu-north-1`
  + 歐洲 （倫敦） — `eu-west-2`
  + 歐洲 （西班牙） — `eu-south-2`
  + 南美洲 （聖保羅） — `sa-east-1`
  + 亞太區域 （東京） — `ap-northeast-1`
  + 亞太區域 （首爾） — `ap-northeast-2`
  + 亞太區域 （孟買） — `ap-south-1`
  + 亞太區域 （雅加達） — `ap-southeast-3`
  + 美國西部 （鳳凰城） 本地區域 — `us-west-2-phx-2a`
+ **`p4d.24xlarge`**
  + 美國東部 （維吉尼亞北部） — `us-east-1`
  + 美國東部 （俄亥俄） — `us-east-2`
  + 美國西部 （奧勒岡） — `us-west-2`
+ **`p4de.24xlarge`**
  + 美國東部 （維吉尼亞北部） — `us-east-1`
  + 美國西部 （奧勒岡） — `us-west-2`
+ **`trn1.32xlarge`**
  + 美國東部 （維吉尼亞北部） — `us-east-1`
  + 美國東部 （俄亥俄） — `us-east-2`
  + 美國西部 （加利佛尼亞北部） — `us-west-1`
  + 美國西部 （奧勒岡） — `us-west-2`
  + 歐洲 （斯德哥爾摩） — `eu-north-1`
  + 亞太區域 （孟買） — `ap-south-1`
  + 亞太區域 （雪梨） — `ap-southeast-2`
  + 亞太區域 （墨爾本） — `ap-southeast-4`
+ **`trn2.3xlarge `**
  + 亞太區域 （墨爾本） — `ap-southeast-4`
  + 南美洲 （聖保羅） — `sa-east-1`
+ **`trn2.48xlarge`**
  + 美國東部 （俄亥俄） — `us-east-2`

### UltraServer 容量區塊
<a name="capacity-blocks-ultraserver-prerequisites"></a>
+ **`Trn2`**
  + 美國東部 （俄亥俄） — `us-east-2`
+ **`P6e-GB200`**
  + 美國東部 （達拉斯） 本地區域 — `us-east-1-dfw-2a`

## 支援平台
<a name="capacity-blocks-platforms"></a>

ML 容量區塊目前支援具有預設租用的執行個體和 UltraServer。當您使用 AWS 管理主控台 購買容量區塊時，預設平台選項為 Linux/UNIX。當您使用 AWS Command Line Interface (AWS CLI) 或 AWS SDK 購買容量區塊時，可使用下列平台選項：
+ Linux/UNIX
+ Red Hat Enterprise Linux
+ RHEL with HA
+ SUSE Linux
+ Ubuntu Pro

## 考量事項
<a name="capacity-blocks-considerations"></a>

使用容量區塊之前，請考慮下列詳細資訊和限制。
+ 若偵測到影響 UltraServer 容量區塊的損壞，我們會通知您，但通常不會執行動作來終止容量區塊上的執行個體。這樣做是為了最大限度地減少對工作負載的非預期中斷。您可以在收到此通知後繼續使用 UltraServer 容量區塊，或藉由終止容量區塊上的所有執行個體並提交 AWS 支援案例來請求修復。收到您的支援案例之後，我們會在完成修復時通知您，並且您可在 UltraServer 容量區塊上重新啟動執行個體。
+ 若是 `P6e-GB200` UltraServer 容量區塊，必須在容量區塊結束時間之前至少 60 分鐘終止您的執行個體。
+  若要在 Local Zones 中購買和使用容量區塊，您必須選擇加入 Local Zone。
+ 每個容量區塊可包含最多 64 個執行個體，且跨容量區塊可包含最多 256 個執行個體。
+ 您可以描述最快 30 分鐘即可啟動的容量區塊供應項目。
+ 容量區塊在國際標準時間 (UTC) 上午 11 點 30 分結束。
+ 終止容量區塊中執行的執行個體程序會在保留的最後一天國際標準時間 (UTC) 上午 11 點開始。
+ 可以保留最多未來 8 週內的容量區塊。
+ 不可取消容量區塊。
+ UltraServer 容量區塊無法跨 AWS 帳戶或在您的 AWS 組織內共用。
+ 無法[移動](capacity-reservations-move.md)或[分割](capacity-reservations-split.md)容量區塊。
+ 僅 UltraServer 容量區塊可搭配資源群組使用。執行個體容量區塊不可搭配資源群組使用。如需詳細資訊，請參閱[為 UltraServer 容量區塊建立一個資源群組](cb-group.md)。
+ 組織中所有帳戶在容量區塊中可以保留的執行個體總數 AWS ，在特定日期不得超過 256 個執行個體。
+ 若要使用容量區塊，執行個體必須專門鎖定保留 ID。
+ 容量區塊中的執行個體不會計入您的隨需執行個體限制。
+ 對於使用自訂 AMI 的 P5 執行個體，請確保您擁有 [EFA 所需的軟體和設定](gpu-instances-started.md)。
+ 對於 Amazon EKS 受管節點群組，請參閱[使用適用於 ML 的 Amazon EC2 容量區塊建立受管節點群組](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks-mng.html)。對於 Amazon EKS 自我管理節點群組，請參閱[使用自我管理節點來運用 ML 容量區塊](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks.html)。

## 相關資源
<a name="capacity-blocks-related-resources"></a>

建立容量區塊後，您可以使用容量區塊執行以下操作：
+ 在容量區塊中啟動執行個體。如需詳細資訊，請參閱[使用容量區塊來啟動執行個體](capacity-blocks-launch.md)。
+ 建立 Amazon EC2 Auto Scaling 群組。如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**的[使用容量區塊處理機器學習工作負載](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-template-capacity-blocks.html)。
**注意**  
如果您使用 Amazon EC2 Auto Scaling 或 Amazon EKS，您可以在容量區塊保留開始時排定擴展。透過排程擴展， AWS 會自動為您處理重試，因此您不需要擔心實作重試邏輯來處理暫時性故障。
+  使用 AWS 平行運算服務增強 ML 工作流程。如需詳細資訊，請參閱[AWS 平行運算服務的容量區塊支援](https://aws.amazon.com/blogs/hpc/announcing-capacity-blocks-support-for-aws-parallel-computing-service/)。
+ 使用 增強 ML 工作流程 AWS ParallelCluster。如需詳細資訊，請參閱[使用 增強 ML 工作流程 AWS ParallelCluster 和 ML 的 Amazon EC2 容量區塊](https://aws.amazon.com/blogs/hpc/enhancing-ml-workflows-with-aws-parallelcluster-and-amazon-ec2-capacity-blocks-for-ml/)。

 如需 AWS 平行運算服務的詳細資訊，請參閱[什麼是 AWS 平行運算服務](https://docs.aws.amazon.com/pcs/latest/userguide/what-is-service.html)。

 如需 的詳細資訊 AWS ParallelCluster，請參閱[什麼是 AWS ParallelCluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html) 。

# Amazon EC2 容量區塊的運作方式
<a name="capacity-blocks-how"></a>

您可依照以下規格保留容量區塊：
+ 提前最多 8 週來預留開始時間
+ 設定保留期間：1 至 14 天或 7 天的倍數，最長 182 天 (範例：21 天、28 天)
+ 每個容量區塊可設定最多 64 個執行個體
+ 跨多個容量區塊可設定最多 256 個執行個體

若是 Amazon EC2 UltraServer，每個 UltraServer 對應一個容量區塊。您可透過單一請求，來請求多個 UltraServer。

 您可使用容量區塊，來預留 `p6-b200`、`p5`、`p5e`、`p5en`、`p4d`、`p4de`、`trn1` 及`trn2` 個執行個體。您可透過容量區塊，購買下面的 UltraServer 類型：`P6e-GB200` 及 `Trn2` (預覽版)。

若要保留容量區塊，請先指定容量需求，包括所需的執行個體類型或 UltraServer 類型、執行個體或 UltraServer 數量、時間長度、最早開始日期，以及最晚結束日期。您就可以看到符合您規格的可用容量區塊方案。容量區塊方案包含詳細資訊，例如開始時間、可用區域和保留價格。容量區塊方案的價格取決於交付方案時的可用供給與需求。保留容量區塊後，價格不會變更。如需詳細資訊，請參閱[容量區塊定價和計費](capacity-blocks-pricing-billing.md)。

購買容量區塊方案時，系統會根據您選取的日期和執行個體數量保留。容量區塊保留開始時，您可以在啟動請求中指定保留 ID，鎖定執行個體啟動。

您可使用所有預留的執行個體，直到容量區塊結束時間前 30 分鐘 (適用於執行個體類型) 或 60 分鐘 (適用於 UltraServer 類型) 為止。容量區塊保留剩 30 分鐘 (適用於執行個體類型) 或 60 分鐘 (適用於 UltraServer 類型) 時，我們就會開始終止容量區塊中執行的所有執行個體。我們會利用這段時間清理您的執行個體，再將容量區塊交付給下一位客戶。我們會在終止程序開始前 10 分鐘，透過 EventBridge 發出事件。如需詳細資訊，請參閱[使用 EventBridge 監控容量區塊](capacity-blocks-monitor.md)。

# 容量區塊定價和計費
<a name="capacity-blocks-pricing-billing"></a>

使用適用於 ML 的 Amazon EC2 容量區塊，您只需為保留的容量付費。容量區塊的價格取決於購買時容量區塊的可用供給與需求。您可以在保留前檢視容量區塊方案的價格。我們會在保留時預先收取容量區塊的費用。當您在某個日期範圍內搜尋容量區塊時，我們會傳回可用的最低價格容量區塊方案。保留容量區塊之後，價格不會變更。

使用容量區塊時，您會為執行個體執行時使用的作業系統付費。如需作業系統定價的詳細資訊，請參閱[適用於 ML 的 Amazon EC2 容量區塊訂價](https://aws.amazon.com/ec2/capacityblocks/pricing/)。

## 帳單
<a name="capacity-blocks-billing"></a>

我們會預先收取容量區塊方案的費用。您購買容量區塊後 5 分鐘至 12 小時內，我們會向您的 AWS 帳戶收取費用。處理您的付款時，您的容量區塊保留資源會維持 `payment-pending` 狀態。如果無法在區塊開始時間前至少 5 分鐘處理付款，或在 12 小時內 (以較早者為準) 處理付款，系統會釋出容量區塊，並將保留狀態變更為 `payment-failed`。

成功處理您的付款後，容量區塊資源狀態會從 `payment-pending` 變更為 `scheduled`。您會收到反映一次性預付款的發票。在發票中，您可以將已付金額與容量區塊保留 ID 相關聯。

容量區塊保留開始時，系統只會根據保留中執行個體執行時，您使用的作業系統向您收費。您可以在 AWS Cost and Usage Report的年度帳單中查看使用月份的使用量和相關費用。

**注意**  
Savings Plans 和預留執行個體折扣不適用於容量區塊。

**檢視您的帳單**  
您可以在 AWS 帳單與成本管理 主控台中檢視帳單。容量區塊的預付款會顯示在您購買保留的月份。

保留開始後，您的帳單會分別顯示區塊保留已使用和未使用時間的明細。您可以透過這些明細項目，查看保留中使用了多少時間。如果您使用付費作業系統，只會在明細中看到已使用時間的使用費用。如需詳細資訊，請參閱[容量區塊定價和計費](#capacity-blocks-pricing-billing)。未使用時間不會收費。

如需詳細資訊，請參閱 *AWS 帳單與成本管理 使用者指南*中的[檢視您的帳單](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html)。

如果您的容量區塊在與購買保留時不同的月份開始，預付費用和保留用量會顯示在不同的帳單月份下。在您的 中 AWS Cost and Usage Report，容量區塊保留 ID 會列在預付費用的**預留/ReservationARN** 明細項目中，以及週年紀念帳單中的 **lineitem/ResourceID** 中，以便您可以將用量與對應的預付價格建立關聯。

# 尋找和購買容量區塊
<a name="capacity-blocks-purchase"></a>

若要保留容量區塊，您必須先找到符合您需求的可用容量時間區塊。若要尋找可保留的容量區塊，請指定以下內容。
+ 您需要的執行個體數量
+ 您需要執行個體的時間長度
+ 您需要保留的日期範圍

若要搜尋可用的容量區塊方案，請指定保留時間長度和執行個體數量。必須**以 1 天為增量最多可達 14 天，以 7 天為增量最多可達 1​​82 天**來指定保留期間 每個容量區塊可包含最多 64 個執行個體，且跨容量區塊可包含最多 256 個執行個體。

當您請求符合您規格的容量區塊時，我們會提供最多 6 個可用區塊的詳細資訊。所有容量區塊將於 UTC 時間上午 11:30 結束，因此同日開始的區塊將具有與您所需持續時間最接近的持續時間。一個區塊的持續時間將略短於您所需的持續時間，而另一區塊的持續時間將略長於您所需的持續時間。

方案詳細資訊包括保留的開始時間、保留的可用區域，以及保留的價格。如需詳細資訊，請參閱[容量區塊定價和計費](capacity-blocks-pricing-billing.md)。

您可以購買顯示的容量區塊方案，也可以修改搜尋條件以查看其他可用選項。方案沒有預先設定的到期時間，但僅採先到先用方式。

購買容量區塊方案時，您會立即獲得回應，確認已保留您的容量區塊。確認後，您會在帳戶中看到新的容量保留，保留類型為 `capacity-block`，且 `start-date` 設定為您所購買方案的開始時間。保留您的容量區塊時，其狀態為 `payment-pending`。成功處理預付款後，保留狀態會變更為 `scheduled`。如需詳細資訊，請參閱[帳單](capacity-blocks-pricing-billing.md#capacity-blocks-billing)。

**注意**  
 若要在 Local Zones 中購買和使用容量區塊，您必須選擇加入 Local Zone。

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

**如需尋找及購買容量區塊**

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

1. 在畫面上方的導覽列上，選取 AWS 區域。這個選擇很重要，因為並非所有區域的所有執行個體類型都支援 64 個執行個體的容量區塊大小。

1. 在導覽窗格中，依序選擇**容量保留**、**建立容量區塊**。

1. 在**容量區塊類型**下，選擇**執行個體**或 **UltraServers**。

1. 在**容量屬性**中，您可以設定容量區塊搜尋參數。根據預設，平台為 Linux。如果您要選取不同的作業系統，請使用 AWS CLI。如需詳細資訊，請參閱[支援平台](ec2-capacity-blocks.md#capacity-blocks-platforms)。

1. 在**總容量** (適用於執行個體) 或 **UltraServer 計數** (適用於 UltraServers) 下，指定您想要預留的執行個體或 UltraServers 數目。

1. 在**持續時間**下，輸入您需要保留的天數或週數。

1. 在**搜尋容量區塊的日期範圍**下方，輸入您希望開始保留的最早日期。

1. 選擇**尋找容量區塊**。

1. 如果可用的容量區塊符合您的規格，您會在**建議的容量區塊**下看到方案。如果有多個符合您規格的方案，則會顯示最早可用的容量區塊方案。若要檢視其他容量區塊方案，請調整您的搜尋輸入內容，並再次選擇**尋找容量區塊**。

1. 找到要購買的容量區塊方案時，請選擇**下一步**。

1. (選用) 在**新增標籤**頁面上，選擇**新增標籤**。

1. **檢閱和購買**頁面會列出開始和結束日期、時間長度、執行個體總數和價格。
**注意**  
容量區塊在您保留之後就無法取消。

1. 在**購買容量區塊**快顯視窗中，輸入「confirm」，然後選擇**購買**。

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

**如需尋找執行個體容量區塊**  
請使用 [ describe-capacity-block-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-offerings.html) 命令。

下面所示為尋找執行個體容量區塊的範例。

```
aws ec2 describe-capacity-block-offerings \
--instance-type p5.48xlarge \
--instance-count 16 \
--start-date-range 2023-08-14T00:00:00Z \
--end-date-range 2023-10-22-T00:00:00Z \
--capacity-duration-hours 48 \
--all-availability-zones
```

下面所示為尋找 UltraServer 容量區塊的範例。

```
aws ec2 describe-capacity-block-offerings \
--ultraserver-type u-p6e-gb200x72 \
--ultraserver-count 1 \
--start-date-range 2023-08-14T00:00:00Z \
--end-date-range 2023-10-22-T00:00:00Z \
--capacity-duration-hours 48
```

**如需購買容量區塊**  
請使用上一個範例輸出中的容量區塊服務 ID 並搭配 [purchase-capacity-block](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html)。

```
aws ec2 purchase-capacity-block \
--capacity-block-offering-id cb-0123456789abcdefg \
--instance-platform Linux/UNIX
```

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

**如需尋找容量區塊**  
使用 [Get-EC2CapacityBlockOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityBlockOffering.html) cmdlet。

下面所示為尋找執行個體容量區塊的範例。

```
Get-EC2CapacityBlockOffering `
-InstanceType p5.48xlarge `
-InstanceCount 16 `
-CapacityDurationHour 48 `
-StartDateRange 2023-08-14T00:00:00Z `
-EndDateRange 2023-10-22-T00:00:00Z `
-AllAvailabilityZones $true
```

下面所示為尋找 UltraServer 容量區塊的範例。

```
Get-EC2CapacityBlockOffering `
-UltraserverType u-p6e-gb200x72 `
-UltraserverCount  1 `
-CapacityDurationHour 48 `   
-StartDateRange 2023-08-14T00:00:00Z `
-EndDateRange 2023-10-22-T00:00:00Z
```

**如需購買容量區塊**  
請使用上一個範例輸出中的容量區塊服務 ID 並搭配 [New-EC2EC2CapacityBlock](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2EC2CapacityBlock.html) cmdlet。

```
New-EC2EC2CapacityBlock `
-CapacityBlockOfferingId cb-0123456789abcdefg `
-InstancePlatform Linux/UNIX
```

------

# 使用容量區塊來啟動執行個體
<a name="capacity-blocks-launch"></a>

若要使用容量區塊，您必須在啟動執行個體時指定容量區塊保留 ID。在容量區塊中啟動執行個體，會依啟動的執行個體數量減少可用容量。舉例來說，如果您購買的執行個體容量為八個執行個體，而您啟動四個執行個體，則可用容量會減少四個。

如果您在保留結束之前終止在容量區塊中執行的執行個體，可以在其位置啟動新執行個體。當您停止或終止容量區塊中的執行個體時，需要幾分鐘時間清理執行個體，才能啟動另一個執行個體加以取代。在此期間，您的執行個體將處於 stopping 或 `shutting-down` 狀態。完成此程序後，您的執行個體狀態會變更為 `stopped` 或 `terminated`。接著，容量區塊中的可用容量將會更新，顯示另一個可用的執行個體。

**要求**
+ 您的執行個體無法在與容量區塊所在可用區域不同的可用區域子網路中啟動。
+ 執行個體無法透過與容量區塊平台不同的 AMI 平台啟動。
+  若要在 Local Zones 中使用容量區塊，您必須選擇加入 Local Zone。

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

**如需在容量區塊中啟動執行個體**

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

1. 在螢幕上方的導覽列上，為容量區塊保留選取區域。

1. 從 Amazon EC2 主控台儀表板選擇 **Launch Instance (啟動執行個體)**。

1. 請遵循該程序來[啟動執行個體](ec2-launch-instance-wizard.md)。

1. 展開**進階詳細資訊**，並在**購買選項**中選擇**容量區塊**。然後執行下列其中一項：
   + 如需在特定容量區塊啟動執行個體，對於**容量保留**，請選擇**指定容量保留**，然後選取容量區塊。
   + (*僅限 UltraServers*) 如需在 UltraServer 容量區塊資源群組啟動執行個體，對於**容量保留**，請選擇**指定容量保留資源群組**，然後選取資源群組。

1. 選擇**啟動執行個體**。

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

**如需在容量區塊中啟動執行個體**  
請使用 `instance-market-options MarketType` 選項並搭配 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令。

下面所示為在指定容量保留啟動執行個體的範例。

```
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--count 1 \
--instance-type p5.48xlarge \
--key-name my-key-pair \
--subnet-id subnet-0abcdef1234567890 \
--instance-market-options MarketType='capacity-block' \
--capacity-reservation-specification CapacityReservationTarget={CapacityReservationId=capacity_block_id}
```

下面所示為在 UltraServer 容量區塊資源群組啟動執行個體的範例。

```
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--count 1 \
--instance-type p6e-gb200.36xlarge \
--key-name my-key-pair \
--subnet-id subnet-0abcdef1234567890 \
--instance-market-options MarketType='capacity-block' \
--capacity-reservation-specification CapacityReservationTarget={CapacityReservationResourceGroupArn=resource_group_arn}
```

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

**如需在容量區塊中啟動執行個體**  
請使用如下所示定義的 `-InstanceMarketOption` 選項並搭配 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet。

```
$marketoption = New-Object Amazon.EC2.Model.InstanceMarketOptionsRequest
$marketoption.MarketType = "capacity-block"
```

下面所示為在指定容量保留啟動執行個體的範例。

```
New-EC2Instance `
-ImageId ami-0abcdef1234567890 `
-InstanceType p5.48xlarge `
-KeyName "my-key-pair" `
-SubnetId subnet-0abcdef1234567890 `
-InstanceMarketOptions $marketoption `
-CapacityReservationTarget_CapacityReservationId capacity_block_id
```

下面所示為在 UltraServer 容量區塊資源群組啟動執行個體的範例。

```
New-EC2Instance `
-ImageId ami-0abcdef1234567890 `
-InstanceType p6e-gb200.36xlarge `
-KeyName "my-key-pair" `
-SubnetId subnet-0abcdef1234567890 `
-InstanceMarketOptions $marketoption `
-CapacityReservationTarget_CapacityReservationResourceGroupArn "resource_group_arn"
```

------

**相關資源**
+ 如需了解針對容量區塊建立啟動範本的資訊，請參閱 [將執行個體啟動參數存放在 Amazon EC2 啟動範本中](ec2-launch-templates.md)。
+ 如需了解使用 EC2 機群在容量區塊中啟動執行個體的資訊，請參閱 [教學課程：設定您的 EC2 機群以啟動執行個體至容量區塊](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md)。
+ 如需了解使用容量區塊設定 EKS 受管節點群組，請參閱 **Amazon EKS 使用者指南**中的[建立具 ML 容量區塊的受管節點群組](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks-mng.html)。
+ 若要 AWS ParallelCluster 使用容量區塊設定 ，請參閱 [上的 ML AWS ParallelCluster](https://catalog.workshops.aws/ml-on-aws-parallelcluster/en-US)。

# 檢視容量區塊
<a name="capacity-blocks-view"></a>

保留容量區塊後，您可以在 AWS 帳戶中檢視容量區塊保留。您可以檢視 `start-date` 和 `end-date`，查看保留開始和結束時間。在容量區塊保留開始之前，可用容量會顯示為零。您可以依標籤索引鍵 `aws:ec2capacityreservation:incrementalRequestedQuantity` 的標籤值，查看容量區塊中可用的執行個體數量。

容量區塊保留開始時，保留狀態會從 `scheduled` 變更為 `active`。我們會透過 Amazon EventBridge 發出事件，通知您可以使用容量區塊。如需詳細資訊，請參閱[使用 EventBridge 監控容量區塊](capacity-blocks-monitor.md)。

容量區塊具有下列狀態：
+ `payment-pending` – 尚未處理預付款。
+ `payment-failed` – 無法在 12 小時內處理付款。您的容量區塊已釋出。
+ `scheduled` – 已處理付款，容量區塊保留尚未開始。
+ `active` – 預留容量可供使用。
+ `expired` – 容量區塊保留在保留請求中指定的日期和時間自動過期。預留容量將不再提供使用。

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

**如需檢視容量區塊**

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

1. 在導覽窗格中，選擇 **容量預留**。

1. 在**容量保留概觀**頁面上，您會看到一個資源表格，其中包含所有容量保留資源的詳細資訊。若要尋找您的容量區塊保留，請從**容量保留 ID**上方的下拉式清單中選取**容量區塊**。在表格中，您可以查看容量區塊的相關資訊，例如開始和結束日期、時間長度和狀態。

1. 如需容量區塊的詳細資訊，請選取要檢視之容量區塊的保留 ID。**容量保留詳細資訊**頁面會顯示保留項目的所有屬性，以及容量區塊中使用中和可用的執行個體數量。
**注意**  
在容量區塊保留開始之前，可用容量會顯示為零。您可以為標籤鍵使用下列標籤值，以查看容量區塊保留開始時可用的執行個體數量：`aws:ec2capacityreservation:incrementalRequestedQuantity`。

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

**如需檢視容量區塊**  
使用 [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) 命令時，預設會同時列出隨需容量保留和容量區塊保留。如需僅檢視容量區塊保留，可篩選類型 `capacity-block` 的保留。

```
aws ec2 describe-capacity-reservations \
    --filters Name=reservation-type,Values=capacity-block
```

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

**如需檢視容量區塊**  
請使用 [Get-EC2CapacityReservation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityReservation.html) cmdlet。預設會同時列出隨需容量保留與容量區塊保留。如需僅檢視容量區塊保留，可篩選類型 `capacity-block` 的保留。

```
Get-EC2CapacityReservation `
    -Filter @{Name="reservation-type"; Values="capacity-block"}
```

------

# 延長容量區塊
<a name="capacity-blocks-extend"></a>

透過容量區塊，您可為工作負載保留運算容量，確保可用性和一致性。為了滿足您不斷變化的需求，您可以根據需要延長現有容量區塊的持續時間。

若要延長容量區塊，其狀態必須為 `active` 或 `scheduled`，且不具 `payment-pending` 的擴充功能。您可在容量區塊到期前請求延長其持續時間，延長時長最短為 1 小時、最長為 56 天。您可延長容量區塊，若以 1 天為增量最多可達 14 天，若以 7 天為增量最多可達 1​​82 天 (26 週)。當您延長容量區塊時，其結束日期將會更新，以便執行個體可繼續執行而不會中斷。
+ 您可套用至容量區塊的延長次數沒有限制
+ 在延長區塊後，您的容量保留 ID 將保持不變
+ 唯有在有足夠容量支援容量區塊的情況下，才能延長容量區塊，但無法保證。

## 帳單
<a name="capacity-blocks-extend-billing"></a>

我們會預先收取容量區塊方案的費用。在繳付帳單之前，延期將維持在 `payment-pending`。如果無法在 12 小時內處理付款，或在容量區塊預定結束前至少 35 分鐘處理付款 (以較早者為準)，則您的延期將無法成功，狀態將變更為 `payment-failed`。您的容量區塊保留將保持 `active`，且將在原定結束日期終止。

在成功處理付款後，容量區塊延長狀態會變更為 `payment-succeeded`，且容量區塊保留的結束日期會更新為新結束日期。延期詳細資訊可在主控台的**容量區塊延期詳細資訊**區段中檢視，亦可使用 [describe-capacity-block-extension-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-extension-history.html) 命令檢視。

## 延長您的容量區塊
<a name="capacity-blocks-extend-procedure"></a>

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

**如需延期容量區塊**

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

1. 在導覽窗格中，選擇 **容量預留**。

1. 在**容量保留概觀**頁面，您會看到一個資源表格，其中包含所有容量保留資源的詳細資訊。選取要延長的容量區塊保留 ID。

1. 從**動作**下拉式功能表中，選擇**延長容量區塊**。

1. 在**持續時間**下，輸入您需要延長保留的天數或週數。

1. 選擇**尋找容量區塊**。

1. 如果可用的容量區塊符合您的規格，**建議的容量區塊**下方會顯示方案。若要檢視其他容量區塊方案，請調整您的搜尋輸入內容，並再次選擇**尋找容量區塊**。

1. 找到要購買的容量區塊方案時，請選擇**延長**。

1. 在彈出視窗**延長容量區塊**，輸入*確認*，然後選擇**延長**。

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

**如需尋找容量區塊延期**  
請使用 [describe-capacity-block-extension-offerings](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-block-extension-offerings.html) 命令。下面所示為針對指定保留搜尋 48 小時容量區塊延期的範例。

```
aws ec2 describe-capacity-block-extension-offerings \
    --capacity-reservation-id cr-1234567890abcdefg \
    --capacity-block-extension-duration-hours 48
```

**如需延期容量區塊**  
請使用 [purchase-capacity-block-extension](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block-extension.html) 命令。從上一個範例的輸出中指定延期服務 ID。

```
aws ec2 purchase-capacity-block-extension \
    --capacity-block-extension-offering-id cbe-0123456789abcdefg \
    --capacity-reservation-id cr-1234567890abcdefg
```

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

**如需尋找容量區塊延期**  
使用 [Get-EC2CapacityBlockExtensionOffering](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityBlockExtensionOffering.html) cmdlet。下面所示為針對指定保留搜尋 48 小時容量區塊延期的範例。

```
Get-EC2CapacityBlockExtensionOffering `
    -CapacityReservationId cr-1234567890abcdefg `
    -CapacityBlockExtensionDurationHour 48
```

**如需延期容量區塊**  
使用 [Invoke-EC2CapacityBlockExtension](https://docs.aws.amazon.com/powershell/latest/reference/items/Invoke-EC2CapacityBlockExtension.html) cmdlet。從上一個範例的輸出中指定延期服務 ID。

```
Invoke-EC2CapacityBlockExtension `
    -CapacityBlockExtensionOfferingId cbe-0123456789abcdefg `
    -CapacityReservationId cr-1234567890abcdefg
```

------

# 共用容量區塊
<a name="capacity-blocks-share"></a>

 容量區塊共用可讓容量區塊擁有者與 AWS 組織內的其他 AWS 帳戶共用 Amazon EC2 容量區塊。這可讓您最大化不同團隊和專案的預留 GPU 容量使用率，以有效率地使用容量區塊。

 擁有容量區塊 AWS 的帳戶 （擁有者） 可以與其他 AWS 帳戶 （消費者） 共用。擁有者可以與其 AWS 組織內的特定 AWS 帳戶、其組織內的組織單位 AWS 或整個 AWS 組織共用容量區塊。取用者可以在與其共用的容量區塊中啟動執行個體，就像在他們擁有的容量區塊中啟動執行個體一樣。

## 共用容量區塊的先決條件
<a name="capacity-blocks-share-prereq"></a>

您必須先符合下列條件，才能共用容量區塊：
+ **您必須擁有容量區塊** - 您無法共用已與您共用的容量區塊。
+  **容量區塊狀態必須為作用中或排程** - 處於其他[狀態](https://docs.aws.amazon.com/cli/latest/reference/ec2/purchase-capacity-block.html)的容量區塊，例如 `expired`或 `payment-pending`無法共用。
+ 僅限**在 AWS 組織內共用** - 擁有者可以與其 AWS 組織內的特定 AWS 帳戶、其組織內的組織單位 AWS 或整個 AWS 組織共用容量區塊。
+  **不支援 UltraServer 容量區塊** - 您無法共用 Amazon EC2 UltraServers 的容量區塊。
+ **帳戶資格** - 容量區塊共用不適用於帳單歷史記錄有限的新 AWS 帳戶或 AWS 帳戶。

## 相關服務
<a name="capacity-blocks-share-related"></a>

容量區塊共用與 AWS Resource Access Manager (AWS RAM) 整合。 AWS RAM 是一項服務，可讓您與任何 AWS 帳戶或透過 共用 AWS 資源 AWS Organizations。您可以透過 AWS RAM建立*資源共享*，以共用您擁有的資源。資源共享指定要共用的資源，以及共用它們的消費者。消費者可以是個別 AWS 帳戶、組織單位或整個組織的來源 AWS Organizations。

如需 的詳細資訊 AWS RAM，請參閱*[AWS RAM 《 使用者指南》](https://docs.aws.amazon.com/ram/latest/userguide/)*。

## 共用容量區塊許可
<a name="capacity-blocks-share-permissions"></a>

### 擁有者的許可
<a name="capacity-blocks-share-permissions-owner"></a>

 容量區塊擁有者仍需負責管理容量區塊 （例如擴充、共用），以及其在其中啟動的執行個體。擁有者無法修改消費者在共用的容量區塊中啟動的執行個體。

### 消費者的許可
<a name="capacity-blocks-share-permissions-consumer"></a>

 消費者可以在共用容量中啟動執行個體，並負責管理這些執行個體。消費者無法檢視或修改其他消費者或容量區塊擁有者擁有的執行個體。消費者也只能檢視共用容量區塊中的總容量和可用容量。

## 共用容量區塊
<a name="capacity-blocks-sharing"></a>

若要共用容量區塊，您必須將其新增至資源共用。資源共用是可讓您跨 共用資源 AWS RAM 的資源 AWS 帳戶。

如果您將容量區塊新增至與整個 AWS 組織共用的資源共用，則組織中的取用者會獲得共用容量區塊的存取權。

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

**使用 Amazon EC2 主控台共用您擁有的容量區塊**

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

1. 在導覽窗格中，選擇 **容量預留**。

1. 選取要共用的容量區塊，然後選擇**動作、共用保留**。

1. 選取要新增容量區塊的資源共用，然後選擇**共用容量保留**。

   取用者可能需要幾分鐘的時間才能存取共用容量區塊。

**將容量區塊新增至新的資源共享**  
您必須先使用 AWS RAM 主控台建立資源共享。如需詳細資訊，請參閱「AWS RAM 使用者指南」**中的[建立資源共用](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)。

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

**共用您擁有的容量區塊**  
 使用 [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 和 [associate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share.html) 命令。

```
aws ram create-resource-share \
    --name my-resource-share \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

```
aws ram associate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**共用您擁有的容量區塊**  
 使用 [New-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RAMResourceShare.html) 和 [Connect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Connect-RAMResourceShare.html) cmdlet。

```
New-RAMResourceShare `
    -Name my-resource-share `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

```
Connect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

 容量區塊會以**先到先服務的方式**運作於所有帳戶，無論擁有權狀態為何。當您共用容量區塊時，如果取用者在擁有者之前啟動執行個體，這些執行個體會佔用容量，直到取用者終止執行個體或容量區塊過期前 30 分鐘為止。

## 停止共用容量區塊
<a name="capacity-blocks-unsharing"></a>

 您可以隨時停止共用容量區塊，直到區塊過期日期前 30 分鐘為止。

**當您停止共用時會發生什麼情況：**
+ 消費者無法再在未共用的容量區塊中啟動新的執行個體。
+ 除非消費者終止，否則任何執行中的執行個體都會繼續執行至容量區塊過期日期前 30 分鐘。

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

**使用 Amazon EC2 主控台停止共用您擁有的容量區塊**

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

1. 在導覽窗格中，選擇 **容量預留**。

1. 選取容量區塊，然後選擇**共用**標籤。

1.  **共用**索引標籤會列出已新增容量區塊的資源共用。選取要從中移除容量區塊的資源共用。

1. 選擇**從資源共用中移除**。

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

**停止共用您擁有的容量區塊**  
使用 [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 命令。

```
aws ram disassociate-resource-share \
    --resource-share-arn arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE \
    --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE
```

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

**停止共用您擁有的容量區塊**  
使用 [Disconnect-RAMResourceShare](https://docs.aws.amazon.com/powershell/latest/reference/items/Disconnect-RAMResourceShare.html) cmdlet。

```
Disconnect-RAMResourceShare `
    -ResourceShareArn "arn:aws:ram:us-east-2:123456789012:resource-share/7ab63972-b505-7e2a-420d-6f5d3EXAMPLE" `
    -ResourceArn "arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-1234abcd56EXAMPLE"
```

------

## 監控共用容量區塊用量
<a name="capacity-blocks-shared-monitor-usage"></a>

容量區塊擁有者可以監控哪些帳戶正在使用其共用容量區塊，並追蹤每個帳戶的執行個體用量。

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

**監控容量區塊的使用情況**  
使用 [get-capacity-reservation-usage](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-capacity-reservation-usage.html) 命令。

```
aws ec2 get-capacity-reservation-usage \
    --capacity-reservation-id cr-1234abcd56EXAMPLE
```

**此 API 可讓擁有者：**
+ 檢視哪些帳戶目前正在使用容量區塊。
+ 請參閱每個帳戶正在執行的執行個體數量。

------

## 執行個體終止通知
<a name="capacity-blocks-shared-instance-termination-notices"></a>

 在容量區塊中執行執行個體的擁有者和取用者帳戶將在容量區塊保留結束前 40 分鐘收到 EventBridge 事件，表示保留中執行的任何執行個體將在 10 分鐘內開始終止。如需詳細資訊，請參閱[使用 EventBridge 監控容量區塊](capacity-blocks-monitor.md)。

## 容量區塊擴充功能
<a name="capacity-blocks-shared-extend"></a>

容量區塊可在共用時擴充。只有擁有者帳戶可以擴展共用容量區塊。

 當容量區塊擴展時，擁有者或取用者啟動的執行中執行個體會自動繼承新的過期日期，而且取用者可以在新的過期日期之前繼續使用共用的容量，而不會中斷任何執行個體。

## 定價和計費
<a name="capacity-blocks-shared-pricing-billing"></a>

 擁有者需支付他們共用的容量區塊費用，並在購買容量區塊時預付。擁有者也會為其在容量區塊上執行的執行個體支付作業系統費用。

 消費者只會針對他們在共用容量區塊中執行的執行個體支付作業系統費用。消費者不需要支付容量區塊保留本身的費用。

# 為 UltraServer 容量區塊建立一個資源群組
<a name="cb-group"></a>

您可以使用 AWS Resource Groups 建立 UltraServer 容量區塊的邏輯集合。在您建立資源群組之後，可在您的帳戶中新增您擁有的 UltraServer 容量區塊。在您新增 UltraServer 容量區塊之後，可將執行個體啟動目標鎖定為資源群組，而非個別容量區塊。若執行個體鎖定一個資源群組，將會與群組中具有相符屬性及可用容量的任何 UltraServer 容量區塊進行比對。若資源群組沒有具有相符屬性及可用容量的 UltraServer 容量區塊，執行個體啟動會失敗。

如果在執行執行個體時從資源群組移除 UltraServer 容量區塊，這些執行個體會繼續在容量區塊中執行。如果群組中有一個 UltraServer 容量區塊在執行個體執行時結束，則會終止該等執行個體。

您不能新增執行個體容量區塊至資源群組。

為 UltraServer 容量區塊建立資源群組，可使用以下方法之一。

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

**為 UltraServer 容量區塊建立資源群組**  
請使用 [create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html) AWS CLI 命令，並針對 `--configuration`，指定以下各項：

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": [
        {
          "Name": "instance-type",
          "Values": [
            "instance_type"
          ]
        },
        {
          "Name": "reservation-type",
          "Values": [
            "capacity-block"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

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

**為 UltraServer 容量區塊建立資源群組**  
使用 [New-RGGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-RGGroup.html) cmdlet。針對 `-Configuration`，指定以下各項：

```
{
  "Configuration": [
    {
      "Type": "AWS::EC2::CapacityReservationPool",
      "Parameters": [
        {
          "Name": "instance-type",
          "Values": [
            "instance_type"
          ]
        },
        {
          "Name": "reservation-type",
          "Values": [
            "capacity-block"
          ]
        }
      ]
    },
    {
      "Type": "AWS::ResourceGroups::Generic",
      "Parameters": [
        {
          "Name": "allowed-resource-types",
          "Values": [
            "AWS::EC2::CapacityReservation"
          ]
        }
      ]
    }
  ]
}
```

------

在您為 UltraServer 容量區塊建立資源群組之後，可使用以下方法之一在該群組中新增現有的 UltraServer 容量區塊。

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

**新增 UltraServer 容量區塊至資源群組**  
請使用 [group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) 命令。對於 `--group`，請為您建立的資源群組指定名稱。對於 `--resource-arns`，請為要新增的 UltraServer 容量區塊指定 ARN。

```
aws resource-groups group-resources \
--group MyCRGroup \
--resource-arns CapacityReservationArn
```

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

**新增 UltraServer 容量區塊至資源群組**  
使用 [Add-RGResource](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-RGResource.html) cmdlet。對於 `-Group`，請為您建立的資源群組指定名稱。對於 `-ResourceArn `，請為要新增的 UltraServer 容量區塊指定 ARN。

下列範例會新增兩個容量保留到指定群組。

```
Add-RGResource `
-Group MyCRGroup `
-ResourceArn CapacityReservationArn
```

------

# 使用 EventBridge 監控容量區塊
<a name="capacity-blocks-monitor"></a>

容量區塊保留開始時，Amazon EC2 會透過 EventBridge 發出事件，表示您的容量可供使用。在容量區塊保留結束前四十分鐘，您會收到另一個 EventBridge 事件，通知您保留中執行的所有執行個體將在 10 分鐘內開始終止。如需 EventBridge 事件的詳細資訊，請參閱 [Amazon EventBridge Events](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。

以下事件為針對容量區塊所發出事件的結構：

**已提供容量區塊**  
以下範例說明已提供容量區塊的事件。

```
{
  "customer_event_id": "[Capacity Reservation Id]-delivered",
  "detail_type": "Capacity Block Reservation Delivered",
  "source": "aws.ec2",
  "account": "[Customer Account ID]",
  "time": "[Current time]",
  "resources": [
    "[ODCR ARN]"
  ],
  "detail": {
    "capacity-reservation-id": "[ODCR ID]",
    "end-date": "[ODCR End Date]"
  }
}
```

**容量區塊到期警告**  
以下範例說明容量區塊到期警告的事件。

```
{
  "customer_event_id": "[Capacity Reservation Id]-approaching-expiry",
  "detail_type": "Capacity Block Reservation Expiration Warning",
  "source": "aws.ec2",
  "account": "[Customer Account ID]",
  "time": "[Current time]",
  "resources": [
    "[ODCR ARN]"
  ],
  "detail": {
    "capacity-reservation-id": "[ODCR ID]",
    "end-date": "[ODCR End Date]"
  }
}
```

**容量保留執行個體中斷警告**  
下列範例顯示 EC2 容量保留執行個體中斷警告的事件。

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail_type": "EC2 Capacity Reservation Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "[Customer Account ID]",
    "time": "[Current time]",
    "region": "[Region]",
    "resources": [
        "[Instance ARN]"
    ],
    "detail": {
        "instance-id": "[Instance ID]",
        "instance-action": "terminate",
        "instance-termination-time": "[Current time]",
        "availability-zone-id": "[Availability Zone ID]",
        "instance-lifecycle": "capacity-block"
    }
}
```

# 使用 記錄容量區塊 API 呼叫 AWS CloudTrail
<a name="capacity-blocks-logging-using-cloudtrail"></a>

容量區塊已與 服務整合 AWS CloudTrail，此服務提供使用者、角色或容量區塊中 AWS 服務所採取之動作的記錄。CloudTrail 會擷取容量區塊的 API 呼叫當作事件。這些擷取的呼叫包括來自容量區塊主控台的呼叫，以及針對容量區塊 API 操作的程式碼呼叫。若您建立追蹤，便可將 CloudTrail 事件持續交付至 Amazon S3 儲存貯體，包括容量區塊的事件。即使您未設定追蹤，依然可以透過 CloudTrail 主控台中的**事件歷史記錄**檢視最新事件。您可以利用 CloudTrail 所收集的資訊來判斷向容量區塊發出的請求，以及發出請求的 IP 地址、人員、時間和其他詳細資訊。

若要進一步了解 CloudTrail，請參閱[「AWS CloudTrail 使用者指南」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## CloudTrail 中的容量區塊資訊
<a name="capacity-blocks-info-in-cloudtrail"></a>

當您建立帳戶 AWS 帳戶 時，您的 上會啟用 CloudTrail。當容量區塊中發生活動時，該活動會記錄在 CloudTrail 事件中，其他 AWS 服務事件則記錄於**事件歷史記錄**中。您可以在 中檢視、搜尋和下載最近的事件 AWS 帳戶。如需詳細資訊，請參閱[「使用 CloudTrail 事件歷史記錄檢視事件」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄 中的事件 AWS 帳戶，包括容量區塊的事件，請建立追蹤。*線索*能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。依預設，當您在主控台中建立追蹤時，該追蹤會套用至所有的 AWS 區域。該追蹤會記錄來自 AWS 分割區中所有區域的事件，並將日誌檔案交付到您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中收集的事件資料。如需詳細資訊，請參閱下列內容：
+ [建立追蹤的概觀](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支援的服務和整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收多個區域的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收多個帳戶的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail 會記錄所有容量區塊動作，列在 Amazon EC2 API 參考中。例如，對 `CapacityBlockScheduled` 和 `CapacityBlockActive` 動作發出的呼叫會在 CloudTrail 日誌檔案中產生項目。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 是否使用根或 AWS Identity and Access Management (IAM) 使用者登入資料提出請求。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 請求是否由其他 AWS 服務提出。

如需詳細資訊，請參閱 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解容量區塊日誌檔案項目
<a name="understanding-service-name-entries"></a>

追蹤是一種組態，能讓事件以日誌檔案的形式交付到您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一或多個日誌專案。一個事件為任何來源提出的單一請求，並包含請求動作、請求的日期和時間、請求參數等資訊。CloudTrail 日誌檔並非依公有 API 呼叫的堆疊追蹤排序，因此不會以任何特定順序出現。

下列範例說明下列項目的 CloudTrail 日誌項目：
+ [TerminateCapacityBlocksInstances](#understanding-capacity-blocks-entries-terminatecapacityblockinstances)
+ [CapacityBlockPaymentFailed](#understanding-capacity-blocks-entries-capacityblockpaymentfailed)
+ [CapacityBlockScheduled](#understanding-capacity-blocks-entries-capacityblockscheduled)
+ [CapacityBlockActive](#understanding-capacity-blocks-entries-capacityblockactive)
+ [CapacityBlockFailed](#understanding-capacity-blocks-entries-capacityblockfailed)
+ [CapacityBlockExpired](#understanding-capacity-blocks-entries-capacityblockexpired)

**注意**  
已修改資料隱私權範例的某些欄位。

### TerminateCapacityBlocksInstances
<a name="understanding-capacity-blocks-entries-terminatecapacityblockinstances"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "TerminateCapacityBlockInstances",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "accountId": "123456789012",
      "type": "AWS::EC2::Instance",
      "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
    }
    {
      "accountId": "123456789012",
      "type": "AWS::EC2::Instance",
      "ARN": "arn:aws:ec2:us-east-1:123456789012:instance/i-0598c7d356eba48d7"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      }
}
```

### CapacityBlockPaymentFailed
<a name="understanding-capacity-blocks-entries-capacityblockpaymentfailed"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockPaymentFailed",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "payment-failed"
      }
}
```

### CapacityBlockScheduled
<a name="understanding-capacity-blocks-entries-capacityblockscheduled"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockScheduled",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "scheduled"
      }
}
```

### CapacityBlockActive
<a name="understanding-capacity-blocks-entries-capacityblockactive"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockActive",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "active"
      }
 }
```

### CapacityBlockFailed
<a name="understanding-capacity-blocks-entries-capacityblockfailed"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockFailed",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "failed"
      }
 }
```

### CapacityBlockExpired
<a name="understanding-capacity-blocks-entries-capacityblockexpired"></a>

```
{
  "eventVersion": "1.05",
  "userIdentity": {
    "accountId": "123456789012",
    "invokedBy": "AWS Internal;"
  },
  "eventTime": "2023-10-02T00:06:08Z",
  "eventSource": "ec2.amazonaws.com",
  "eventName": "CapacityBlockExpired",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "203.0.113.25",
  "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
  "requestParameters": null,
  "responseElements": null,
  "eventID": "a1b2c3d4-EXAMPLE",
  "readOnly": false,
  "resources": [
    {
      "ARN": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-12345678",
      "accountId": "123456789012",
      "type": "AWS::EC2::CapacityReservation"
    }
  ],
  "eventType": "AwsServiceEvent",
  "recipientAccountId": "123456789012",
  "serviceEventDetails": {
      "capacityReservationId": "cr-12345678",
      "capacityReservationState": "expired"
      }
 }
```