為什麼 Amazon ECS 部署斷路器將我的部署狀態設定為「失敗」?

1 分的閱讀內容
0

Amazon Elastic Container Service (Amazon ECS) 部署斷路器將我的部署狀態設定為「失敗」。我想對導致部署失敗的原因進行疑難排解。

簡短描述

當部署中連續失敗的次數達到定義的閾值時,部署斷路器會將部署狀態設定為失敗。您可能會收到以下錯誤訊息:

「資源處理常式傳回訊息: 「『ECS 部署斷路器遭到觸發』作業期間發生錯誤。」(RequestToken:xxxxxxxx-xxxx-xxxxxx-xxxxxxx,HandlerErrorCode: GeneralServiceException)」

以下問題可能會導致部署失敗:

  • 容器未通過運作狀態檢查。
  • 目標群組未通過 Application Load Balancer 運作狀態檢查。
  • Amazon Elastic Container Registry (Amazon ECR) 映像檔不存在。
  • 您的容器執行個體未滿足所有要求。
  • 任務已停止或啟動失敗。

解決方法

若要對此問題進行疑難排解,請檢查 Amazon ECS 服務事件訊息,以確定 Amazon ECS 啟用斷路器的原因。然後根據原因採取以下進行疑難排解動作。

容器未通過運作狀態檢查

如果任務中的 Amazon ECS 容器無法通過執行狀況檢查,您將收到以下錯誤訊息:

「(服務 AWS-Service) (任務 ff3e71a4-d7e5-428b-9232-2345657889) 容器運作狀態檢查失敗。」

若要解決此錯誤,請執行下列動作:

如需詳細資訊,請參閱如何對 Amazon ECS 任務的容器運作狀態檢查失敗進行疑難排解?

目標群組未通過 Application Load Balancer 運作狀態檢查

若要解決此問題,請完成下列步驟:

  1. 確認您是否正確設定了目標群組的運作狀態檢查設定。
  2. 確定您的應用程式正確回應指定的運作狀態檢查請求。另外,確定沒有網路或安全群組問題阻止運作狀態檢查請求。

如需詳細資訊,請參閱如何對 Application Load Balancer 的運作狀態檢查失敗進行疑難排解?

**注意:**只有當運作狀態檢查連續失敗時,Amazon ECS 才會啟動復原。

Amazon ECR 映像檔不存在

若要解決此問題,請完成下列步驟:

  1. 確認任務定義中的映像檔 URI 是否正確,以及是否存在於您的 Amazon ECR 儲存庫或其他容器登錄檔中。
  2. 確定您的 Amazon ECS 任務執行 IAM 角色具有從 Amazon ECR 提取映像檔的正確權限。
  3. 檢查您的 Amazon ECS 叢集和容器登錄檔之間的網路連線問題。

如需詳細資訊,請參閱如何解決當我的任務無法在 Amazon ECS 叢集中啟動時,出現的「映像檔不存在」錯誤?

您的容器執行個體未滿足所有要求

若要解決此問題,請參閱如何解決 Amazon ECS 中的「沒有容器執行個體符合其所有要求」錯誤?

任務已停止或無法啟動

若要解決此問題,請完成下列步驟:

  1. 使用 Amazon CloudWatch Logs Insights 查看日誌,並使用 DescribeTasks API 取得任務的 stopedReason
  2. 確認叢集具有活動執行個體。
  3. 確定任務的 CPU 或記憶體不超過容器執行個體的 CPU 或記憶體。

如需詳細資訊,請參閱為什麼我的 Amazon ECS 任務停止了?以及為什麼 Amazon ECS 叢集中的任務無法啟動?

相關資訊

宣布 Amazon ECS 部署斷路器

AWS 官方
AWS 官方已更新 2 個月前