

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

# Amazon EC2 隨需或 Amazon EC2 Spot
<a name="bestpractice5"></a>

大多數 AWS Batch 客戶使用 Amazon EC2 Spot 執行個體，因為比隨需執行個體節省成本。不過，如果您的工作負載執行數小時且無法中斷，則隨需執行個體可能更適合您。您可以隨時先嘗試 Spot 執行個體，並視需要切換到隨需。

如果您有下列需求和期望，請使用 Amazon EC2 隨需執行個體：
+ 任務的執行時間超過一小時，您無法容忍工作負載中斷。
+ 您的整體工作負載具有嚴格的 SLO （服務層級目標），無法增加運算時間。
+ 您需要的執行個體更有可能看到中斷。

如果您有下列需求和期望，請使用 Amazon EC2 Spot 執行個體：
+ 任務的執行時間通常為 30 分鐘或更短。
+ 在工作負載中，您可以容忍潛在的中斷和任務重新排程。如需詳細資訊，請參閱 [Spot 執行個體顧問](https://aws.amazon.com/ec2/spot/instance-advisor/)。
+ 如果中斷，可以從檢查點重新啟動長時間執行的任務。

您可以先在 Spot 執行個體上提交，然後使用隨需執行個體做為備用選項，來混合這兩種購買模式。例如，在連線至在 Amazon EC2 Spot 執行個體上執行的運算環境的佇列上提交您的任務。如果任務中斷，請從 Amazon EventBridge 擷取事件，並將其與 Spot 執行個體回收相關聯。然後，使用 AWS Lambda 函數或 將任務重新提交至隨需佇列 AWS Step Functions。如需詳細資訊，請參閱 [教學課程：針對失敗的任務事件傳送 Amazon Simple Notification Service 提醒](batch_sns_tutorial.md)、[處理 Amazon EC2 Spot 執行個體中斷的最佳實務](https://aws.amazon.com/blogs/compute/best-practices-for-handling-ec2-spot-instance-interruptions/)，以及[AWS Batch 使用 Step Functions 管理](https://docs.aws.amazon.com/step-functions/latest/dg/connect-batch.html)。

**重要**  
為您的隨需運算環境使用不同的執行個體類型、大小和可用區域，以維持 Amazon EC2 Spot 執行個體集區可用性並降低中斷率。