用户在使用弹性负载均衡的过程中,可能会遇到一些使用问题。其中有一部分问题发生时不体现为具体的动作报错,而是表现在一些不符合期望的现象上,因此这部分问题在排查上可能收到多个因素的影响,需要多综合多因素来进行排查。本文挑选部分典型的此类问题与大家分享排查思路。
为什么通过负载均衡无法访问后端业务?
造成负载均衡无法访问后端业务的原因有很多,遇到这种问题的时候,我们要学会如何去排查。
- 排查是否可直接访问后端主机:负载均衡器无法将请求发送到后端主机,可能是因为后端主机当前宕机或不可访问。可以直接访问后端主机的IP地址来进行排查,确保后端主机正常运行。
- 排查健康检查是否正常:如果后端主机未通过健康检查,则负载均衡器将不会将请求发送到该主机。请确保后端主机在健康检查中通过,并检查健康检查的设置是否正确。
- 排查后端主机配置是否正确:在“后端云主机组”页面查看已添加的后端主机的参数,云主机权重如果设置为0,则不会向这个主机转发流量;业务的端口需要与实际的业务端口相同。
- 检查访问控制配置是否正确:在监听器基本信息页面,查看访问控制配置是否正确,是否已经放通了客户端的IP地址。
- 网络配置问题:可能存在网络配置问题,导致负载均衡器无法与后端主机建立连接。确保网络配置正确,并检查网络访问权限、路由表、子网等设置。
- 会话保持配置错误:如果应用程序需要会话保持,但会话保持配置有误,负载均衡器可能会将请求发送到不同的后端主机,导致会话状态丢失。确保会话保持配置正确,并检查会话保持策略和负载均衡器的支持。
如何检查请求的不均衡?
可以通过以下方式检查请求的均衡:
- 基于轮询算法:如果某个主机处理的请求数量明显少于其他云主机,那么可以认为存在请求不均衡的情况。
- 基于权重算法:如果某个主机的权重值过高或过低,可能会导致请求不均衡。
- 基于源IP算法:同一个IP发出的请求都会分发到同一个后端,导致流量不均衡。
- 基于响应时间:如果某个后端的响应时间较长,可能意味着该主机的负载较高或存在性能问题,需要进行调整。
- 基于健康检查:负载均衡器定期对后端主机进行健康检查,如果某个主机无法正常响应或处于宕机状态,负载均衡器将不再将请求分发给该主机,从而避免请求不均衡。
- 基于会话保持:如果开启会话保持,负载均衡器会将同一个客户端的请求始终分发到同一个后端主机上,以确保会话的连续性。如果客户端的数量相对较少,并且会话保持的配置不合理,可能会导致请求不均衡的问题。
压测性能上不去,如何检测?
- 检查后端云主机的负载状态,如果CPU达到100%,可能是后端应用达到性能瓶颈。
- 如果是公网的访问场景,查看流量是否超过绑定到弹性负载均衡的弹性IP的带宽,带宽超限后,会有大量丢包和请求失败,影响压测性能。
- 如果是短连接测试,可能是客户端端口不足导致建立连接失败,可以通过客户端处于time_wait状态的连接数量来判断。可通过增加客户端IP来解决。
- 后端云主机的监听队列backlog满了,导致后端云主机不回复syn_ack报文,使得客户端连接超时。可以通过调整net.core.somaxconn参数来调大backlog的上限值。
健康检查异常如何排查?
当健康检查探测到您的后端主机异常时,弹性负载均衡将不再向异常的后端主机转发流量。直到健康检查检测到后端主机恢复正常时,弹性负载均衡才会向此主机继续转发流量。那么当您遇到健康检测异常该如何排查呢,排查思路如下:
- 检查后端主机组是否关联监听器
- 检查健康检查配置:检查健康检查配置参数信息,例如域名、协议是否正确,检查您配置的健康检查端口和监听的端口是否一致,检查路径是否正确等。
- 检查主机所在安全组、网络ACL是否放行ELB健康检查源地址网段100.89.0.0/16。
- 检查后端主机是否正常:后端主机当前宕机或不可访问,会导致检查异常。
- 检查主机防火墙、路由等配置。
如何检查弹性负载均衡会话保持不生效问题?
可以按照以下步骤进行排查:
- 查看后端主机组上是否开启了会话保持;
- 查看后端云主机的健康检查状态是否正常,如果异常,流量会切换到其他后端云主机,导致会话保持失效。
- 选择源IP算法时,需要留意在请求到达弹性负载均衡之前是否会有IP变化。
- 对于HTTP或HTTPS监听器并启用了会话保持功能,需要关注请求是否携带了cookie。如果请求中带有cookie,需要观察该cookie值是否有变化(因为基于7层的会话保持依赖于cookie),以确保会话保持的有效性。
为什么配置了证书,却访问异常?
如果负载均衡配置了证书,但访问异常,可能有以下几个原因:
- 证书配置错误:请确保证书的配置正确无误。检查证书是否正确上传到负载均衡器,并且与域名或主机名匹配。
- 证书过期或无效:如果证书已过期或者无效,浏览器会拒绝连接或显示安全警告。请确保证书有效期内,并且由受信任的证书颁发机构签发。
- 安全组或防火墙限制:检查负载均衡器、后端主机以及相关网络设备的安全组或防火墙规则,确保允许来自负载均衡器的HTTPS流量通过。
- 其他网络问题:检查网络连接是否正常,确保网络链路畅通,防止网络延迟、丢包等问题影响访问。