外部负载均衡器未收到请求
External load balancer not receiving request
我有两个专用应用程序子网。这些子网的路由 table 设置为将外部流量发送到我的防火墙的内部接口,该接口位于另一个子网中。
出于某种原因,我还希望我的应用程序服务器接受来自面向 Internet 的负载均衡器的流量。
但是,这两个条件不能一起工作。
当我将路由规则设置为转发外部数据包时,我的外部负载平衡器停止响应。当我删除该规则时,它工作正常。
当我进行 tcpdump 时,我根本看不到路由规则集的任何流量。
我的负载均衡器位于两个可用区,我可以看到为其创建了两个网络接口。两个接口都有 public ip 地址。
由于接口有 public ip 关联,我认为不应该有任何障碍,因为数据包应该直接转发到 internet,而不应该返回到路由器才能生效通过路由规则。
此外,如果是这种情况,那么至少我应该在服务器上看到传入流量。
我对网络了解不多。
我错过了什么?
As the interfaces have public ip's associated, I don't think that there should be any barrier as the packet should be forwarded to the internet directly, and should not go back to the router to be effected by routing rule.
不正确。接口具有 public IP 地址的事实正是它们需要位于 public 子网上的原因(定义:路由 table 将流量发送到互联网网关)。始终应用路由 table,无论是否有 public 个 IP 地址。
Also if this is the case, then at least I should see incoming traffic on the server.
不,你不会。平衡器无法协商来自外部客户端的传入 TCP 连接,除非它的响应可以通过其关联子网的路由 tables 到达它们。没有任何成功的连接,平衡器没有流量发送到实例。
弹性负载均衡器(经典和 ALB)需要在 public 个子网上。如您所述,这些实例应该位于私有子网上。在彼此不同的子网上拥有平衡器和实例是标准配置。
我有两个专用应用程序子网。这些子网的路由 table 设置为将外部流量发送到我的防火墙的内部接口,该接口位于另一个子网中。
出于某种原因,我还希望我的应用程序服务器接受来自面向 Internet 的负载均衡器的流量。
但是,这两个条件不能一起工作。
当我将路由规则设置为转发外部数据包时,我的外部负载平衡器停止响应。当我删除该规则时,它工作正常。
当我进行 tcpdump 时,我根本看不到路由规则集的任何流量。
我的负载均衡器位于两个可用区,我可以看到为其创建了两个网络接口。两个接口都有 public ip 地址。
由于接口有 public ip 关联,我认为不应该有任何障碍,因为数据包应该直接转发到 internet,而不应该返回到路由器才能生效通过路由规则。
此外,如果是这种情况,那么至少我应该在服务器上看到传入流量。
我对网络了解不多。
我错过了什么?
As the interfaces have public ip's associated, I don't think that there should be any barrier as the packet should be forwarded to the internet directly, and should not go back to the router to be effected by routing rule.
不正确。接口具有 public IP 地址的事实正是它们需要位于 public 子网上的原因(定义:路由 table 将流量发送到互联网网关)。始终应用路由 table,无论是否有 public 个 IP 地址。
Also if this is the case, then at least I should see incoming traffic on the server.
不,你不会。平衡器无法协商来自外部客户端的传入 TCP 连接,除非它的响应可以通过其关联子网的路由 tables 到达它们。没有任何成功的连接,平衡器没有流量发送到实例。
弹性负载均衡器(经典和 ALB)需要在 public 个子网上。如您所述,这些实例应该位于私有子网上。在彼此不同的子网上拥有平衡器和实例是标准配置。