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

如何将EC2部署的WebSocket服务映射到AWS WebSocket API Gateway

EC2 WebSocket服务映射到API Gateway配置方案

该需求可通过API Gateway的WebSocket API配合自定义域名路径映射实现,完全满足隐藏EC2公网IP、统一API入口的要求,具体操作如下:

1. 前置校验

  • 确认EC2上的WebSocket服务运行正常,可通过ws://<EC2公网IP>:<端口>/<服务路径>正常建立连接
  • 记录服务监听端口、路径,调整EC2安全组入站规则,允许对应端口的访问请求(后续可配置为仅允许API Gateway网段访问,进一步收敛权限)

2. 创建WebSocket API

登录AWS控制台进入API Gateway服务,选择创建WebSocket API,按提示填写API名称、描述,完成初始创建。
API Gateway WebSocket配置界面

3. 配置后端集成

  • 进入已创建的WebSocket API的「路由」页面,配置3个默认路由:$connect、$disconnect、$default
  • 每个路由的集成类型选择「HTTP」,如果你的WebSocket服务没有开启TLS,后端端点填http://<EC2公网IP>:<端口>/<服务路径>;如果已开启TLS则填https://<EC2公网IP>:<端口>/<服务路径>(注意API Gateway后端集成填HTTP/HTTPS前缀即可,无需写ws/wss)
  • 保存所有路由的集成配置,开启请求传递,确保WebSocket握手、帧数据都能正常透传到EC2服务

4. 部署API并测试

  • 选择「部署API」,指定部署阶段(如prod、test),部署完成后可获取到API Gateway默认的WebSocket访问地址:wss://<API ID>.execute-api.<区域>.amazonaws.com/<阶段名>
  • 用WebSocket客户端测试该地址,确认可以正常建立连接、收发数据

5. 统一API入口配置

如果需要和现有HTTP API使用同一个调用域名,按以下操作配置:

  • 在API Gateway的「自定义域名」页面,绑定你已在使用的统一API域名(需提前配置SSL证书)
  • 添加路径映射规则:将/ws(或你自定义的WebSocket路径前缀)映射到上述WebSocket API的对应部署阶段,其余路径映射到原有HTTP/REST API的部署阶段
  • 配置完成后,即可通过统一域名访问所有服务:普通HTTP接口使用原路径,WebSocket服务使用wss://<统一域名>/ws路径

注意事项

  • 如需完全隐藏EC2公网IP,可将EC2部署在私有子网,配置VPC Link实现API Gateway到私有子网EC2的内网访问,无需给EC2分配公网IP
  • 可根据业务需求调整API Gateway的WebSocket连接超时、消息大小限制、限流等参数
  • 后续可在API Gateway层配置权限校验、监控告警等能力,无需修改EC2上的WebSocket服务代码

内容的提问来源于stack exchange,提问作者Saurabh Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:06:04