弹性负载均衡 ELB
弹性负载均衡 ELB
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
-
API参考
- 使用前必读
- API概览
- API版本选择建议
- 如何调用API
- API(V3)
- API(V2)
- API(OpenStack API)
- 应用示例
- 权限和授权项
- 历史API
- 附录
- SDK参考
- 常见问题
- 视频帮助
- 产品术语
-
更多文档
- 用户指南(阿布扎比区域)
- API参考(阿布扎比区域)
-
用户指南 (巴黎区域)
- 产品介绍
- 快速入门
- 负载均衡器
- 监听器
- HTTP/HTTPS监听器高级配置
- 后端服务器组
- 后端服务器(独享型)
- 后端服务器(共享型)
- 证书管理
- 访问控制管理
- TLS安全策略
- 标签管理
- 访问日志
- 监控
- 审计
- 权限管理
- 关于配额
-
常见问题
- 高频常见问题
- 为什么通过负载均衡无法访问后端业务?
- 如何检查弹性负载均衡服务不通或异常中断?
- 如何排查ELB的异常返回码?
- 弹性负载均衡器是否可以单独使用?
- ELB是否支持TCP长连接?
- 弹性负载均衡是否支持后端FTP服务?
- 弹性负载均衡分配的EIP是否为独占?
- 单个用户默认可以创建多少个负载均衡器或监听器?
- ELB权限和使用范围是什么?
- 当负载均衡器正在运行中是否可以调整后端服务器的数量?
- 弹性负载均衡是否可以添加不同操作系统的服务器?
- ELB添加后端的端口号是否可以不一致?
- ELB支持跨用户、跨VPC使用么?
- 负载均衡器的后端服务器可以反过来访问公网/私网负载均衡器上的端口吗?
- ELB能否实现前端是HTTPS协议,后端也是HTTPS协议?
- ELB所属的VPC和子网支持修改吗?
- 是否支持在业务不中断的前提下,将共享型负载均衡升级为独享型负载均衡?
- ELB对于IPv6网络的支持情况是怎样的?
- 如何检查弹性负载均衡前后端流量不一致?
- 如何检查请求不均衡?
- 如何检查弹性负载均衡业务访问延时大?
- 如何检查压测性能上不去?
- 负载均衡器
- 监听器
-
后端服务器
- 为什么后端服务器上收到的健康检查报文间隔和设置的间隔时间不一致?
- 使用ELB后,后端服务器能否访问公网?
- 为什么100开头的IP在频繁访问后端服务器?
- ELB可以跨区域关联后端服务器么?
- 公网负载均衡的后端服务器要不要绑定EIP?
- 如何检查后端服务器网络状态?
- 如何检查后端服务器网络配置?
- 如何检查后端服务器服务状态?
- 后端服务器什么时候被认为是健康的?
- 如何检查通过EIP访问后端云服务器?
- 为什么云监控服务统计的ELB活跃连接数与后端服务器上的连接数不一致?
- 为什么配置了白名单后还能访问后端服务器?
- ELB修改后端服务器权重后多久生效?
- 为什么开启跨VPC后端需要确保负载均衡所属子网至少拥有16个可用IP地址?
- 健康检查
- 获取源IP
- HTTP/HTTPS监听器
- 会话保持
- 证书管理
- 监控
- 修订记录
- API参考 (巴黎区域)
- 用户指南(吉隆坡区域)
- API参考(吉隆坡区域)
- 用户指南(安卡拉区域)
- API参考(安卡拉区域)
- 通用参考
链接复制成功!
为什么同一客户端同时访问不同ELB实例会概率性超时?
问题描述
触发场景 |
多个四层ELB实例或同一四层ELB实例的多个监听器挂载相同后端服务器,同一客户端同时访问这些ELB实例。 |
---|---|
问题现象 |
客户端概率性访问超时。 |
问题原因 |
当同一个客户端通过多个弹性负载均衡的四层监听器(TCP)访问到相同的后端服务器时,后端服务器从弹性负载均衡处接收的客户端请求报文的源IP和源端口相同,出现请求报文的五元组冲突,从而导致访问失败或超时。 |
问题分析
什么场景下后端服务器上不同四层连接会出现五元组冲突?
- 客户端请求源端口硬编码为固定端口:客户端访问不同的弹性负载均衡时,客户端请求的源端口固定,例如固定为80端口。
- 客户端请求源端口由操作系统自动选择:由于客户端访问不同的弹性负载均衡,即访问的目的IP地址不同,从而导致操作系统选择的客户端请求源端口可能相同。
同一客户端通过两个负载均衡器访问同一个后端服务器,客户端请求源端口相同且弹性负载均衡已开启获取客户端IP(DNAT模式)功能时,连接建立过程如图1。
- 客户端发出源IP(IP-client)和源端口(100)相同的TCP请求1和TCP请求2到两个弹性负载均衡的公网IP地址EIP-1(12.xx.xx.xx)和EIP-2(13.xx.xx.xx)。
- 两个弹性负载均衡的TCP监听端口都是80,收到的请求1和请求2的五元组报文如下:
表2 负载均衡器接收五元组详情 五元组报文
协议
源IP
源端口
目的IP
目的端口
五元组1-ELB
TCP
IP-Client
100
12.xx.xx.xx
80
五元组2-ELB
TCP
IP-Client
100
13.xx.xx.xx
80
- 弹性负载均衡将接收到请求转发到同一台后端服务器(IP-ECS),该后端服务器配置的业务端口都是90。
- 由于弹性负载均衡已开启获取客户端IP功能,源IP和源端口不会被修改,后端服务器接收到ELB转发的请求1和请求2,请求报文五元组如下:
表3 后端服务器接收五元组详情 五元组报文
协议
源IP
源端口
目的IP
目的端口
五元组1-ECS
TCP
IP-Client
100
IP-ECS
90
五元组2-ECS
TCP
IP-Client
100
IP-ECS
90
- 后端服务器接收到五元组报文相同的请求1和请求2,就会导致连接建立失败。
解决方案
为解决后端服务五元组冲突问题,客户端需要避免使用相同的源端口访问不同的实例或监听器,具体而言,您可采用以下措施:
- 客户端请求源端口硬编码为固定端口时:修改固定源端口配置,使客户端通过不同的固定端口访问不同的负载均衡器。
- 客户端请求源端口由操作系统自动选择时:
- 允许客户端进行重试,客户端操作系统重连后,将通过不同的客户源端口发出请求,从而解决五元组冲突。
- 若用户业务对重置连接极其敏感,需要更高的连接成功率,则请通过跨VPC后端添加后端服务器。在跨VPC后端场景下,产品底层基于FullNAT模式实现,获取客户端IP功能将会失效,源IP将会修改为负载均衡器后端子网中的IP地址。此时,若用户有获取客户端真实源IP的诉求,请通过配置TOA插件获取,详情请参见TOA插件配置。
- 在多组监听场景下,避免监听器使用相同的后端服务器。
父主题: 异常检查