代码之家  ›  专栏  ›  技术社区  ›  Krrish Raj

外部负载平衡器未接收请求

  •  0
  • Krrish Raj  · 技术社区  · 7 年前

    我有两个专用应用程序子网。这些子网的路由表设置为将外部流量发送到我的防火墙的内部接口,该接口位于另一个子网中。

    出于某种原因,我还希望我的应用程序服务器接受来自面向internet的负载平衡器的流量。

    然而,这两个条件并不同时起作用。

    当我将路由规则设置为转发外部数据包时,我的外部负载平衡器停止响应。当我删除该规则时,效果很好。

    当我tcpdump时,我根本看不到设置了路由规则的任何流量。

    我的负载平衡器位于两个可用性区域中,我可以看到为它创建了两个网络接口。两个接口都有公共ip地址。

    由于接口有公共ip的关联,我认为不应该有任何障碍,因为数据包应该直接转发到internet,不应该返回到路由器受路由规则的影响。

    如果是这种情况,那么至少我应该看到服务器上的传入流量。

    我对人际网络了解不多。

    我错过了什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Michael - sqlbot    7 年前

    由于接口有公共ip的关联,我认为不应该有任何障碍,因为数据包应该直接转发到internet,不应该返回到路由器受路由规则的影响。

    不准确的接口具有公共IP地址这一事实正是它们需要打开的原因 平民的 子网(定义:路由表将流量发送到Internet网关)。无论是否存在公共IP地址,始终应用路由表。

    如果是这种情况,那么至少我应该看到服务器上的传入流量。

    不,您不会。平衡器无法协商来自外部客户端的传入TCP连接,除非其响应可以通过其关联子网的路由表到达它们。如果没有任何成功的连接,则平衡器没有要发送到实例的流量。

    弹性负载平衡器(classic和ALB)需要位于公共子网上。如您所述,实例应位于专用子网上。标准配置是在不同的子网上彼此拥有平衡器和实例。