AWS:HTTP(S) API Gateway与ALB间VPC Link配置遇503错误求助
排查API Gateway私有集成503错误的实操步骤
安全组规则校验
- 区分VPC Link与ALB的安全组职责:
- 给VPC Link关联的安全组:出站规则必须允许443端口访问ALB的安全组/IP范围,确保VPC Link能发起请求到ALB
- ALB的安全组:入站规则需允许来自VPC Link安全组的443流量,别只依赖“允许所有IPv4”——如果ALB安全组有其他限制规则,可能会阻断VPC Link的请求
你之前创建的安全组如果是给VPC Link用的,要确认ALB的安全组是否开放了对这个组的443入站权限。
VPC Link子网配置核查
- 确认VPC Link的子网与ALB的子网处于同一VPC且AZ匹配:API Gateway的VPC Link需要和ALB在相同可用区,否则跨AZ路由可能出现隐性问题
- 子网路由表:虽然你移除了IGW,但要确保路由表包含本地路由条目(默认私有子网都有),保证VPC Link的ENI能通过本地路由访问到ALB所在子网
- 子网状态:检查子网是否处于可用状态,有没有被标记为不可用或资源不足
API Gateway集成细节检查
- 集成端点URL:必须使用ALB的完整DNS名称(如
https://your-alb-1234567890.us-east-1.elb.amazonaws.com:443),不能用静态IP——ALB的IP是动态分配的,用IP会导致请求失败 - 安全服务器名称:严格匹配ALB证书的CN或SAN字段,比如证书是
alb.yourdomain.com,就必须填完全一致的名称,大小写、拼写都不能错 - 方法匹配:路由的HTTP方法(如GET/POST)必须和集成配置的方法完全一致,错配会导致503
- 阶段部署:配置完路由和集成后,必须重新部署API到对应阶段,未部署的新配置不会生效
ALB与目标组状态确认
- 目标组健康检查:即使ALB能正常转发,也要确认目标组的所有EC2实例处于健康状态——API Gateway会校验ALB后端的健康状态,只要目标组不健康,就会返回503
- ALB监听配置:确认ALB的443监听规则正确,转发到了对应的目标组,没有错误的路径或主机头限制
VPC Link状态与网络ACL检查
- VPC Link状态:在API Gateway控制台查看VPC Link状态,必须是
AVAILABLE,如果是PENDING或FAILED,直接删除重建,确保关联的安全组和子网参数正确 - 网络ACL:子网的网络ACL是无状态的,需同时允许:
- 入站:443端口(来自VPC Link的请求)
- 出站:Ephemeral端口范围(通常是1024-65535,用于ALB的响应流量)
任何一端的限制都会阻断请求链路
连通性测试
- 在VPC Link同子网的EC2实例上执行
curl -v https://<alb-dns-name>:443,验证是否能正常获取响应:- 如果能,说明网络层面没问题,问题出在API Gateway配置
- 如果不能,排查子网路由、安全组、网络ACL的规则
内容的提问来源于stack exchange,提问作者dylan
相关产品推荐
相关产品推荐

