在Terraform

时间:2017-06-06 19:04:50

标签: terraform

我正在使用 terraform 在AWS中创建具有多个ips的实例。 我指定了private_ip的列表,并确保首先列出我想要的那个,但是它不遵守该命令。即使我改变周围的ips,顺序也不会改变。 我还尝试使用 private_ip 作为主要IP, private_ips 作为辅助ips。但是,我发现在创建实例时不会列出主ip。 有没有正确的方法来设置terraform中的主要和次要ips? 谢谢。

2 个答案:

答案 0 :(得分:0)

您需要创建ENI,然后将它们附加到实例。对于辅助,你需要做同样的事情,然后以相同的方式附加它,但给它索引为1.

resource "aws_network_interface" "foo" {
  subnet_id = "${aws_subnet.my_subnet.id}"
  private_ips = ["172.16.10.100"]
  tags {
    Name = "primary_network_interface"
  }
}

resource "aws_network_interface" "bar" {
  subnet_id = "${aws_subnet.my_subnet.id}"
  private_ips = ["172.16.10.101"]
  tags {
    Name = "secondary_network_interface"
  }
}

resource "aws_instance" "foo" {
    ami = "ami-22b9a343" # us-west-2
    instance_type = "t2.micro"
    network_interface {
     network_interface_id = "${aws_network_interface.foo.id}"
     device_index = 0
   } 
    network_interface {
     network_interface_id = "${aws_network_interface.bar.id}"
     device_index = 1
  }
}

https://www.terraform.io/docs/providers/aws/r/instance.html#private_ip https://www.terraform.io/docs/providers/aws/r/network_interface.html

答案 1 :(得分:0)

遇到同样的问题,我无法解决,所以我结束了:

  1. 首先应用terraform,不使用辅助IP地址。
  2. 添加辅助IP地址,并应用Terraform。

希望有帮助。