Spot 執行個體最佳實務
您的執行個體類型需求、預算需求以及應用程式設計將決定如何為應用程式應用下列最佳實務:
-
靈活使用各種執行個體類型。 Spot 執行個體集區是一組未使用的 EC2 執行個體,具有相同執行個體類型 (例如 m5.large) 和可用區域 (例如 us-east-1a)。您應該對於請求的執行個體類型,以及可在其中部署工作負載的可用區域具有彈性。這讓 Spot 有更好的機會找到並配置您所需的運算容量。例如,如果您願意使用 c4、m5 和 m4 系列的 large,則不要只要求使用 c5.large。
-
使用容量最佳化配置策略。 EC2 Auto Scaling 群組中的配置策略可協助您佈建目標容量,而無需手動尋找具有閒置容量的 Spot 執行個體集區。建議您使用容量最佳化策略,因為這種策略會自動從可用性最高的 Spot 執行個體集區佈建執行個體。由於您的 Spot 執行個體容量來自具有最佳容量的集區,因此可降低您 Spot 執行個體遭到中斷的機率。如需配置策略的詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的〈Spot 執行個體〉。
-
使用主動容量重新平衡。 容量重新平衡可協助您維持工作負載可用性,方法是在執行中的 Spot 執行個體收到兩分鐘的 Spot 執行個體中斷通知之前,使用新的 Spot 執行個體主動擴增您的 Auto Scaling 群組。啟用容量重新平衡時,Auto Scaling 會嘗試主動替換收到重新平衡建議的 Spot 執行個體,讓您有機會將工作負載重新平衡到中斷風險較低的新 Spot 執行個體。
-
使用整合的 AWS 服務管理您的 Spot 執行個體。 其他 AWS 服務與 Spot 整合,可降低整體運算成本,且無需管理個別執行個體或機群。建議您針對適用的工作負載,考慮下列解決方案:Amazon EMR、Amazon ECS、AWS Batch、Amazon EKS、SageMaker、AWS Elastic Beanstalk 和 Amazon GameLift。若要進一步了解這些服務的 Spot 最佳實務,請參閱 Amazon EC2 Spot 執行個體研討會網站
。 -
為 Spot 執行個體選擇現代化且正確的啟動工具。 若其中一個 AWS 整合服務不適合您的工作負載,但您仍然需要建置應用程式並控制 Spot 執行個體的啟動,請使用適當的工具。針對大多數工作負載,都建議您使用 EC2 Auto Scaling,因為其為各種工作負載 (例如採用 ELB 的應用程式、容器化工作負載和佇列處理任務) 提供了更全面的功能集。如果您需要對個別請求具備更多控制,並且正在尋找「僅啟動」的工具,請透過立即模式使用 EC2 機群做為 RunInstances 的直接替代方案。其具備了更廣泛的功能集,例如執行個體類型多樣化和配置策略。