同一子网下两个RDS实例端点解析至私有IP的问题排查
排查RDS复制实例订阅超时(走公网IP)问题的建议
针对你遇到的同子网RDS主/复制实例订阅时走公网IP超时的问题,结合你已经尝试过安全组放行和重新部署的情况,给出以下排查方向:
- 强制内网IP映射:直接在复制实例的系统中修改
/etc/hosts,把主实例的端点域名手动映射到它的私有IP(可从主实例控制台的「连接与安全性」页面获取)。这样复制实例发起订阅请求时会直接走VPC内网,绕过公网解析。 - 验证路由表正确性:检查子网关联的路由表,确保存在目标为VPC CIDR段、下一跳为「local」的路由条目,避免内网流量被错误导向互联网网关(IGW)。
- 测试内网端口连通性:用VPC内的EC2实例,执行
nc -zv 主实例私有IP 5432或telnet 主实例私有IP 5432,确认主实例的5432端口在内网是可访问的。 - 检查NACL规则:VPC的网络访问控制列表(NACL)是无状态的,需要同时配置入站和出站的5432端口允许规则,确保双向流量都能通过。
- 确认DNS配置:复制实例要使用VPC内置的DNS服务器(地址为VPC CIDR段的第二个IP,比如VPC CIDR是10.0.0.0/16,DNS就是10.0.0.2),避免外部DNS把主实例域名解析为公网IP。
- 检查主实例参数组:确认主实例参数组中的
listen_addresses设置为*或包含其私有IP,确保主实例监听内网端口的连接请求。
你提供的错误信息:
ERROR: could not connect to the publisher: could not connect to server: Connection timed out
Is the server running on host "dbname.randomstring.region.rds.amazonaws.com" (PUBLIC_IP) and accepting
TCP/IP connections on port 5432?
内容的提问来源于stack exchange,提问作者Dragan Bjekic
相关产品推荐
相关产品推荐

