檢視 Amazon ECS 已停止任務錯誤 - Amazon Elastic Container Service

檢視 Amazon ECS 已停止任務錯誤

如果啟動任務時有問題,您的任務可能會因為應用程式或組態錯誤而停止。例如,您執行任務,而任務顯示 PENDING 狀態,然後就消失。

如果您的任務是由 Amazon ECS 服務建立,Amazon ECS 為維護服務所採取的動作會發佈在服務事件中。您可以在 AWS Management Console、AWS CLI、AWS SDK、Amazon ECS API 或使用 SDK 和 API 的工具中檢視事件。這些事件包括 Amazon ECS 停止並取代任務,因為任務中的容器已停止執行,或多次未通過 Elastic Load Balancing 的運作狀態檢查。

如果任務在 Amazon EC2 或外部電腦的容器執行個體上執行,您也可以檢視容器執行時期與 Amazon ECS 代理程式的日誌。這些日誌位於主機 Amazon EC2 執行個體或外部電腦上。如需更多詳細資訊,請參閱 檢視 Amazon ECS 容器代理程式日誌

程序

Console
AWS Management Console

您可透過主控台按下列步驟來檢查已停止任務是否有錯誤。若要檢視已停止任務,您必須變更篩選選項。

已停止任務只會在主控台中顯示 1 小時。

  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇叢集

  3. 叢集頁面上,選擇叢集。

  4. Cluster : name (叢集:名稱) 頁面上,選擇 Tasks (任務) 索引標籤。

  5. 設定篩選條件以顯示已停止的任務。在篩選所需狀態欄位中選擇已停止

    Stopped (已停止) 選項會顯示已停止的任務,而 Any desired status (任何所需狀態) 會顯示所有任務。

  6. 選擇要檢查的已停止任務。

  7. 在已停止任務的列中,在 Last Status (上次狀態) 欄中,選擇 Stopped (已停止)。

    快顯視窗隨即顯示停止原因。

AWS CLI
  1. 列出叢集中停止的任務。輸出包含任務的 Amazon Resource Name (ARN),您需要 Amazon Resource Name (ARN) 來描述任務。

    aws ecs list-tasks \ --cluster cluster_name \ --desired-status STOPPED \ --region region
  2. 描述已停止任務以擷取資訊。如需詳細資訊,請參閱 AWS Command Line Interface Reference 中的 describe-tasks

    aws ecs describe-tasks \ --cluster cluster_name \ --tasks arn:aws:ecs:region:account_id:task/cluster_name/task_ID \ --region region

使用下列輸出參數。

  • stopCode – 停止代碼會指出任務停止的原因,例如 ResourceInitializationError

  • StoppedReason – 任務停止的原因。

  • reason (在 containers 結構中) – 原因會提供已停止容器的額外詳細資訊。

後續步驟

檢視已停止任務,取得相關錯誤成因資訊。如需更多詳細資訊,請參閱 Amazon ECS 已停止任務錯誤訊息