Terraform:创建两个AWS EC2实例并通过变量传递私有IP

时间:2020-11-06 06:10:08

标签: terraform terraform-provider-aws

我是terraform的新手,在创建ec2实例时遇到问题,我的条件是,我正在从变量文件(如IP池)传递private_Ips值并创建两个ec2实例,所以当我运行{{1 }}第一次创建两个ec2实例,但是当我第二次运行terraform apply时,它说IP已经被使用,它不会占用第三和第四IP。我想在第二次运行它以获取第三和第四IP。以下是我的定义。您能建议一下吗?

var.tf

terraform apply

main.tf

variable "private_ips" {

   default = {

    "0" = "x.x.x.x"

    "1" = "x.x.x.x"

    "2" = "x.x.x.x"

    "3" = "x.x.x.x"

  }

}

1 个答案:

答案 0 :(得分:0)

Terraform是一种有状态的工具。因此,每当创建一些基础架构时,它都会跟踪(称为Terraform state)。整个想法是,如果您第一次运行terraform apply,它将创建一些基础结构。然后任何后续运行只需更新即可完成之前创建的操作(对.tf文件进行任何更改)。

您可能想要阅读workspaces的想法,该想法是针对目标基础结构的多个独立副本使用相同的配置(.tf文件)。通常用于开发/测试/产品类型的设置。可能就是您想要的。