APIGW经VPC Link对接公网ALB的架构疑问与优化咨询
APIGW与公网ALB私有集成技术疑问解答
1. 当前流量路径及无日志时的验证方式
流量路径
- APIGW接收请求后,通过绑定的VPC Link,从其关联的子网(10.131.104.0/24、10.131.102.0/24、10.131.103.0/24)发起私有请求,目标为公网ALB的私有IP(ALB部署在VPC子网内,默认分配私有IP)
- 由于ALB的私有IP属于VPC本地网段(10.131.96.0/20),流量通过子网路由表的本地路由直接到达ALB所在子网,不会走中转网关的0.0.0.0/0公网路由
- ALB处理请求后,将响应沿原路返回给APIGW
无日志时的验证方法
- 目标实例抓包:在ALB关联的后端实例上执行
tcpdump -i any port 443,查看请求源IP是否来自VPC Link的子网段,以此确认流量走VPC内部链路 - 安全组验证:临时修改ALB安全组,仅开放VPC Link子网段的443端口访问权限,测试APIGW请求是否正常响应。若正常,说明流量走私有集成路径;若失败,则之前可能走公网链路
- APIGW测试:在APIGW控制台发起测试请求,通过后端实例的本地日志查看请求源IP,确认是否为VPC内部地址
2. VPC Link的作用及替代路由方式
VPC Link的作用
此处VPC Link是必需且有用的:因为APIGW配置的是「私有资源集成」,仅能通过VPC Link直接访问VPC内部的资源(包括公网ALB的私有IP),实现VPC内的私有流量传输,避免走公网链路带来的延迟和安全风险。
无VPC Link时的路由方式
若不使用VPC Link,需将APIGW的集成类型改为「HTTP/HTTPS公网集成」,直接填写ALB的公网域名或公网IP。此时流量路径为:APIGW → 公网 → ALB公网IP,要求ALB安全组开放公网访问权限。
3. 避免ALB安全组配置0.0.0.0规则的方案
核心是仅开放合法的源IP段访问ALB:
- 允许VPC Link关联的子网IP段(10.131.104.0/24、10.131.102.0/24、10.131.103.0/24)访问ALB的443端口,满足APIGW私有集成的流量需求
- 允许CloudFront的源端IP段访问ALB的443端口,满足CloudFront的公网请求(可使用AWS托管前缀列表
com.amazonaws.global.cloudfront.origin-facing快速配置) - 直接移除ALB安全组中0.0.0.0/0的规则,仅保留上述两个合法源段的访问权限
4. 私有NLB前置ALB的安全组配置及成本影响
安全组配置
- 私有NLB:NLB本身不支持安全组,可通过子网的网络ACL控制流量。需允许VPC Link子网IP段访问NLB的443端口,同时允许NLB访问ALB的443端口
- ALB:安全组仅允许私有NLB所在子网的IP段访问443端口,同时保留CloudFront IP段的访问权限,彻底关闭0.0.0.0/0规则
- 后端目标实例:安全组仅允许ALB所在子网的IP段访问服务端口,进一步缩小访问范围
成本影响
会增加额外成本:私有NLB按小时计费+流量处理计费,具体费用取决于使用区域和流量规模。但该架构可带来以下收益:
- 隔离APIGW到ALB的流量,避免ALB直接暴露给VPC内其他非授权资源
- 利用NLB的四层转发特性,提升流量转发的性能和稳定性
内容的提问来源于stack exchange,提问作者Exter
相关产品推荐
相关产品推荐

