Terraform aws_flow_log 未添加 IAM 角色 ARN
Terraform aws_flow_log not adding IAM role ARN
每次 运行 terraform apply
aws_flow_log
资源的每个实例都需要更改
# module.us-west-2.aws_flow_log.flow_log[1] must be replaced
-/+ resource "aws_flow_log" "flow_log" {
...
+ iam_role_arn = "arn:aws:iam::xxx:role/vpc-flow-log-role" # forces replacement
...
当我访问 AWS 控制台中的 vpc 时,我发现 IAM 角色 ARN 不存在。
还有其他人遇到过这个问题吗?在这种情况下,日志目标是 s3 存储桶而不是 cloudwatch_log_group
。所以,这是无关紧要的:https://github.com/hashicorp/terraform-provider-aws/pull/6377.
我解决了我的问题。如果 log_destination
设置为 s3 存储桶,则无需指定 iam_role_arn
,您可以像这样从资源中删除参数:
resource aws_flow_log flow_log{
log_destination = var.log_destination
log_destination_type = var.log_destination_type
traffic_type = var.traffic_type
vpc_id = var.aws_vpc_id
depends_on = [ var.log_destination ]
}
而不是
resource aws_flow_log flow_log{
iam_role_arn = aws_iam_role.vpc_flow_log.arn
log_destination = var.log_destination
log_destination_type = var.log_destination_type
traffic_type = var.traffic_type
vpc_id = var.aws_vpc_id
depends_on = [ var.log_destination ]
}
在这种情况下 var.log_destination_type
是“s3”。
每次 运行 terraform apply
aws_flow_log
资源的每个实例都需要更改
# module.us-west-2.aws_flow_log.flow_log[1] must be replaced
-/+ resource "aws_flow_log" "flow_log" {
...
+ iam_role_arn = "arn:aws:iam::xxx:role/vpc-flow-log-role" # forces replacement
...
当我访问 AWS 控制台中的 vpc 时,我发现 IAM 角色 ARN 不存在。
还有其他人遇到过这个问题吗?在这种情况下,日志目标是 s3 存储桶而不是 cloudwatch_log_group
。所以,这是无关紧要的:https://github.com/hashicorp/terraform-provider-aws/pull/6377.
我解决了我的问题。如果 log_destination
设置为 s3 存储桶,则无需指定 iam_role_arn
,您可以像这样从资源中删除参数:
resource aws_flow_log flow_log{
log_destination = var.log_destination
log_destination_type = var.log_destination_type
traffic_type = var.traffic_type
vpc_id = var.aws_vpc_id
depends_on = [ var.log_destination ]
}
而不是
resource aws_flow_log flow_log{
iam_role_arn = aws_iam_role.vpc_flow_log.arn
log_destination = var.log_destination
log_destination_type = var.log_destination_type
traffic_type = var.traffic_type
vpc_id = var.aws_vpc_id
depends_on = [ var.log_destination ]
}
在这种情况下 var.log_destination_type
是“s3”。