本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon EC2 Spot 最佳實務 AWS Batch
當您選擇 Amazon Elastic Compute Cloud (EC2) Spot 執行個體時,您可以最佳化工作流程以節省成本,有時成本會大幅提高。如需詳細資訊,請參閱 Amazon EC2 Spot 的最佳實務。
若要最佳化工作流程以節省成本,請考慮下列 Amazon EC2 Spot 最佳實務 AWS Batch:
-
選擇
SPOT_CAPACITY_OPTIMIZED
配置策略 – 從最深層的 Amazon EC2 Spot 容量集區 AWS Batch 中選擇 Amazon EC2 執行個體。如果您擔心中斷,這是適當的選擇。如需詳細資訊,請參閱的執行個體類型配置策略 AWS Batch。 -
多樣化執行個體類型 – 若要多樣化執行個體類型,請考慮相容的大小和系列,然後根據價格或可用性進行 AWS Batch 選擇。例如,將
c5.24xlarge
視為c5.12xlarge
或c5a
、、m5
、c5n
c5d
和m5d
系列的替代方案。如需詳細資訊,請參閱靈活了解執行個體類型和可用區域。 -
減少任務執行時間或檢查點 – 我們建議不要在使用 Amazon EC2 Spot 執行個體時執行需要一小時或更久才能避免中斷的任務。如果您將任務分割或檢查點為包含 30 分鐘或更短時間的較小部分,則可以大幅降低中斷的可能性。
-
使用自動重試 – 為了避免 AWS Batch 任務中斷,請設定任務的自動重試。批次任務可能因下列任何原因中斷:傳回非零的結束碼、發生服務錯誤,或發生執行個體回收。您最多可以設定 10 次自動重試。首先,我們建議您設定至少 1-3 次自動重試。如需追蹤 Amazon EC2 Spot 中斷的詳細資訊,請參閱 Spot 中斷儀表板
。 對於 AWS Batch,如果您設定重試參數,任務會放置在任務佇列的前面。也就是說,任務會獲得優先順序。當您建立任務定義或在 中提交任務時 AWS CLI,您可以設定重試策略。如需詳細資訊,請參閱 Submit-job。
$
aws batch submit-job --job-name MyJob \ --job-queue MyJQ \ --job-definition MyJD \ --retry-strategy attempts=2
-
使用自訂重試 – 您可以將任務重試策略設定為特定應用程式結束碼或執行個體回收。在下列範例中,如果主機造成失敗,則任務最多可重試五次。不過,如果任務因不同原因而失敗,任務會結束,且狀態會設為
FAILED
。"retryStrategy": { "attempts": 5, "evaluateOnExit": [{ "onStatusReason" :"Host EC2*", "action": "RETRY" },{ "onReason" : "*" "action": "EXIT" }] }
-
使用 Spot 中斷儀表板 – 您可以使用 Spot 中斷儀表板來追蹤 Spot 中斷。應用程式會在回收的 Amazon EC2 Spot 執行個體上提供指標,以及 Spot 執行個體所在的可用區域。如需詳細資訊,請參閱 Spot 中斷儀表板