Terraform:我想在自动缩放实例中添加DNS

时间:2017-05-16 15:49:57

标签: terraform

Terraform API是否将route53记录添加到自动缩放所配置的每个实例?

一旦实例终止,我还需要销毁A记录。

我的代码部署脚本使用DNS名称。

2 个答案:

答案 0 :(得分:2)

当使用自动缩放时,Terraform控制整个自动缩放过程,但不管理自动缩放系统生成的实例。因此,必须通过自动缩放本身而不是Terraform来触发因创建和销毁实例而需要采取的任何操作。

Auto Scaling Lifecycle Hooks提供了一种触发操作的方法,以响应自动缩放组中实例状态的更改。

原则上,人们可以使用自动缩放生命周期钩子来触发运行的Terraform,但自动无人值守的Terraform运行并不常见,因此目前没有内置机制来实现这一功能。需要编写某种包装脚本来编排Terraform并处理运行时发生的任何错误。

答案 1 :(得分:1)

感谢马丁。

将Lambda和boto3与Cloudwatch中的事件一起使用来解决这个问题。 通过了标签' cname'通过ASG启动实例。

  • 插入和Upsert很好。
  • 删除有点棘手,因为终止实例不保留IP。

要删除,请在创建实例时使用CNAME查询Route53表。 然后在Route53上使用boto3运行删除,使用IP作为'值'

感谢。