1

我有一个关于与弹性豆茎相关的 NAT 网关和互联网网关的问题。我的配置如下:

  • 不同 AZ 的 3 个公有子网
  • 1 个包含 3 个公共子网和一个 Internet 网关的路由表
  • 不同 AZ 的 3 个私有子网
  • 1 个带有 3 个私有子网的路由表,但什么也没有
  • ELB 已为实例配置了每个 AZ 中的 3 个子网和每个 AZ 中的 3 个私有子网

现在,如果我为这 3 个私有子网创建一个 NAT 网关,这意味着我需要在不同的 AZ 和 3 个不同的弹性 IP 中为每个子网创建一个吗?我想我遗漏了一些东西,但除非该配置有意义,否则我看不到它。

4

1 回答 1

2

TL;博士

这是你的选择。从技术上讲,一个 NAT 实例可以为一个 VPC 中的所有私有子网提供服务。

有点长:

首先,我们区分 NAT Instance(配置为 NAT GW 的 EC2 实例,由最终用户管理)和 NAT Gateway(由 AWS 管理的 NAT Instance)。

如果是 NAT 实例,那么实现它的人需要更多地了解如何实现它。回答这个问题是不够的。

如果它是 NAT GW,那么AWS 会说“每个 NAT 网关都是在特定的可用区中创建的,并在该区域中以冗余方式实施”。我将其解释为:只要整个 AZ 没有宕机,AWS 就保证 NATGW 的 HA(可能伴随服务中断或降级)。

从技术上讲,只要所有 3 个私有子网的路由表都提供到此 NATGW 的路由(我猜是隐含的,但安全组/acl 配置为允许使用),您应该可以在任何一个公共子网中使用单个 NAT GW那条路线的)。由于此配置,您当然需要为 AZ 之间的带宽使用付费。

但显然,如果 AZ 出现故障,这不是容错的。

如果您不希望所有私有子网在 NAT GW 关闭时断开 Internet 连接,那么您需要拥有更多 NAT GW。关于是否拥有多个的决定,如果是,那么我猜有多少是个案。

如果您有 2 个 NAT GW,那么为了发生故障转移,您需要设置监控和故障转移,以确保如果 AZ 出现故障,所有私有子网(由该 AZ 中的 NAT GW 提供服务)开始将流量发送到其他 NAT 网关。很好的解释在这里。这是一项工作 AFAIK。

最后,EIP和NAT GW之间的关系是一一对应的。所以是的,您必须为您创建的每个 NAT GW 创建一个 EIP。

于 2018-03-12T19:47:24.820 回答