如何验证Load Balancer在2台ASG实例之间的流量路由情况?
验证负载均衡流量正确分发至新扩容实例的可行方法
前置校验
- 先确认2台新实例已成功注册到负载均衡(LB)绑定的目标组,且健康检查状态为健康。只有健康检查通过的实例才会被LB纳入流量分发列表,这是后续所有验证的前提。
1. 云平台监控/配置校验
- 查看LB对应目标组的监控数据,确认2台新实例的请求计数、流入/流出带宽等指标有非0数值,且变化趋势与LB整体流量趋势匹配即可初步证明流量已经分发到位。
- 调用云平台API或者CLI命令查询目标组内实例的健康状态和流量统计,比如AWS的
aws elbv2 describe-target-health命令,阿里云的alb DescribeLoadBalancerAttribute接口都可以直接拿到相关数据。
2. 实例侧日志/抓包验证
- 登录新实例查看应用服务的访问日志,以Nginx为例,执行
tail -f /var/log/nginx/access.log实时跟踪日志,确认有新的访问请求进入,请求来源IP符合LB的地址段配置即可。 - 对于TCP/UDP类型的4层LB,无应用层日志的场景可以在实例上执行抓包命令验证:
tcp -i 网卡名 dst port 服务监听端口,确认有来自LB的流量包进入实例。
3. 应用层主动验证
- 临时修改应用返回逻辑,在响应头或者响应体中加入当前实例的唯一标识(比如实例ID、内网IP),然后用脚本连续发起数十次请求到LB入口,统计返回结果中的实例标识,确认2台新实例的标识均有出现,且分发比例符合LB配置的均衡策略(轮询、加权轮询等)即可。
注意:如果LB配置了会话保持,建议临时关闭会话保持后再做测试,避免固定会话导致所有请求落到同一实例上影响验证结果。
- 也可以临时修改2台新实例的应用返回内容(比如加个专属标记),手动多次发起请求到LB地址,确认能拿到新实例返回的带标记内容,验证完成后回滚配置即可。
内容的提问来源于stack exchange,提问作者asd32324
相关产品推荐
相关产品推荐

