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

如何解决AppRunner实例连接无公网访问RDS失败的问题?

排查AppRunner无法连接同VPC内RDS的问题

仅将AppRunner和RDS置于同一VPC及安全组并不足够,以下是具体排查方向:

  • 检查RDS安全组入站规则
    即便同属一个安全组,也要确认安全组的入站规则明确允许RDS服务对应的端口(如MySQL的3306、PostgreSQL的5432)流量。如果入站规则用安全组自身作为源,要确认规则是针对目标端口开放,而非仅允许ICMP或其他无关端口;同时避免规则中添加了限制特定IP的条件,导致AppRunner所在子网的流量被拦截。

  • 验证AppRunner VPC连接器配置
    确认VPC连接器关联的子网与RDS所在子网完全一致,且VPC连接器已启用私有DNS解析功能。可以在AppRunner的运行环境中执行nslookup <你的RDS端点>,若无法解析到私有IP,说明私有DNS未正确配置,需要开启VPC的私有DNS解析选项。

  • 确认使用RDS私有端点
    RDS禁用公网访问后,控制台显示的端点应为私有域名(通常带有internal后缀),务必使用该私有端点进行连接,不要误用之前的公网端点。

  • 检查AppRunner服务的VPC关联状态
    确认AppRunner服务在创建或更新时,已正确选择目标VPC连接器并开启VPC访问选项。若仅创建了连接器但未关联到服务,AppRunner仍会使用默认的公网网络环境,无法访问私有VPC内的RDS。

  • 排查子网路由表与NACL规则
    检查RDS所在子网和AppRunner连接器关联子网的路由表,确保存在内部流量转发的路由(默认VPC通常无需额外配置,但自定义VPC需确认);同时检查网络访问控制列表(NACL),确保允许对应RDS端口的双向流量,避免NACL的拒绝规则拦截了连接请求。

  • 测试RDS自身的可访问性
    先用同VPC内的EC2实例尝试连接RDS,验证RDS实例处于可用状态且本身可正常访问。若EC2能成功连接,问题集中在AppRunner的配置;若EC2也无法连接,则需排查RDS实例状态或VPC基础网络配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:41:24