本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行基礎設施更新
基礎設施更新會將運算環境中的執行個體取代為具有更新設定的新執行個體。此更新策略需要比擴展更新更長的時間,並且需要特定的服務角色和配置策略設定。基礎設施更新提供一種方法來修改基本運算環境組態,同時保持服務可用性。
重要
基礎設施更新需要 AWSServiceRoleForBatch 服務連結角色,以及 BEST_FIT_PROGRESSIVE、 SPOT_CAPACITY_OPTIMIZED或 的配置策略SPOT_PRICE_CAPACITY_OPTIMIZED。如果您的環境不符合這些要求,請改用藍/綠更新。
觸發基礎設施更新的變更
當您修改以下任何設定時, 會 AWS Batch 執行基礎設施更新。當您搭配擴展更新設定修改這些設定時,也會發生基礎設施更新。
下列設定會觸發基礎設施更新:
運算組態
-
allocationStrategy– 決定 如何 AWS Batch 選取執行個體類型。 -
instanceTypes– 指定要使用的 EC2 執行個體類型。 -
bidPercentage– Spot 執行個體的隨需價格百分比上限。 -
type– 運算環境類型 (EC2或SPOT)。
AMI 和啟動組態
-
imageId– 用於執行個體的特定 AMI。 -
ec2Configuration– EC2 組態,包括imageIdOverride。 -
launchTemplate– EC2 啟動範本設定。 -
ec2KeyPair– 執行個體存取的 SSH 金鑰對。 -
updateToLatestImageVersion– 自動 AMI 更新設定。
網路和安全性
-
subnets– 啟動執行個體的 VPC 子網路 (適用於 EC2 運算環境)。 -
securityGroupIds– 執行個體的安全群組 (適用於 EC2 運算環境)。 -
placementGroup– EC2 置放群組組態。
其他設定
-
instanceRole– EC2 執行個體的 IAM 角色。 -
tags– 套用至 EC2 執行個體的標籤。
重要
如果您同時修改任何基礎設施更新設定和擴展更新設定 (例如 desiredvCpus、 或 minvCpus)maxvCpus, 會 AWS Batch 執行基礎設施更新。基礎設施更新需要比擴展更新更長的時間。
基礎設施更新期間的 AMI 選擇
在基礎設施更新期間,運算環境的 AMI ID 可能會變更,取決於是否在這三個設定中的任何一個中指定 AMIs。AMIs是在 imageId(在 中computeResources)、 imageIdOverride(在 中ec2Configuration) 或 中指定的啟動範本中指定launchTemplate。假設沒有在這些設定中指定 AMI IDs,且updateToLatestImageVersion設定為 true。然後, 支援的最新 Amazon ECS 最佳化 AMI AWS Batch 會用於任何基礎設施更新。
如果在其中至少一個設定中指定 AMI ID,則更新取決於提供更新之前使用的 AMI ID 的設定。當您建立運算環境時,選取 AMI ID 的優先順序是啟動範本、imageId設定,最後是imageIdOverride設定。不過,如果使用的 AMI ID 來自啟動範本,則更新 imageId或 imageIdOverride設定不會更新 AMI ID。更新從啟動範本選取的 AMI ID 的唯一方法是更新啟動範本。如果啟動範本的版本參數為 $Default或 $Latest,則會評估指定啟動範本的預設或最新版本。如果預設選取不同的 AMI ID,或選取最新版本的啟動範本,則會在更新中使用該 AMI ID。
如果啟動範本未用於選取 AMI ID,則會使用 imageId或 imageIdOverride 參數中指定的 AMI ID。如果同時指定兩者,則會使用 imageIdOverride 參數中指定的 AMI ID。
假設運算環境使用 imageId、 imageIdOverride或 launchTemplate 參數指定的 AMI ID,而且您想要使用 支援的最新 Amazon ECS 最佳化 AMI AWS Batch。然後,更新必須移除提供 AMI IDs的設定。對於 imageId,這需要為該參數指定空字串。對於 imageIdOverride,這需要為 ec2Configuration 參數指定空字串。
如果 AMI ID 來自啟動範本,您可以變更為下列 AWS Batch 其中一種方式支援的最新 Amazon ECS 最佳化 AMI:
-
為
launchTemplateId或launchTemplateName參數指定空字串,以移除啟動範本。這會移除整個啟動範本,而不是單獨移除 AMI ID。 -
如果更新版本的啟動範本未指定 AMI ID,則
updateToLatestImageVersion參數必須設定為true。
更新期間的任務處理
使用更新政策,設定在基礎設施更新期間處理執行中任務的方式。當您設定 時terminateJobsOnUpdate=true,執行中的任務會立即終止、忽略 jobExecutionTimeoutMinutes設定,而且只要可以取代執行個體,更新就會立即繼續。當您設定 時terminateJobsOnUpdate=false,執行中的任務會在指定的逾時期間內繼續,預設逾時為 30 分鐘,如果超過逾時,任務就會終止。
注意
若要重試在更新期間終止的任務,請設定任務重試策略。如需詳細資訊,請參閱自動化任務重試。
監控基礎設施更新
使用 AWS Batch 主控台監控您的基礎設施更新,以監看運算環境狀態變更為 UPDATING、監控執行個體替換進度,以及檢查是否有任何失敗的更新。一旦運算環境狀態為 ,更新就會成功VAILD。您也可以使用 CloudWatch 追蹤執行個體終止事件,並在更新期間監控任務狀態。使用 AWS CLI,使用 describe-compute-environments命令來檢查狀態並監控執行個體生命週期事件。