外部负载均衡器未收到请求

时间:2018-01-20 10:46:55

标签: amazon-web-services elastic-load-balancer

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

出于某种原因,我还希望我的应用服务器接受来自面向互联网的负载均衡器的流量。

但是,这两种情况都无法协同工作。

当我将路由规则设置为转发外部数据包时,我的外部负载均衡器会停止响应。当我删除该规则时,它可以正常工作。

当我tcpdump时,我看不到任何带有路由规则集的流量。

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

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

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

我对网络知之甚少。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

  

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

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

  

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

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

Elastic Load Balancers(经典和ALB)需要位于公共子网上。实例应该如您所描述的那样位于私有子网上。在不同子网上拥有平衡器和实例是标准配置。