本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
受管運算環境
您可以使用受管運算環境來 AWS Batch 管理環境中運算資源的容量和執行個體類型。這是以您在建立運算環境時定義的運算資源規格為基礎。您可以選擇使用 Amazon EC2 隨需執行個體和 Amazon EC2 Spot 執行個體。或者,您可以在受管運算環境中使用 Fargate 和 Fargate Spot 容量。使用 Spot 執行個體時,您可以選擇設定最高價格。如此一來,Spot 執行個體只會在 Spot 執行個體價格低於隨需價格的指定百分比時啟動。
重要
不支援 Fargate Spot 執行個體 Windows containers on AWS Fargate。如果 FargateWindows 將任務提交至僅使用 Fargate Spot 運算環境的任務佇列,則會封鎖任務佇列。
受管運算環境會在您指定的 VPC和 子網路中啟動 Amazon EC2執行個體,然後向 Amazon ECS叢集註冊這些執行個體。Amazon EC2執行個體需要外部網路存取權,才能與 Amazon ECS服務端點通訊。某些子網路不會為 Amazon EC2執行個體提供公有 IP 地址。如果您的 Amazon EC2執行個體沒有公有 IP 地址,則必須使用網路地址轉譯 (NAT) 來取得此存取權。如需詳細資訊,請參閱 Amazon VPC使用者指南 中的NAT閘道。如需如何建立 的詳細資訊VPC,請參閱 建立 Virtual Private Cloud 。
依預設, AWS Batch 受管運算環境會使用AMI針對運算資源ECS最佳化的 Amazon 最新核准版本。不過,由於各種原因,您可能想要建立自己的 AMI,以用於受管運算環境。如需詳細資訊,請參閱運算資源 AMIs。
注意
AWS Batch 不會AMIs在建立運算環境之後自動升級 。例如,AMI當發行較新的 Amazon ECS最佳化版本時,它不會更新AMIs您運算環境中的 。您要負責管理訪客作業系統。這包括任何更新和安全修補程式。您也必須負責運算資源上安裝的任何其他應用程式軟體或公用程式。有兩種方法可以AMI為您的 AWS Batch 任務使用新的 。原始方式是完成以下步驟:
-
使用新的 建立新的運算環境AMI。
-
將運算環境新增至現有的任務佇列。
-
將較早的運算環境從任務佇列移除。
-
刪除較早的運算環境。
2022 年 4 月, AWS Batch 新增了更新運算環境的增強支援。如需詳細資訊,請參閱更新運算環境。若要使用增強的運算環境更新來更新 AMIs,請遵循下列規則:
-
不設定服務角色 (
serviceRole
) 參數,或將其設定為AWSServiceRoleForBatch服務連結角色。 -
將配置策略 (
allocationStrategy
) 參數設定為BEST_FIT_PROGRESSIVE
、SPOT_CAPACITY_OPTIMIZED
或SPOT_PRICE_CAPACITY_OPTIMIZED
。 -
將更新設定為最新的映像版本 (
updateToLatestImageVersion
) 參數設定為true
。 -
請勿在
imageId
、imageIdOverride
(在ec2Configuration
) 或啟動範本 () 中指定 AMI IDlaunchTemplate
。在此情況下, 會 AWS Batch 選取在啟動基礎設施更新 AWS Batch 時 AMI支援的最新 Amazon ECS最佳化。或者,您可以在imageId
或imageIdOverride
參數中指定 AMI ID,或LaunchTemplate
屬性識別的啟動範本。變更任何這些屬性會啟動基礎設施更新。如果在啟動範本中指定 AMI ID,則無法在imageId
或imageIdOverride
參數中指定 AMI ID 來取代 ID。只能透過指定不同的啟動範本來取代它。或者,如果啟動範本版本設定為$Default
或$Latest
,則設定啟動範本的新預設版本 (如果是$Default
),或將新版本新增至啟動範本 (如果是$Latest
)。
如果遵循這些規則,啟動基礎設施更新的任何更新都會重新選取 AMI ID。如果啟動範本 (launchTemplate
) 中的version
設定設為 $Latest
或 $Default
,即使 launchTemplate
未更新,也會在基礎設施更新時評估啟動範本的最新或預設版本。
建立多節點平行任務時的考量
AWS Batch 建議為執行多節點平行 (MNP) 任務和非MNP任務建立專用運算環境。這是由於在受管運算環境中建立運算容量的方式所致。建立新的受管運算環境時,如果您指定大於零minvCpu
的值,則 AWS Batch 會建立執行個體集區,以僅用於非MNP 任務。如果提交多節點平行任務, 會 AWS Batch 建立新的執行個體容量,以執行多節點平行任務。如果在同一運算環境中同時執行單節點和多節點平行任務,且設定了 minvCpus
或 maxvCpus
值,則如果所需的運算資源不可用, AWS Batch 則將等待目前的任務完成,然後再建立執行新任務所需的運算資源。