AWS最佳实践:每个AZ都有NAT网关吗?

Sil*_*ude 5 nat subnet amazon-web-services availability-zone

由于NAT网关在单个AZ中只有冗余,如果我想在每个AZ中有一对公共/私有子网用于多AZ冗余,我应该在每个AZ都有一个NAT网关,不应该吗?

否则,如果我只有一个NAT,如果AZ发生故障,所有AZ中的所有子网都会关闭,从而无法实现此多可用区部署的目的.

我是对还是错?

jar*_*mod 10

是的,理想情况下,每个可用区(AZ)都有一个NAT网关.

AWS在NAT实例和NAT网关的比较中记录了此建议.单个AZ中的单个NAT网关仅在该AZ内具有冗余,因此如果存在区域性问题,则其他AZ中的实例将没有到达因特网的路由.


Exe*_*ero 9

来自AWS官方NAT网关文档

\n\n
\n

如果您在多个可用区中拥有资源,并且它们共享一个 NAT 网关,那么当 NAT 网关的可用区发生故障时,其他可用区中的资源将失去 Internet 访问权限,要创建可用区区域独立架构,在每个可用区中创建 NAT 网关并配置路由,以确保资源使用同一可用区中的 NAT 网关。

\n
\n\n

NAT 网关为私有子网启用传出 Internet 连接。需要注意的是,您需要为已创建私有子网的每个可用区创建一个 NAT 网关,以实现高可用性。

\n\n

所描述的网络架构由公共子网、私有子网和 HA NAT 网关组成

\n\n

\n\n

注意事项

\n\n
    \n
  • 如果必须将成本降至最低,那么每个 NAT 网关每月 32.00 美元的基准成本可能会成为一个阻碍。使用三个可用区时,您每月将为三个 NAT 网关支付 96.00 美元。
  • \n
  • NAT 网关还会增加出站流量的成本。从私有子网流向互联网的每 GB 费用为 0.045 美元。这\xe2\x80\x99s 使传出流量的成本提高了 50%。
  • \n
\n\n

加分!

\n\n\n\n
...\n\n azs             = ["us-east-1a", "us-east-1b", "us-east-1c"]\n private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]\n public_subnets  = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]\n\n enable_nat_gateway = true\n single_nat_gateway = false # to get 1 NGW x AZ\n\n...\n\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

参考链接: https://cloudonaut.io/advanved-aws-networking-pitfalls-that-you-should-avoid/

\n