NAT 网关高可用性 - AWS

set*_*thu 3 nat high-availability amazon-web-services

您会在每个可用区上为 HA 配置一个 NAT 网关吗?这是矫枉过正吗?每年连续运行的成本超过 500 美元。对于关键业务系统来说,它确实有意义。您可以在 2 个可用区上创建 2 个 NAT 网关,并让第三个使用一个或另一个以减少一些 $。

我的另一个问题是,如果一个可用区出现故障,您如何自动切换到另一个可用区上的 NAT 网关?据我所知,您需要手动更新路由表以指向另一个 NAT 网关。人们是否设置了对 NAT 实例的定期 ping,然后在失败时更新路由表?如果是这种情况,假设无论如何都会出现小故障,为什么不在旧的 AZ 出现故障时在另一个 AZ 上创建一个新的 NAT 网关,然后更新路由表?您将节省 500 美元并实现相同的目标。

Tim*_*Tim 6

您需要多少取决于您的 RTO 和 RPO。另外,作为参考,NAT 实例和 NAT 网关(比较)。

NAT 网关每年大约需要 400 美元,具体取决于您所在的地区。它是高度可用的,因此您不需要 AZ 中的冗余,并且您可以在您的 AZ 之间共享它们。但是,如果您想要真正的高可用性,您可以为每个可用区创建一个。根据您的 RPO/RTO,如果正常运行时间低于您的要求,您可能最好从一个开始并创建其他。它们具有非常高的带宽,高达 10Gbps。

请注意,您需要为 AZ 之间的带宽付费。EC2定价页面涵盖了这一点。EC2 到 EC2 的流量(即到 NAT 实例)是肯定收费的。目前尚不清楚从 EC2 到 NAT 网关的流量是否收费,但可以假设是收费的。

相比之下,预付一年的 t2.micro 为 70 美元,您可以运行自己的 NAT 实例。其中三个仍然比托管网关便宜。但是带宽是有限的,如果您有很多实例进行大量网络访问,它们很快就会成为瓶颈。您当然可以根据需要扩展 t2 系列 - 每次跳跃都会使 CPU 和网络性能大约翻一番。

如果您真的想推出自己的产品,这里有一个 AWS 模式。

  • 值得注意的是,NAT 网关和 t1.micros 在性能方面处于完全不同的状态。如果您在 NAT 后面有少量主机,执行非常偶尔的出站请求,那么 micro 可能会正常工作。然而,需要极少的并发请求才能使微实例屈服,这对于 NAT 网关来说不是问题。 (2认同)