更新时间:2024-11-06 GMT+08:00
分享

ELB丢包异常自助排查

问题场景

使用弹性负载均衡服务时,如果您的业务出现丢包现象,可以参考本文进行自助排查。

排查思路

表1 客户端丢包排查项

排查项

说明

排查项一:访问控制黑名单限制导致丢包

由于访问控制策略限制导致客户端请求丢包。

排查项二:通过IP类型后端负载存在并发连接限制导致丢包

由于IP类型后端的后端服务器存在并发连接数限制导致客户端请求丢包。

排查项三:能ping通ELB的IP地址,但实际业务丢包

通过ping命令无法确认后端服务器连通性导致客户端请求丢包。

排查项一:访问控制黑名单限制导致丢包

  • 问题现象:仅部分特定IP可以正常访问,或仅部分特定IP无法正常访问。
  • 问题分析:当您设置了访问控制策略并生效时:
    • 黑名单:黑名单IP地址组内的客户端将被ELB强制丢包。
    • 白名单:仅白名单IP地址组内的客户端可以正常访问,白名单IP地址组外的客户端将被ELB强制丢包。
  • 解决方案:您可通过查看监控指标“黑白名单阻断数据包数”和“黑白名单阻断流量”判断是否有数据包因为访问控制策略黑白名单的限制导致丢包,查看监控指标详情请参考监控弹性负载均衡。您可进一步确认您的访问控制策略配置正确,避免目标客户端被访问控制策略强制丢包。

排查项二:通过IP类型后端负载存在并发连接限制导致丢包

  • 问题现象:通过IP类型后端进行业务转发时,实际业务量并未达到实例规格上限,但出现了访问失败或者丢包现象。
  • 问题分析:由于IP类型后端添加的单个后端服务器最多支持100000并发连接数,当添加的IP类型后端服务器数量较小时,通过IP类型后端进行转发的并发连接数限制可能低于实例规格。
  • 排查思路:您可以通过公式计算ELB实例通过IP类型后端负载场景的并发连接数限制。
    假如您有一个ELB实例,部署在两个可用区,添加了10个IP类型后端。通过IP类型后端转发时,并发连接数限制计算如下:
    • 单实例公网并发连接计算公式:100000并发连接数 × IP类型后端个数 × 可用区数量。

      本示例并发连接数限制:100000 × 10 × 2 = 2000000。

    • 由于私网场景下,当从创建ELB的AZ发起访问时,流量将被分配至本AZ中的ELB上。

      单实例私网并发连接计算公式:100000并发连接数 × IP类型后端个数。

      本示例并发连接数限制:100000 × 10 = 1000000。

    建议您确认实际业务量是否超过IP类型后端转发场景下的并发连接限制,您可以通过增加IP类型后端的数量来提高该场景下的并发连接数上限。

排查项三:能ping通ELB的IP地址,但实际业务丢包

  • 问题现象:使用ping命令测试ELB的IP地址确认网络连通正常,但实际业务出现并发连接丢包。
  • 问题分析:在ELB实例正常运行时,使用ping命令探测ELB的IP地址,ELB实例会响应 ICMP Echo请求,即能ping通。由于ping数据包不会转发至后端服务器,因此ping命令的结果无法反映后端服务器真实的连通状态。
  • 解决方案:建议您不要依赖ping命令来判断ELB的可用性,您可以通过curl命令来测试ELB服务是否可用。

相关文档