2017-10-11 142 views
0

在terraform中创建rds和弹性缓存之后,我想调整优先级,以便设置ec2。如何确定terraform执行优先级的优先级

terraform可行吗?

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

谢谢你阅读我的问题。

回答

1

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", 
    ] 
} 
+0

你应该扩大这个答案来解释什么是_implicit_的意思, _explicit_依赖关系,并直接在答案中包含示例,而不是将答案的所有有用部分留在指向另一个站点的链接之后(即使它是官方文档)。 – ydaetskcoR

+0

已修复。谢谢。 – Nickolay

+0

感谢您的评论。我用你教给我的“depend_on”选项解决了它 – sukho