【问题标题】:How do I add multiple instances to aws_network_interface_sg_attachment?如何将多个实例添加到 aws_network_interface_sg_attachment?
【发布时间】:2020-12-10 02:39:01
【问题描述】:

我有以下代码,并希望将安全组附加到弹性网络接口 (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

【问题讨论】:

    标签: amazon-web-services terraform aws-security-group elastic-network-interface


    【解决方案1】:

    您的模板实际上试图附加两次:

    • 曾经作为aws_instance resourcevpc_security_group_ids 属性的一部分,
    • 然后再次使用aws_network_interface_sg_attachment

    在您的情况下,您不需要 aws_network_interface_sg_attachment 资源。

    【讨论】:

    • 啊好的,谢谢你,我不知道他们是一样的
    • 是的,这可能会造成混淆。如果你有循环依赖,单独的附件资源会很有帮助,这里不是这种情况。
    • 刚刚在没有aws_network_interface_sg_attachment 的代码上运行了terraform apply 组件就像一个魅力,感谢agian
    • 当然,很高兴我能帮上忙
    猜你喜欢
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多