如何解決 Amazon ECS 中的 "ResourceInitializationError: failed to validate logger args" (ResourceInitializationError:無法驗證日誌參數) 錯誤?

上次更新日期:2022 年 7 月 22 日

在 Amazon Elastic Container Service (Amazon ECS) 中執行任務時,我收到以下錯誤:"ResourceInitializationError: failed to validate logger args: create stream has been retried 1 times: failed to create Cloudwatch log stream: ResourceNotFoundException: The specified log group does not exist. : exit status 1" (ResourceInitializationError:無法驗證日誌參數:已重試 1 次建立串流:無法建立 Cloudwatch 日誌串流:ResourceNotFoundException:指定的日誌群組不存在。:退出狀態 1)。如何解決該錯誤?

簡短描述

當 Amazon ECS 任務找不到任務定義中定義的 Amazon CloudWatch 日誌群組時,Amazon ECS 會傳回 ResourceInitialization 錯誤。若要解決此錯誤,請為任務建立新的日誌群組。

解決方案

若要解決資 ResourceInitialization 錯誤,請選擇下列其中一種解決方案,以為任務建立新的日誌群組。

在主控台中建立 CloudWatch 日誌群組

  1. 開啟 CloudWatch 主控台
  2. 從導覽列選擇 Amazon ECS 叢集所在的 Region (區域)。
  3. 在左側導覽窗格中,選擇 Logs (日誌),然後選擇 Log groups (日誌群組)。
  4. Log groups (日誌群組) 視窗中,選擇 Create log group (建立日誌群組)。

使用 AWS CLI 建立 CloudWatch 日誌群組

使用 create-log-group AWS Command Line Interface (AWS CLI) 命令建立CloudWatch log group (CloudWatch 日誌群組)。下列範例命令會建立名為 mylogs 的日誌群組:

注意:如果您在執行 AWS CLI 命令時收到錯誤,請確認您使用的是最新版 AWS CLI

aws logs create-log-group --log-group-name mylogs

使用 Amazon ECS 中的自動組態功能

Amazon ECS 主控台中的自動設定選項會使用任務定義系列名稱 (以 ecs 為字首),代表您建立日誌群組。下列範例會在 Task Definition (任務定義) 中指定日誌組態

{
  "containerDefinitions": [
    {
      "logConfiguration": {
        "logDriver": "awslogs",
         "options": {
           "awslogs-group": "/ecs/task_definition_familyname ",
           "awslogs-region": "eu-west-1",
           "awslogs-stream-prefix": "ecs"
    }
  }
}

您也可以透過指定日誌組態選項並新增值為 true 的金鑰 awslogs-create-group 來建立自訂日誌群組,以代表您建立日誌群組。

下列範例會使用選項集在 Task Definition (任務定義) 中指定日誌組態

{
  "containerDefinitions": [
    {
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "example_container",
          "awslogs-region": "eu-west-1",
          "awslogs-create-group": "true",
          "awslogs-stream-prefix": "example"
    }
  }
}

注意:受管 AWS Identity and Access Management (IAM) 政策 AmazonECSTaskExecutionRolePolicy 不包含 logs:CreateLogGroup 許可。若要使用 awslogs-create-group 選項,請新增 logs:CreateLogGroup 作為內嵌 IAM 政策。


此文章是否有幫助?


您是否需要帳單或技術支援?