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

创建VPC Endpoint后无法访问公有AWS API Gateway端点问题咨询

问题解决实操步骤

1. 排查API Gateway资源策略配置

这是Regional端点返回403的最高发原因:

  • 若你为API Gateway配置了调用源IP限制的资源策略,必须把VPC NAT网关绑定的弹性公网IP(EIP)加入允许列表,Lambda通过NAT访问公网Regional API时,对外显示的源IP就是该EIP
  • 若你同时配置了私有端点的访问允许规则,注意不要覆盖公网调用的权限,资源策略参考配置如下:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:<区域ID>:<AWS账户ID>:<API ID>/*/*/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": ["<NAT网关的EIP地址>"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:<区域ID>:<AWS账户ID>:<API ID>/*/*/*",
      "Condition": {
        "StringEquals": {
          "aws:SourceVpce": "<API网关私有端点的VPCE ID>"
        }
      }
    }
  ]
}

2. 排查VPC路由配置

  • 确认Lambda所在子网的路由表中,公网段0.0.0.0/0的下一跳为NAT网关,保证访问Regional API的流量可以正常从公网出口转发
  • 确认私有API网关VPCE的路由条目已正确添加到子网路由表,目标为VPCE对应的前缀列表,下一跳为VPCE,避免私有端点流量被误路由到公网

3. 排查VPC Endpoint私有DNS冲突

如果你为com.amazonaws.<区域>.execute-api服务的VPCE开启了私有DNS选项,会导致VPC内所有execute-api.<区域>.amazonaws.com域名默认解析到VPCE私有IP,此时访问未关联该VPCE的Regional API就会返回403,可选两种解决方案:

  • 关闭execute-api VPCE的私有DNS开关,私有API改用VPCE公有DNS或自定义域名调用
  • 给需要调用的Regional API配置独立自定义域名,VPC内通过自定义域名调用,避开默认域名的解析冲突

4. 排查其余访问控制配置

  • 确认Lambda执行角色包含execute-api:Invoke权限,资源范围覆盖你需要调用的所有私有、Regional API的ARN,且无冲突的Deny规则
  • 确认Regional API未开启WAF规则拦截NAT网关EIP,也未开启强制API Key校验但请求未携带有效Key

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:24:03