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

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

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

细节:

  • 3 个公共子网
    • A
    • b
    • C
  • 3 个私有子网
    • A
    • b
    • C
  • 1 极地航母
    • 其默认池中包含三个公共子网
  • 公有子网中 1 个 NAT 实例

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

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

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

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

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

答案1

这里你忽略了一个要点。

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

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

就这样吧。故事结束。

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

配置 ELB 的子网与配置其平衡实例的子网无关。

这是违反直觉的,但却是事实。

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

相关内容