Terraform:日志驱动程序 awslogs 选项 'awslogs-group' 包含无效字符

Terraform: Log driver awslogs option 'awslogs-group' contains invalid characters

我有以下使用 terraform 和 apex 的 ECS 配置。

resource "aws_ecs_task_definition" "task" {
    ...
      container_definitions = <<DEFINITION
      [
       {
    "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "${aws_cloudwatch_log_group.test_log_group.arn}",
          "awslogs-region": "${var.region}",
          "awslogs-stream-prefix": "/ecs"
        }
      }
    }
   ]
  DEFINITION
  }

以及cloudwatch资源配置:

resource "aws_cloudwatch_log_group" "test_log_group" {
  name              = "test_log_group"
  retention_in_days = 30
}

当运行apex infra apply时,出现如下错误!尝试使用不同的字符集,有和没有特殊字符等。没有任何效果。希望有人能帮助我:

ClientException: Log driver awslogs option 'awslogs-group' contains invalid characters.

awslogs Docker drivername 组作为 awslogs-group 的值,而不是日志组的 ARN。

所以您只想使用以下内容:

resource "aws_ecs_task_definition" "task" {
  # ...
  container_definitions = <<DEFINITION
[
  {
    "logConfiguration": {
      "logDriver": "awslogs",
      "options": {
          "awslogs-group": "${aws_cloudwatch_log_group.test_log_group.name}",
          "awslogs-region": "${var.region}",
          "awslogs-stream-prefix": "/ecs"
      }
    }
  }
]
DEFINITION
}