

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

# 多種執行個體類型的配置策略
<a name="allocation-strategies"></a>

當您使用多個執行個體類型時，您可以管理 Amazon EC2 Auto Scaling 如何從可能的執行個體類型中滿足隨需和 Spot 容量。若要這麼做，您可以指定配置策略。

若要檢閱混合執行個體群組的最佳實務，請參閱 [建立混合執行個體群組的設定概觀](mixed-instances-groups-set-up-overview.md)。

**Topics**
+ [

## Spot 執行個體
](#spot-allocation-strategy)
+ [

## 隨需執行個體
](#on-demand-allocation-strategy)
+ [

## 配置策略如何使用權重
](#lowest-price-allocation-strategy)

## Spot 執行個體
<a name="spot-allocation-strategy"></a>

Amazon EC2 Auto Scaling 提供下列 Spot 執行個體的配置策略：

`price-capacity-optimized` (建議)  
價格和容量最佳化分配策略會考慮價格和容量，來選擇最不可能中斷且價格最低的 Spot 執行個體集區。  
建議您在剛開始時使用此策略。如需詳細資訊，請參閱 AWS 部落格中的[介紹 EC2 Spot price-capacity-optimized配置策略](https://aws.amazon.com/blogs/compute/introducing-price-capacity-optimized-allocation-strategy-for-ec2-spot-instances/)。

`capacity-optimized`  
Amazon EC2 Auto Scaling 使用啟動中執行個體數目的最佳容量來請求來自集區的 Spot 執行個體。  
使用 Spot 執行個體，定價會依據長期的供需趨勢隨時間慢慢改變。但是，容量會即時波動。`capacity-optimized` 策略會查看即時容量資料並預測哪些資料為最多可用，從而自動將 Spot 執行個體啟動到最可用的集區。這有助於最大程度減少工作負載的可能中斷，因為重新啟動工作和檢查點可能會導致較高的中斷成本。若要讓某些執行個體類型先啟動的機會較高，請使用 `capacity-optimized-prioritized`。

`capacity-optimized-prioritized`  
您可以按照從最高到最低優先順序，對啟動範本覆寫設定執行個體類型的順序 (從清單中的第一個到最後一個)。Amazon EC2 Auto Scaling 會盡力遵守執行個體類型的優先順序，但會先針對容量進行最佳化。對於必須將中斷可能性降至最低的工作負載來說，這是一個很好的選擇，對於某些執行個體類型的偏好也很重要。如果隨需分配策略設定為 `prioritized`，則在滿足隨需容量時會套用相同的優先順序。

`lowest-price` (不建議使用)  
我們不建議採用 `lowest-price`策略，因為它對您的 Spot 執行個體具有最高的中斷風險。
Amazon EC2 Auto Scaling 使用可用區域內價格最低的集區來請求 Spot 執行個體，跨越您為**最低價集區**設定指定的 N 個 Spot 集區。例如，如果您指定四個執行個體類型和四個可用區域，則您的 Auto Scaling 群組最多可以存取 16 個 Spot 集區。(每個可用區域四個。) 如果您為分配策略指定兩個 Spot 集區 (N = 2)，則 Auto Scaling 群組 可以利用每個可用區域中最便宜的兩個集區，來滿足 Spot 容量。  
只有在使用 時，才能使用 `lowest-price`策略 AWS CLI。  
Amazon EC2 Auto Scaling 會盡最大努力從您指定的 N 個集區中提取 Spot 執行個體。但是，如果集區在滿足您的目標容量之前用完 Spot 容量，Amazon EC2 Auto Scaling 會透過從下一個最便宜的集區中進行提取來繼續滿足您的請求。為達到所需的容量，您可能會從超過您指定的集區 N 數量中接收 Spot 執行個體。同樣地，如果大多數集區沒有 Spot 容量，則您可能會從少於您指定的集區 N 數量中接收完整的所需容量。

**注意**  
如果設定 Spot 執行個體為在開啟 [AMD SEV-SNP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) 的情形下啟動，則需要支付額外的小時用量費，相當於所選執行個體類型[隨需小時費率](https://aws.amazon.com/ec2/pricing/on-demand/)的 10%。如果配置策略使用價格作為輸入，則 Amazon EC2 Auto Scaling 不會包含此額外費用；僅使用 Spot 價格。

## 隨需執行個體
<a name="on-demand-allocation-strategy"></a>

Amazon EC2 Auto Scaling 提供以下可用於隨需執行個體的分配策略：

`lowest-price`  
Amazon EC2 Auto Scaling 根據當前的隨需價格自動在每個可用區域中部署最便宜的執行個體類型。  
為滿足您所需的容量，您可能會在每個可用區域中收到多個執行個體類型的隨需執行個體。這取決於您請求多少容量。

`prioritized`  
滿足隨需容量時，Amazon EC2 Auto Scaling 會根據啟動範本覆寫清單中的執行個體類型順序，決定先使用哪一種執行個體類型。例如，假設您按以下順序指定三個啟動範本覆寫：`c5.large`、`c4.large` 和 `c3.large`。當您的隨需執行個體啟動時，Auto Scaling 群組會按以下順序來滿足隨需容量：`c5.large`，`c4.large`，然後是 `c3.large`。  
管理隨需執行個體的優先順序時，請考慮下列事項：  
+ 您可以預先支付使用量費用，使用 Savings Plans 或預留執行個體取得隨需執行個體的顯著折扣。如需詳細資訊，請參閱 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/)頁面。
+ 對於預留執行個體，如果 Amazon EC2 Auto Scaling 啟動相符的執行個體類型，則適用於一般隨需執行個體定價的折扣費率。因此，如果您有適用於 `c4.large` 的未使用預留執行個體，您可以設定執行個體類型優先順序，將預留執行個體類型的最高優先順序指定給某個 `c4.large` 執行個體類型。當 `c4.large` 執行個體啟動時，您可享有預留執行個體的定價。
+ 透過 Savings Plans，使用 Amazon EC2 Instance Savings Plans 或 Compute Savings Plans 時，會套用一般隨需執行個體定價的折扣費率。透過 Savings Plans，在排定執行個體類型的優先順序時可享有更大的靈活性。只要您使用 Savings Plans 涵蓋的執行個體類型，就可以依任何優先順序進行設定。您也可以偶爾變更執行個體類型的整個順序，同時仍然會收到 Savings Plans 折扣費率。如需 Savings Plans 的詳細資訊，請參閱 [Savings Plans 使用者指南](https://docs.aws.amazon.com/savingsplans/latest/userguide/)。

## 配置策略如何使用權重
<a name="lowest-price-allocation-strategy"></a>

當您在覆寫 (`"DesiredCapacityType": "vcpu"`或在群組層級） `"DesiredCapacityType": "memory-mib"` 中指定 `WeightedCapacity` 參數時，配置策略的運作方式會與其他 Auto Scaling 群組相同。

假設您有一個 Auto Scaling 群組，其執行個體類型具有不同數量的 vCPUs。而您使用 `lowest-price` 作為 Spot 和隨需分配策略。如果您選擇根據每個執行個體類型的 vCPU 計數指派權重，則在履行時，Amazon EC2 Auto Scaling 將根據您所指派的權重值，啟動具有最低價格 (例如，每 vCPU) 的執行個體類型。如果是 Spot 執行個體，則意味著每個 vCPU 的最低 Spot 價格。如果是隨需執行個體，則意味著每個 vCPU 的最低隨需價格。

 如需詳細資訊，請參閱[設定 Auto Scaling 群組以使用執行個體權重](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md)。