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

如何让配置VPC的Lambda调用WebSocket API Gateway的PostToConnection?

解决VPC内Lambda调用公网WebSocket API PostToConnection报403的问题

以下是针对不同场景的具体解决步骤:

一、网络可达性排查与配置

1. Lambda部署在公有子网时

  • 检查公有子网的路由表,确保存在指向**Internet Gateway(IGW)**的默认路由(0.0.0.0/0 -> IGW),保证Lambda能正常访问公网。
  • 确认Lambda的安全组允许**出站HTTPS(443端口)**流量到公网。

2. Lambda部署在私有子网时

  • 为VPC配置NAT Gateway(推荐)或NAT实例,并将私有子网的路由表默认路由指向NAT Gateway,让Lambda通过NAT访问公网。
  • 确保NAT Gateway部署在对应的公有子网,且该公有子网路由表指向IGW。
  • 检查Lambda安全组允许出站HTTPS流量到NAT Gateway。

二、权限配置验证

  • 为Lambda执行角色添加权限策略,允许调用WebSocket API的PostToConnection接口,示例策略如下:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "execute-api:Invoke",
                "Resource": "arn:aws:execute-api:你的区域:你的账号ID:你的API ID/*/@connections/*"
            }
        ]
    }
    
  • 检查WebSocket API的资源策略,确认没有阻止VPC内Lambda的请求:
    • 如果资源策略中有IP限制,需添加Lambda所在子网的IP段;
    • 如果使用VPC端点,需添加aws:SourceVpc或aws:SourceVpce条件允许对应VPC/VPC端点的访问。

三、更优方案:使用VPC端点访问API Gateway(无需公网)

如果不想通过公网访问,可以配置API Gateway的Interface VPC Endpoint:

  1. 在VPC中创建Interface类型的VPC端点,服务选择com.amazonaws.你的区域.execute-api,关联Lambda所在的子网和安全组。
  2. 配置VPC端点的安全组,允许Lambda的安全组发起HTTPS(443端口)连接。
  3. 修改Lambda调用API的地址为VPC端点的私有域名,而非公网域名。
  4. 在API Gateway的资源策略中添加允许来自该VPC端点的请求:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": "*",
                "Action": "execute-api:Invoke",
                "Resource": "arn:aws:execute-api:你的区域:你的账号ID:你的API ID/*",
                "Condition": {
                    "StringEquals": {
                        "aws:SourceVpce": "你的VPC端点ID"
                    }
                }
            }
        ]
    }
    

四、额外检查点

  • 确认AWS SDK的请求签名逻辑正常(VPC环境下SDK通常会自动处理,但若自定义请求需确保签名正确)。
  • 检查是否有其他网络拦截规则(如VPC流日志),确认Lambda到API Gateway的流量未被阻断。

内容的提问来源于stack exchange,提问作者Joey Yi Zhao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:43:17