在 AWS 中构建 HA NAT 的两种常见策略是:
- “路由接管”,实例更新路由表以指向自身。
- “ENI 附加”实例将 ENI 附加到自身,并且路由表设置为将默认路由指向 ENI。
这两种方法都涉及更新资源配置(即路由表或 ENI)的实例,这些实例要么由“心跳脚本”触发,要么由自动缩放组创建。
这适用于 CloudFormation,因为对堆栈的更新不会覆盖在此之后发生的这些更改。Terraform 并非如此。
Terraform 将检测到任一资源的配置已更改,并将尝试通过删除在 Terraform 之外发生的任何更改来“修复配置”。
我明白了这里的理念,但它阻止了使用通用策略部署 HA NAT。
那么,有没有人知道如何在 Terraform 的运作范围内完成 HA NAT 解决方案?
谢谢,乔