本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
競價型執行個體 的分配策略
您的啟動組態會決定 Spot 機群可從中啟動 Spot 執行個體的所有可能 Spot 容量集區 (執行個體類型和可用區域)。但是,啟動執行個體時,Spot 機群會使用您指定的配置策略,從所有可能的集區中挑選特定的集區。
注意
(僅限 Linux 執行個體) 如果您將競價型執行個體設定為在啟用 AMD SEV-SNP 的情況下啟動,則需支付額外的小時使用費,相當於所選執行個體類型隨需小時費率
分配策略
您可以為 Spot 執行個體指定下列其中一個配置策略:
priceCapacityOptimized
(推薦)-
Spot 機群會識別擁有啟動中執行個體數目之最高容量可用性的集區。這表示我們將從我們認為在短期內中斷機會最低的集區請求 Spot 執行個體。Spot 機群接著會從這些最低價集區中請求 Spot 執行個體。
priceCapacityOptimized
分配策略是大多數 Spot 工作負載的最佳選擇,例如無狀態容器化應用程式、微服務、Web 應用程式、資料和分析作業以及批次處理。 capacityOptimized
-
Spot 機群會識別擁有啟動中執行個體數目之最高容量可用性的集區。這表示我們將從我們認為在短期內中斷機會最低的集區請求 Spot 執行個體。您可以使用
capacityOptimizedPrioritized
選擇性地設定機群中每個執行個體類型的優先順序。Spot Fleet 會首先最佳化容量,但會盡力實現執行個體類型的優先順序。使用 競價型執行個體,定價會依據長期的供需趨勢隨時間慢慢改變,但是容量會即時波動。
capacityOptimized
策略會查看即時容量資料並預測哪些資料為最多可用,從而自動將 Spot 執行個體啟動到最可用的集區。這適用於可能具有較高的重新啟動工作中斷成本的工作負載,例如持續整合 (CI)、影像和媒體轉譯、深度學習以及可能具有較高的重新啟動工作中斷成本的高效能運算 (HPC) 工作負載。capacityOptimized
策略可實現盡可能少的中斷,因此可降低您工作負載的整體成本。或者,您可以使用具有優先順序參數的
capacityOptimizedPrioritized
分配策略,以從最高到最低的優先順序對執行個體類型排序。您可以為不同的執行個體類型設定相同的優先順序。Spot Fleet 會先針對容量進行最佳化,但會盡力遵守執行個體類型的優先順序 (例如,如果遵守優先順序不會顯著影響 Spot Fleet 佈建最佳容量的能力)。對於必須將中斷可能性降至最低的工作負載來說,這是一個很好的選擇,而且某些執行個體類型的偏好也很重要。只有在您的機群使用啟動範本時,才支援使用優先順序。請注意,當您設定capacityOptimizedPrioritized
的優先順序時,如果隨需執行個體AllocationStrategy
設定為prioritized
,則相同的優先順序也會套用至您的隨需執行個體。 diversified
-
競價型執行個體分佈在所有集區中。
選擇適當的分配策略
您可以選擇適當的 Spot 分配策略,進而針對您的使用案例最佳化機群。對於隨需執行個體目標容量,Spot 叢集一律會根據公有隨需價格選擇最便宜的執行個體類型,同時遵循 Spot 執行個體的配置策略 priceCapacityOptimized
diversified
(或)。capacityOptimized
平衡最低價格與容量可用性
為了平衡價格最低的 Spot 容量集區與具有最高容量可用性的 Spot 容量集區之間的利弊,建議您使用 priceCapacityOptimized
分配策略。此策略會根據集區的價格和這些集區中 Spot 執行個體的容量可用性,決定要從哪些集區請求 Spot 執行個體的集區。這表示我們將從我們認為在短期內中斷機會最低的集區請求 Spot 執行個體,同時我們仍會將價格納入考慮。
如果您的機群執行彈性且無狀態的工作負載,包括容器化應用程式、微服務、Web 應用程式、資料和分析作業以及批次處理,則使用 priceCapacityOptimized
分配策略,以達到最佳的成本節省和容量可用性。
如果您的機群執行的工作負載有較高的重新啟動工作中斷的成本,則您應該實作檢查點作業,以便應用程式可以在中斷時從該點重新啟動。透過使用檢查點作業,您可以讓 priceCapacityOptimized
分配策略非常適合這些工作負載,因為其可以從價格最低的集區中分配容量,而這些集區也會提供較低的 Spot 執行個體中斷率。
如需使用 priceCapacityOptimized
分配策略的範例組態,請參閱 範例 9:在具有優先順序的容量最佳化叢集中啟動 Spot 執行個體。
當工作負載具有較高的中斷成本時
如果您執行的工作負載使用價格相似的執行個體類型,或是中斷成本非常之高,以致於任何成本節省都不足以彌補中斷的邊際增加,則您可以選擇是否使用該 capacityOptimized
策略。該策略可從最可用的 Spot 容量集區分配容量,而這些集區會提供較少中斷的可能性,進而降低您工作負載的整體成本。如需使用 capacityOptimized
分配策略的範例組態,請參閱 範例 7:設定容量重新平衡以啟動替代 Spot 執行個體。
當必須將中斷可能性降至最低,而且對於某些執行個體類型的偏好也很重要時,您可以使用 capacityOptimizedPrioritized
分配策略,然後設定執行個體類型的順序,來表現您的集區優先順序,以從最高到最低優先順序使用。如需範例組態,請參閱 範例 8:在容量最佳化叢集中啟動 Spot 執行個體。
請注意,只有在您的機群使用啟動範本時,才支援使用優先順序。另請注意,當您設定 capacityOptimizedPrioritized
的優先順序時,如果隨需執行個體 AllocationStrategy
設定為 prioritized
,則相同的優先順序也會套用至您的隨需執行個體。
當您的工作負載具有時間彈性且容量可用性並非相關因素時
如果您的機群很小或執行時間很短,您仍可在考慮容量可用性的同時,使用 priceCapacityOptimized
來實現成本節省最大化。
當您的機群很龐大或執行時間較長時
如果您的機群很龐大或執行時間較長,則可以使用 diversified
策略,透過將多個 競價型執行個體分散到多個集區中來提高機群的可用性。例如,如果 Spot 機群指定了 10 個集區和 100 個執行個體的目標容量,則該機群會在每個集區中啟動 10 個 Spot 執行個體。如果某個集區的 Spot 價格超過該集區的最高價格,則只有 10% 的機群會受到影響。隨著時間,使用這種策略也會使您的機群對任何一個集區 Spot 價格上漲較不敏感。使用 diversified
策略,Spot Fleet 不會將 Spot 執行個體啟動至任何等於或高於隨需價格
維護目標容量
在 Spot 執行個體因 Spot 價格或 Spot 容量集區可用容量的變更而終止之後,類型為 maintain
的 Spot Fleet 會啟動替代 Spot 執行個體。分配策略會確定從中啟動替代執行個體的集區,如下所示:
-
如果分配策略是
priceCapacityOptimized
,則機群會在擁有最多 Spot 執行個體容量可用性的集區中啟動替代執行個體,同時將價格納入考慮並識別價格最低且具有高容量可用性的執行個體。 -
如果分配策略為
capacityOptimized
,則機群會在擁有最多 Spot 執行個體容量可用性的集區中啟動替代執行個體。 -
如果分配策略為
diversified
,則機群會將替代 競價型執行個體 分配到剩餘的集區中。