App Runner连接NAT网关后无法使用静态IP,需额外配置吗?
App Runner 绑定静态Elastic IP的配置方案
首先明确:App Runner 本身不支持直接绑定 Elastic IP,但可以通过调整VPC和NAT网关配置实现固定IP需求,同时要区分入站、出站流量的不同场景。
针对你的问题的具体调整步骤:
- 统一NAT网关配置:你当前VPC的两个私有子网各配置了独立NAT网关,这会导致App Runner在不同子网部署时,出站流量使用不同的NAT网关IP(即不同的Elastic IP)。将两个私有子网的路由表统一指向同一个NAT网关,这样无论App Runner调度到哪个子网,出站流量都会走这个NAT网关的固定Elastic IP。
- 修复App Runner连接器的子网状态:你提到仅第一个子网显示已连接,第二个子网的连接异常可能是配置疏漏。检查第二个私有子网的路由表,确认存在
0.0.0.0/0指向NAT网关的路由条目;同时检查子网的网络ACL和安全组,确保允许TCP 443、TCP 30001-30004端口的入站/出站流量(App Runner连接器的通信端口)。 - 区分入站/出站流量的静态IP需求:
- 如果是出站流量(比如App Runner访问外部服务需要固定IP),完成上述NAT网关统一配置后即可实现。
- 如果是入站流量(用户访问你的App Runner服务需要固定IP),App Runner默认访问域名的IP是动态的,此时需要搭配CloudFront:将App Runner服务设为CloudFront的源,用户通过CloudFront的自定义域名或其静态IP范围访问,以此获得固定的入站访问入口。
补充说明:
你测试Lambda时能得到静态IP,大概率是因为测试过程中Lambda始终调度到了同一个子网(对应同一个NAT网关),但如果Lambda配置了多个子网,长期运行也可能出现IP切换,本质上和App Runner逻辑一致——都是依赖NAT网关的IP,而非服务本身绑定IP。
内容的提问来源于stack exchange,提问作者ardito.bryan
相关产品推荐
相关产品推荐

