取得“Fargate 要求任務定義具有執行角色 ARN 以支援 ECR 映像。”建立 Fargate 任務但角色已定義時

取得“Fargate 要求任務定義具有執行角色 ARN 以支援 ECR 映像。”建立 Fargate 任務但角色已定義時

我正在嘗試將一個非常簡單的 Web 應用程式部署到 AWS Fargate。

我已將應用程式後端的 docker 映像推送到 ECR,並嘗試為容器設定 Fargate 任務定義。我定義了任務的所有屬性,設定相當簡單,但任務不會創建,我總是收到錯誤:

提供的請求無效:建立任務定義:Fargate 要求任務定義具有執行角色 ARN 以支援 ECR 映像。 (服務:AmazonECS;狀態代碼:400;錯誤代碼:ClientException;請求 ID:;代理:null)」(RequestToken:,HandlerErrorCode:InvalidRequest)

我知道我有一個 ECR 映像,我已經建立並選擇了 Fargate 想要的 IAM 角色(使用本文檔)但它仍然抱怨。

我最初使用 EC2 啟動類型建立任務,沒有出現任何問題,但出於成本和簡單性原因,決定使用 Fargate 啟動類型。

我還需要做什麼?

答案1

我剛剛遇到了這個問題,並透過 AWS 解決了它。顯然,在使用 GUI 進行任務定義時新增與 IAM 角色關聯的權限時存在錯誤。

要解決此問題,您可以轉到雲端形成並在那裡指定設定檔。您應該在那裡看到失敗的任務定義。點擊與您的任務定義關聯的堆疊並選擇更新/在設計器中編輯模板

編輯 JSON 並將其添加到下面"TaskRoleArn": "your task role"

{
  […]
  "executionRoleArn" : "the-same-string-that-taskRoleArn-is-set-to"
  […]
}

這應該可以解決你的問題

答案2

這似乎是新 ECS UI 中的一個錯誤。

透過取消選取左側邊欄中的「新 ECS 體驗」選項來切換回舊 UI,它應該可以運作。

答案3

“更新”按鈕對我來說已停用。有什麼想法如何啟用它或其他解決方法嗎?幾天前我能夠創建 Fargate 服務定義,因此我有來自雲端形成的模板

相關內容