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

能否以EC2作为后端实现Amazon API Gateway的WebSocket API

结论

可以完全不使用Lambda,直接将EC2实例作为Amazon API Gateway WebSocket API的后端,实现双向数据传输。

核心实现方案

通过API Gateway的私有集成能力对接VPC内的EC2资源,无需Lambda中转,具体配置逻辑如下:

  • 先在EC2实例上部署你自研的WebSocket服务,确保服务在VPC内部可以正常访问,建议在EC2前端挂载一个内部的Application Load Balancer(ALB),将EC2加入ALB的目标组统一管理
  • 在API Gateway控制台创建VPC Link,类型选择HTTP/HTTPS,关联上述内部ALB,VPC Link的作用是打通公网API Gateway到你的私有VPC内部的访问链路
  • 创建WebSocket API时,在$connect、$disconnect、$default三个默认路由的集成配置中,选择集成类型为「VPC链接」,指定你创建的VPC Link,请求端点填写ALB对应的WebSocket服务地址
  • 按需配置API Gateway的消息转发规则,支持直接将客户端发送的WebSocket帧全量转发到EC2服务,EC2返回的响应也可以原路返回给客户端

双向数据推送实现

EC2侧需要主动向已连接的客户端推送消息时,直接调用API Gateway的@connections管理接口即可,全程不需要Lambda介入:

  • 给EC2实例绑定对应的IAM角色,开放execute-api:ManageConnections操作权限
  • 调用接口时指定目标客户端的连接ID、需要推送的消息内容,API Gateway会自动将消息下发到对应客户端

注意事项

  • 无需将EC2实例暴露到公网,所有流量走VPC Link到内部ALB再到EC2,安全性更高
  • EC2上的WebSocket服务需要兼容处理API Gateway转发的连接、断开、普通消息事件,自定义路由规则既可以在API Gateway侧配置,也可以全量转发到EC2自行处理
  • 连接超时、单消息大小上限等规则默认遵循API Gateway WebSocket的通用限制,可按需调整配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:39:03