为什么通过负载均衡无法访问后端业务?
问题描述
当出现以下问题时,可以参考本章节排查解决。
- 可以直接访问后端业务,但是无法通过负载均衡访问后端业务。
- 通过私网IP可以访问负载均衡,但是公网IP无法访问负载均衡。
- 后端服务器健康检查异常。
背景介绍
- 客户端通过负载均衡访问云主机流量可参看如下介绍。
- 公网客户端的流量经过EIP传送到负载均衡器;私网客户端的流量直接通过私网IP传送到负载均衡器。
- 负载均衡器根据监听器配置的前端协议/端口,将流量转发给匹配到的监听器。
- 监听器首先判断后端云主机的健康检查是否正常,只有健康检查为正常时,才会转发流量给后端云主机。
- 监听器会根据后端服务器的权重和分配策略,转发流量给相应的后端服务器。
通常情况下,客户端通过负载均衡器无法访问后端云主机可能原因包括安全控制和健康检查配置问题。
建议您按照从后端到前端的顺序进行排查,从而帮助您快速找到问题的原因。
排查思路
* 步骤一:排查是否可直接访问后端云主机
使用客户端直接访问后端云主机,确认后端云主机配置和业务配置无问题。
可以通过客户端直接访问后端云主机的IP地址来快速定界是ELB配置问题,还是后端云主机本身业务配置问题。使用客户端直接访问后端云主机时,请注意放通客户端到后端云主机之间的网络ACL。
* 步骤二:排查是否开启健康检查
通过“监听器 > 后端主机组”查看是否开启了健康检查选项。
当客户端直接访问后端云主机业务正常时,请检查负载均衡器是否开启了健康检查。当云主机开启了健康检查,而健康检查失败时,负载均衡器不会向此后端云主机转发流量。
如未开启健康检查,共享型负载均衡实例请检查后端云主机的安全组和网络ACL规则已经放通100.125.0.0/16网段。独享型负载均衡请检查后端云主机的安全组已经放通ELB后端子网所在的VPC网段。
注意
共享型实例四层监听器开启“获取客户端IP”功能后,后端云主机安全组规则和网络ACL规则均无需放通100.125.0.0/16网段及客户端IP地址。
独享型负载均衡四层监听器未开启“跨VPC后端”功能时,后端云主机安全组规则和网络ACL规则均无需放通ELB后端子网所在的VPC网段。
* 步骤三:排查健康检查是否正常
通过“监听器 > 后端主机组”查看云主机的健康检查结果是否为正常。健康检查异常的情况下,负载均衡不会向这台云主机转发流量。
当服务器开启了健康检查,而健康检查失败时,负载均衡器不会向此后端云主机转发流量。
* 步骤四:排查后端云主机配置是否正确
通过“监听器 > 后端主机组”查看后端云主机的权重和业务端口是否配置正确。
在“后端主机组 > 后端云主机”页面查看已添加的后端云主机的参数,重点观察以下参数:
权重: 权重如果设置为0,则不会向这个云主机转发流量。
业务端口: 需要与实际的业务端口相同。
在“监听器”页面,单击待查看的四层(TCP/UDP)监听器,查看是否打开了“获取客户端IP”选项。
如果打开了此选项,ELB会直接使用客户端的真实IP访问后端云主机。此时需要在安全组和网络ACL中设置放通客户端的真实IP地址。
此外,如果开启了“获取客户端IP”,不支持后端云主机和客户端使用同一台云主机,原因是后端云主机会根据报文源IP为本地IP判定该报文为本机发出的报文,无法将应答报文返回给ELB,最终导致回程流量不通。
如果未开启“获取客户端IP”,需检查后端云主机安全组是否放通相应网段。独享型负载均衡实例需要确保后端云主机放通独享型ELB后端子网所在的VPC网段。共享型负载均衡实例需要确保后端云主机放通100.125.0.0/16网段。
* 步骤五:检查访问控制配置是否正确
通过“监听器 > 基本信息”查看是否开启了访问控制,以及访问控制是否限制了客户端的访问。
在监听器的“基本信息”页签,查看访问控制配置是否正确,是否已经放通了客户端的IP地址。
- 提交工单
如果上述方法均不能解决您的疑问,请提交工单寻求更多帮助。