部署在EC2实例上的Flask应用连接RDS(PostgreSQL)超时问题
解决EC2实例连接RDS PostgreSQL超时的问题
- 确认EC2实际出站IP:EC2的弹性IP是入站访问用的,出站流量的IP可能不是它(比如使用NAT网关的场景)。在EC2实例上执行
curl ifconfig.me获取实际出站IP,将这个IP加入RDS白名单尝试。 - 用安全组替代IP白名单:比起单独添加IP,直接把EC2实例所属的安全组添加到RDS安全组的入站规则(允许5432端口)更可靠,能避免IP变化带来的问题。
- 检查VPC网络配置:
- 如果EC2和RDS在同一个VPC,优先使用RDS的私有端点连接,此时RDS白名单应添加EC2的私有IP或EC2安全组,而非弹性IP。
- 确认EC2的安全组允许出站访问RDS的5432端口,出站规则不要限制该端口。
- 排查DNS解析:在EC2上执行
nslookup your-rds-endpoint,检查RDS端点是否解析到正确IP,解析异常可能导致连接超时。
内容的提问来源于stack exchange,提问作者carl carl
相关产品推荐
相关产品推荐

