当前位置:首页 >> 编程语言 >> 【Terraform学习】管理显式依赖关系-depends_on(Terraform配置语言学习),7562i

【Terraform学习】管理显式依赖关系-depends_on(Terraform配置语言学习),7562i

cpugpu芯片开发光刻机 编程语言 1
文件名:【Terraform学习】管理显式依赖关系-depends_on(Terraform配置语言学习),7562i 【Terraform学习】管理显式依赖关系-depends_on(Terraform配置语言学习) 背景:

关于如何在机器上拉terraform代码,初始化就不重复了,需要的可以查看前面的文章:

【Terraform学习】Terraform-AWS部署快速入门(快速入门)_向往风的男子的博客-CSDN博客

管理显式依赖关系

隐式依赖关系是 Terraform 了解资源之间关系的主要方式。

但是,有时资源之间存在对Terraform不可见的依赖关系。

depends_on该参数可以为资源创建显式依赖关系。

为了说明这一点,假设您在 EC2 实例上运行一个应用程序,该应用程序预期使用特定的 Amazon S3 存储桶。

此依赖项是在应用程序内部配置的,因此对 Terraform 不可见。

您可以使用显式声明依赖项。您还可以在参数中指定多个资源,Terraform 将等到所有资源都已创建完毕后再创建目标资源。

提示:由于 Terraform 将等到创建指定资源后再创建依赖资源,因此添加显式依赖项可能会增加 Terraform 创建基础结构所需的时间。

将以下内容添加到main.tf。

resource "aws_s3_bucket" "example" {acl = "private"}resource "aws_instance" "example_c" {ami = data.aws_ami.amazon_linux.idinstance_type = "t2.micro"depends_on = [aws_s3_bucket.example]}module "example_sqs_queue" {source = "terraform-aws-modules/sqs/aws"version = "2.1.0"depends_on = [aws_s3_bucket.example, aws_instance.example_c]}

此配置包括对新模块的引用。必须先安装模块,然后 Terraform 才能使用它们。

terraform get

现在应用更改

terraform apply

您将看到类似于以下内容的输出。

aws_s3_bucket.example: Creating...aws_s3_bucket.example: Still creating... [10s elapsed]## ...aws_s3_bucket.example: Creation complete after 1m0s [id=terraform-20200813175124184300000001]aws_instance.example_c: Creating...aws_instance.example_c: Still creating... [10s elapsed]aws_instance.example_c: Still creating... [20s elapsed]aws_instance.example_c: Still creating... [30s elapsed]aws_instance.example_c: Still creating... [40s elapsed]aws_instance.example_c: Creation complete after 44s [id=i-08a44071a2517179f]module.example_sqs_queue.aws_sqs_queue.this[0]: Creating...module.example_sqs_queue.aws_sqs_queue.this[0]: Creation complete after 6s [id=https://sqs.us-west-1.amazonaws.com/561656980159/terraform-20200813175223563000000002]module.example_sqs_queue.data.aws_arn.this[0]: Reading...module.example_sqs_queue.data.aws_arn.this[0]: Read complete after 0s [id=arn:aws:sqs:us-west-1:561656980159:terraform-20200813175223563000000002]Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

由于实例和 SQS 队列都依赖于 S3 存储桶,因此 Terraform 会等到创建存储桶后再开始创建其他两个资源。

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接