使用 terraform 创建 aws_flow_log 时出现访问错误

Shi*_*wat 5 amazon-web-services amazon-cloudwatch terraform

我正在为 VPC 创建一个流日志,将日志发送到 cloudwatch 组。我使用此链接的 CloudWatch Logging 部分中完全相同的代码: https: //www.terraform.io/docs/providers/aws/r/flow_log.html,只是将 vpc_id 更改为我的 VPC 的 id。

虽然已创建流日志,但大约 15 分钟后,状态从“活动”更改为“访问错误:日志目标不可访问”。

1)这不是一个策略问题,因为当我从控制台执行相同操作时,我使用的是 terraform 创建的相同 IAM 角色,并且它工作得很好。

2) 我尝试输入现有 cloudwatch 日志组的 ARN,而不是从 terraform 代码创建一个,但效果不佳。

请让我知道我哪里出错了。

小智 5

要解决这个问题,请看我的示例:

resource "aws_flow_log" "management-vpc-flow-log-reject" {
  log_destination = "arn:aws:logs:ap-southeast-2:XXXXXXXXXXX:log-group:REJECT-TRAFFIC-VPC-SHARED-SERVICES"
  iam_role_arn    = "${aws_iam_role.management-flow-log-role.arn}"
  vpc_id          = "${aws_vpc.management.id}"
  traffic_type    = "REJECT"
}
Run Code Online (Sandbox Code Playgroud)

错误是在log_destination. Terraform在 ARN 末尾添加“:*”。我通过在 AWS 控制台中手动创建日志组,然后将其导入到 中terraform,然后执行 aterraform state show来比较两者来对此进行测试。

我的日志组和流现在正在工作。