如何确定地形执行优先级

How to prioritize terraform execution priority

在terraform中创建rds和elastic cache后, 我想调整优先级以便设置 ec2。

这对 terraform 可行吗?

准确地说,我在 ec2 上 运行 docker。我想将弹性缓存的端点,由 terraform 创建的 RDS 通过环境变量传递给 docker。

感谢您阅读我的问题。

用terraform的Implicit and Explicit Dependencies是可行的。

因此,您可以定义先创建哪个资源,然后再创建哪个资源。

它由以下构造支持,它采用资源列表:

  depends_on = [
    "", "",
]

这是一个例子:

resource "aws_db_instance" "rds_example" {
  allocated_storage    = 10
  storage_type         = "gp2"
  engine               = "mysql"
  engine_version       = "5.6.17"
  instance_class       = "db.t1.micro"
  name                 = "mydb"
  username             = "foo"
  password             = "bar"
  db_subnet_group_name = "my_database_subnet_group"
  parameter_group_name = "default.mysql5.6"
}

resource "aws_instance" "ec2_example" {
  ami           = "${data.aws_ami.ubuntu.id}"
  instance_type = "t2.micro"

  tags {
    Name = "HelloWorld"
  }
  depends_on = [
        "aws_db_instance.rds_example",
    ]
}