我正在为VPC创建流日志,该日志将日志发送到cloudwatch组。我使用的是此链接https://www.terraform.io/docs/providers/aws/r/flow_log.html的CloudWatch Logging部分中的完全相同的代码,只是使用我的VPC的ID更改了vpc_id。
虽然流日志已创建,但是大约15分钟后,状态从“活动”更改为“访问错误:无法访问日志目标。”
1)这不是一个政策问题,因为当我从控制台执行相同操作时,我使用的是与terraform创建的IAM角色相同,并且运行良好。
2)我尝试输入一个已经存在的cloudwatch日志组的ARN,而不是从terraform代码创建一个,但是它不能正常工作。
请让我知道我要去哪里了。
答案 0 :(得分:1)
要解决此问题,请看我的示例:
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"
}
错误在log_destination
中。 Terraform
在ARN的末尾添加“:*”。我通过在AWS控制台中手动创建日志组,然后将其导入terraform
,然后进行terraform state show
来比较两者来进行测试。
我的日志组和流现在正在工作。
答案 1 :(得分:0)
因此,事实证明这是Terraform中的错误。问题https://github.com/terraform-providers/terraform-provider-aws/issues/6373似乎将在下一版本1.43.0(提供AWS)中得到解决。