本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用容器重新啟動政策在 Amazon ECS 任務中重新啟動個別容器
您可以為任務定義中定義的每個必要與非必要容器啟用重新啟動政策,以更快地克服暫時性故障並維持任務可用性。在為容器啟用重新啟動政策後,如果容器結束,Amazon ECS 可以重新啟動容器,無需取代任務。
容器預設不會啟用重新啟動政策。在為容器啟用重新啟動政策後,您可以指定不會重新啟動容器的結束代碼。這些可以是指示成功的結束代碼,例如不需要重新啟動的 0 結束代碼。您亦可指定容器必須持續成功執行多久之後才可嘗試重新啟動。如需這些參數的相關資訊,請參閱 重新啟動政策。如需指定這些值的任務定義範例,請參閱在 Amazon ECS 任務定義中指定容器重新啟動政策。
您可以使用 Amazon ECS 任務中繼資料端點或 CloudWatch Container Insights 來監控容器重新啟動的次數。如需有關任務中繼資料端點的詳細資訊,請參閱 Amazon ECS 任務中繼資料端點第 4 版與Fargate 上任務的 Amazon ECS 任務中繼資料端點第 4 版。如需有關 Amazon ECS Container Insights 指標的詳細資訊,請參閱 Amazon CloudWatch User Guide 中的 Amazon ECS Container Insights metrics。
託管於 Fargate、Amazon EC2 執行個體以及使用 Amazon ECS Anywhere 的外部執行個體上的任務,皆支援容器重新啟動政策。
考量事項
為容器啟用重新啟動政策之前,請考量下列事項:
-
Fargate 上的 Windows 容器不支援重新啟動政策。
-
對於託管於 Amazon EC2 執行個體上的任務,此功能要求具備版本
1.86.0或更新的容器代理程式。不過,我們建議您使用最新版的容器代理。如需如何檢查代理程式版本及更新至最新版本的資訊,請參閱「更新 Amazon ECS 容器代理程式」。 -
如果搭配
bridge網路模式使用 EC2,應用程式容器中的FLUENT_HOST環境變數可能會在重新啟動 FireLens 日誌路由器容器 (容器定義中具有firelensConfiguration物件的容器) 之後變得不準確。這是因為FLUENT_HOST是動態 IP 位址,重新啟動之後可能發生變更。從應用程式容器直接向FLUENT_HOSTIP 位址寫入日誌的操作,可能會在該位址變更後開始失敗。如需FLUENT_HOST的相關資訊,請參閱 為高輸送量設定 Amazon ECS 日誌。 -
Amazon ECS 代理程式會處理容器重新啟動政策。如果某些非預期原因導致 Amazon ECS 代理程式失敗或不再執行,容器將不會重新啟動。
-
政策中定義的重啟嘗試週期,決定容器在 Amazon ECS 重新啟動容器之前必須執行的時長 (以秒為單位)。