每个私有子网是否需要单独的 NAT 网关?

Do I need a separate NAT gateway for each private subnet?

在 AWS 上,假设我在 3 个不同的可用区中有 3 个私有子网,我希望它们都能够通过 NAT 网关访问互联网。 AWS guides 建议为每个子网设置单独的 NAT 网关和堡垒主机(当然假设它们是必需的)。不用说,一切都在同一个 VPC 中(因此在同一个区域中)。

所有私有子网共享同一个 NAT 网关是否会降低性能?

AZ 之间传输的流量的性能损失很小(个位数毫秒延迟)。

使用多个 NAT 网关的真正原因是为了高可用性。

如果只有一个 NAT 网关并且该 AZ 发生故障,那么所有私有实例都将无法访问互联网。每个AZ都有一个NAT Gateway,确保高可用性。

如果您不太在意这种可能很少发生的情况,您可以只使用一个 NAT 网关来省钱。

(一个NAT网关在一个AZ内是多余的。)