我不能通过第4层网络负载均衡器访问第7层应用程序负载均衡器后端。
在VCN中有两个子网,公共子网和私有子网,都包含计算实例。
一个(第7层,应用程序)负载均衡器有一个后端集,有两个后端(计算实例的IP)和端口80上的侦听器。LB和后端位于同一个私有子网中。实例正在运行httpd。负载均衡器,它的后端集和后端都有正常的健康。
负载均衡器的端点可以从公共和私有子网中的实例中成功地使用。
公共子网中的网络负载均衡器具有一个后端集,一个后端,端口80位于私有子网负载均衡器的私有IP上。这仍然非常关键,后端集仍然处于脱机状态,尽管它的目标是私有负载均衡器,它处于完全健康状态,并且可以从网络负载均衡器所在的同一子网访问。TCP健康检查点指向端口80。
为了排除网络问题,我在私有子网中的一个实例中创建了一个TCP端口转发器(使用"socat“将请求转发给负载平衡器IP)。我将网络负载平衡器的后端更改为指向,而不是负载平衡器的IP,改为运行端口转发器的实例的IP。这是完美的-- http后端可以从公共网络负载均衡器的公共IP中访问,一点问题都没有。
为了消除安全列表的担忧,我已经为两个子网之间的通信“允许所有”。当从两个子网中的实例访问时,一切都是完全可以访问的。
为什么显示其端点的网络负载均衡器--私有子网的负载均衡器--在真正启动、可访问和健康的情况下是关键的并关闭它?
是否有可能从另一个负载平衡器访问?我做错什么了?
为了帮助解决这个问题,我创建了一个带有3个后端的后端集。

socat tcp-listen:1103,reuseaddr,fork tcp:10.0.1.108:80一样。我可以看到流量通过这个,我可以看到它达到了预期的交替后端。健康检查看起来是这样的。它适用于两个后端,但不适用于负载均衡器:

我也尝试使用TCP健康检查,但这没有什么区别。
负载均衡器子网的安全列表有一个规则,允许来自私有子网的所有内容(在测试时添加),两个子网的出口都允许所有的0.0.0.0/0。

应用负载均衡器的状态良好。

VCN子网

负载均衡器可从公共子网中的实例访问,该子网与网络负载均衡器所在的子网相同。

发布于 2022-12-03 16:23:14
可以从另一个负载均衡器访问一个负载均衡器,但它需要适当的配置和故障排除,以确保后端实例是可访问的。在这种情况下,网络负载均衡器似乎没有被正确地配置为访问私有负载均衡器。
一个潜在的问题是,网络负载均衡器没有正确配置以到达专用负载均衡器的端点。这可能是由于各种因素造成的,包括不正确的IP地址或端口号、阻止访问的网络安全规则或不正确的负载均衡器设置。
另一个潜在的问题是网络负载均衡器没有执行正确的健康检查来确定私有负载均衡器是否健康和可用。这可能是由于不正确的健康检查设置所致,例如端口号或健康检查URL不正确。
要解决这些问题,可能需要仔细检查网络和负载均衡器配置并排除故障,包括网络安全规则、负载均衡器设置和健康检查设置。使用公共子网中的计算实例测试和验证对私有负载均衡器端点的访问也可能有帮助,以确保它是可访问的和正常运行的。
https://stackoverflow.com/questions/74668441
复制相似问题