2

在 AWS 中构建 HA NAT 的两种常见策略是:

  • “路由接管”,实例更新路由表以指向自身。
  • “ENI 附加”实例将 ENI 附加到自身,并且路由表设置为将默认路由指向 ENI。

这两种方法都涉及更新资源配置(即路由表或 ENI)的实例,这些实例要么由“心跳脚本”触发,要么由自动缩放组创建。

这适用于 CloudFormation,因为对堆栈的更新不会覆盖在此之后发生的这些更改。Terraform 并非如此。

Terraform 将检测到任一资源的配置已更改,并将尝试通过删除在 Terraform 之外发生的任何更改来“修复配置”。

我明白了这里的理念,但它阻止了使用通用策略部署 HA NAT。

那么,有没有人知道如何在 Terraform 的运作范围内完成 HA NAT 解决方案?

谢谢,乔

4

2 回答 2

2

作为对此问题的更新,Terraform 现在支持使用aws_nat_gateway 资源的托管 NAT 网关

于 2016-01-13T14:32:19.643 回答
1

从 0.6.2 版开始,terraform 不再尝试删除带外附加的 ENI 的附件https://github.com/hashicorp/terraform/pull/2943

于 2015-08-28T09:28:46.250 回答