使用terraform“数据”时如何重新转动多个对象?

Posted

技术标签:

【中文标题】使用terraform“数据”时如何重新转动多个对象?【英文标题】:How to re-turn more than one object when using terraform "data"? 【发布时间】:2018-04-18 14:06:09 【问题描述】:

我已经有一个 AWS Auto Scaling 组,它有很多 EC2 实例,我想使用 terraform 将所有实例包含在负载均衡器后面的 Auto Scaling 组中,我尝试使用 terraform 数据来获取具有特定标签,但它失败了,因为 terraform 数据应该只返回一个 AWS 对象

【问题讨论】:

某些数据源允许返回列表(例如terraform.io/docs/providers/aws/d/subnet_ids.html vs terraform.io/docs/providers/aws/d/subnet.html),但不允许返回aws_instance 数据源。为什么要尝试获取 ASG 中所有实例的信息? 【参考方案1】:

您真的不应该自己管理到自动扩展 EC2 的路由。您应该将扩展组附加到负载均衡器,并让 AWS 担心在单个 EC2 向上和向下扩展时管理路由。正确使用健康检查将防止您路由到 ASG 中不健康的实例。

见12

您可以使用以下方法在 terraform 中创建这种类型的关系:

aws_autoscaling_attachment 或 在 terraform 中创建 ASG 时内联,使用 target_group_arns

【讨论】:

以上是关于使用terraform“数据”时如何重新转动多个对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Terraform 部署和重新部署应用程序?

如何从 terraform 重新开始?

使用 terraform 如何创建一个跨多个项目使用的服务帐户?

如何使用 terraform 将多个 IP 动态添加到 azure servicebus 防火墙

新AMI发布时,Terraform重新创建EC2实例

使用 liquibase/flyway 类似 Terraform 的自动更新数据库,可能吗?