如何将多个实例添加到 aws_network_interface_sg_attachment?
How do I add multiple instances to aws_network_interface_sg_attachment?
我有以下代码并想将安全组附加到弹性网络接口 (ENI)。
resource "aws_instance" "foo" {
# us-west-2
count = var.instances
ami = data.aws_ami.ubuntu.id
instance_type = "t2.micro"
key_name = aws_key_pair.deployer.key_name
subnet_id = aws_subnet.tf_test_subnet.id
vpc_security_group_ids = [ aws_security_group.allow_tls.id ]
}
resource "aws_network_interface_sg_attachment" "sg_attachment" {
security_group_id = aws_security_group.allow_tls.id
network_interface_id = element(aws_instance.foo.*.primary_network_interface_id,0)
}
但是在部署代码后我得到
Error: security group sg-060153b203cbaa6d5 already attached to interface ID eni-006293e38b0056a91
我怀疑这可能是因为 ,0 索引值,但我不确定?
所以问题是我如何遍历实例并将安全组应用到 ENI
您的模板实际上正在尝试附加它两次:
- 曾经作为
aws_instance resource
的 vpc_security_group_ids
属性的一部分,
- 然后再次使用
aws_network_interface_sg_attachment
。
在您的情况下,您不需要 aws_network_interface_sg_attachment
资源。
我有以下代码并想将安全组附加到弹性网络接口 (ENI)。
resource "aws_instance" "foo" {
# us-west-2
count = var.instances
ami = data.aws_ami.ubuntu.id
instance_type = "t2.micro"
key_name = aws_key_pair.deployer.key_name
subnet_id = aws_subnet.tf_test_subnet.id
vpc_security_group_ids = [ aws_security_group.allow_tls.id ]
}
resource "aws_network_interface_sg_attachment" "sg_attachment" {
security_group_id = aws_security_group.allow_tls.id
network_interface_id = element(aws_instance.foo.*.primary_network_interface_id,0)
}
但是在部署代码后我得到
Error: security group sg-060153b203cbaa6d5 already attached to interface ID eni-006293e38b0056a91
我怀疑这可能是因为 ,0 索引值,但我不确定?
所以问题是我如何遍历实例并将安全组应用到 ENI
您的模板实际上正在尝试附加它两次:
- 曾经作为
aws_instance resource
的vpc_security_group_ids
属性的一部分, - 然后再次使用
aws_network_interface_sg_attachment
。
在您的情况下,您不需要 aws_network_interface_sg_attachment
资源。