本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 任務生命週期
無論是以手動方式或是做為服務的一部分,當任務啟動時,它可以在自動完成或手動停止之前通過數個狀態。有些任務是做為批次任務執行的,因此會很自然地從 PENDING
前進到 RUNNING
,最後前進到 STOPPED
。其他可做為服務一部分的任務會不限期的持續執行,或者可根據需要擴展或縮小。
當請求任務狀態變更時 (例如停止任務或更新需要擴展或縮小的服務計數時),Amazon ECS 容器代理程式會以任務的最後已知狀態 (lastStatus
),以及任務的所需狀態 (desiredStatus
) 來追蹤這些變更。最後已知狀態和所需狀態,都可在主控台或透過使用 API 或 AWS CLI說明任務來查看。
下面的流程圖顯示任務生命週期流程。

生命週期狀態
以下是每個任務生命週期狀態的說明。
- 佈建中
-
Amazon ECS 必須執行額外的步驟,然後再啟動任務。例如,對於使用
awsvpc
網路模式的任務,需要佈建彈性網路介面。 - 待定
-
這是一個轉換狀態,Amazon ECS 在容器代理程式上等待採取進一步的動作。任務會一直處於待處理狀態,直到任務有可用的資源為止。
- 啟動中
-
這是一種轉換狀態,其中 Amazon ECS 必須在啟動任務後但在任務可轉移為
RUNNING
狀態前執行額外的步驟。這是 Amazon ECS 提取容器映像、建立容器、設定任務聯網、註冊負載平衡器目標群組,以及設定服務探索的狀態。 - RUNNING (執行中)
-
任務成功執行中。
- 停用中
-
這是一種轉換狀態,其中 Amazon ECS 必須在任務停止之前執行其他步驟。例如,對於屬於設定為使用 Elastic Load Balancings 目標群組之服務一部分的任務,目標群組會在此狀態期間取消註冊。
- 停止中
-
這是一個轉換狀態,Amazon ECS 在容器代理程式上等待採取進一步的動作。
對於 Linux 容器,容器代理程式會傳送
SIGTERM
訊號,通知應用程式需要完成並關閉,然後在等待任務定義中設定的StopTimeout
持續時間SIGKILL
後傳送 。 - 取消佈建中
-
Amazon ECS 必須在任務停止後但在任務轉移為
STOPPED
狀態之前執行額外的步驟。例如,對於使用awsvpc
網路模式的任務,需要分離並刪除彈性網路介面。 - 已停止
-
已成功停止任務。
如果您的任務因錯誤而停止,請參閱 檢視 Amazon ECS 已停止的任務錯誤。
- DELETED
-
這是任務停止時的過渡狀態。此狀態不會在主控台中顯示,但是會顯示在
describe-tasks
。