You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置AWS Load Balancer将同会议用户路由至指定EC2机器?

AWS负载均衡配置方案(满足按会议ID绑定服务器的需求)

前提准备

  • 客户端发起WebSocket握手请求时,必须将唯一会议ID放到固定可被ALB识别的位置,推荐两种方式二选一:
    • 放在URL查询参数中,例如:wss://你的服务域名/ws?meetingId=会议唯一标识
    • 放在自定义HTTP请求头中,例如:X-Meeting-ID: 会议唯一标识
  • 你部署EC2的目标组健康检查配置正常,能准确识别故障节点。

具体配置步骤

1. 选择负载均衡器类型

直接选用应用负载均衡器(ALB),ALB天然支持WebSocket协议,且提供自定义属性粘性、灵活的路由算法,完全匹配你的需求。

2. 配置目标组参数

  • 路由算法选择最少未完成请求数,保证首次接入新会议的用户会被分配到当前负载最低的EC2实例。
  • 空闲超时时间调整为大于你平台最长支持的会议时长,比如设置为28800秒(8小时),避免WebSocket长连接中途被ALB主动断开。

3. 开启自定义属性会话粘性

在目标组的属性配置中开启粘性,类型选择基于请求属性的粘性,按你之前约定的会议ID传递方式设置粘性键:

  • 如果用查询参数传会议ID,粘性键设置为query_param.meetingId
  • 如果用请求头传会议ID,粘性键设置为http_header.X-Meeting-ID
  • 粘性超时时间同样设置为大于最长会议时长,保证整个会议周期内同会议ID的请求都绑定到同一台EC2。

4. 配置ALB监听器

新增对应端口的HTTP/HTTPS监听器,默认转发规则指向你配置好的目标组即可,ALB会自动识别WebSocket握手请求,完成协议升级后保持长连接,不需要额外特殊配置。

补充说明

如果某台EC2实例健康检查失败,ALB会自动解除该实例对应所有会议ID的粘性绑定,后续新接入该会议的用户会被重新分配到当前负载最低的健康实例,你可以根据业务需要补充服务端的会议状态同步逻辑,处理节点故障的场景。

内容的提问来源于stack exchange,提问作者Thomas Carlton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:54:04