连接 ELB 的 VPC 公共子网互联网访问

jmr*_*cha 2 amazon-web-services amazon-elb amazon-vpc

我正在尝试设置一个需要访问互联网的 Web 服务器 (nginx),同时还要连接到 ELB,但我无法使此解决方案正常工作。

细节:

  • 3 个公共子网
    • 一种
    • C
  • 3 个私有子网
    • 一种
    • C
  • 1个ELB
    • 这在其默认池中包含三个公共子网
  • 公有子网中有 1 个 NAT 实例

我发现各种指南对于通过将子网指向 IGW 来将公共子网连接到 ELB 很有用。这些设置没有考虑到互联网访问的需要。

当我将单个 NIC 的路由表从 IGW 更改为 nat 实例时,我可以访问互联网,但无法连接到 ELB,反之亦然,当我更新路由表以使用 IGW 时,我无法访问连接到互联网。

我可以分配一个 EIP 并以这种方式授予它访问权限,但希望尽可能避免通过公共地址将此服务器暴露在互联网上。

我在想的是,我可以 1) 将第二个 NIC 添加到需要 Internet 访问的 Web 服务器,以便它们通过 NAT 实例有一个分支,并且在公共子网中有一个分支以连接到负载均衡器或 2 ) 我可以使用 nat 实例作为我网络的网关。

有没有人设置过类似的东西?

Mic*_*bot 7

你错过了一点,在这里。

如果一台机器有一个公共 IP,它进入一个公共子网并使用 IGW 作为其默认路由。

如果它没有公共 IP,它会进入私有子网并使用 NAT 实例作为其默认路由。

就是这样。故事结局。

如果您有没有公共地址的 Web 服务器,在 ELB 后面......那么 ELB 本身进入公共子网,但实例进入私有子网。

供应 ELB 的子网与供应它正在平衡的实例的子网无关。

这是违反直觉的,但仍然是真的。

VPC 不是 LAN,因此跨子网流量不会像在 LAN 上那样“通过路由器”,因此这种方法没有效率低下。