【发布时间】:2021-03-26 18:07:54
【问题描述】:
我正在 Terraform 11 中添加额外的安全组,使用 AWS Provider 2.70.0 到 EFS 挂载目标。
代码块是:
resource "aws_efs_mount_target" "default" {
count = "${length(split(",",var.backend_subnets)) > 0 ? length(split(",",var.backend_subnets)) : 0}"
file_system_id = "${aws_efs_file_system.default.id}"
ip_address = "${var.mount_target_ip_address}"
subnet_id = "${element(split(",", var.backend_subnets), count.index)}"
security_groups = ["${var.additional_security_groups == "" ? aws_security_group.efs_default_sg.id : format("%s,%s",var.additional_security_groups,aws_security_group.efs_default_sg.id)}"]
}
变量定义为:
variable "additional_security_groups" {
description = "Comma separated string of security group ID's"
default = ""
}
但出现以下错误:
* module.efs.aws_efs_mount_target.default[1]: 1 error(s) occurred:
* aws_efs_mount_target.default.1: ValidationException:
status code: 400, request id: 5ee48121-27c3-432b-98e9-e2ffdc6e0fdd
plugin.terraform-provider-aws_v2.70.0_x4: 2021/03/26 17:49:50 [ERR] plugin: plugin server: accept unix /tmp/plugin935042092: use of closed network connection
在没有附加安全组的情况下运行没有问题。
【问题讨论】:
-
试试
TF_LOG=debug,这样您就可以看到发送到 AWS 的实际请求和响应。 -
该错误来自 TF_LOG=debug。我认为这是一个 AWS Provider Plugin 问题。
-
@TheoSweeny 您提供的安全组是否属于与指定子网相同的 VPC?安全组的形式为
sg-xxx?为什么它在没有安全组的情况下工作是If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.CreateMountTarget。为什么我要考虑这个,因为错误我ValidationException. -
是的,两个 SG 都在同一个 VPC 中。
-
aws_efs_file_system资源是什么样的?
标签: amazon-web-services security continuous-integration terraform amazon-efs