您需要将本地公网IP添加到RDS实例白名单,才能远程连接RDS PostgreSQL。如果填写的本地公网IP错误,则会连接失败。
问题描述
将本地设备的公网IP地址添加到RDS白名单后,无法访问RDS实例,而其他设备可以访问该RDS实例。且将RDS白名单设置为公司的网段或者0.0.0.0/0
后,本地设备也可以访问RDS实例。
问题原因
添加到白名单的本地设备公网IP地址不正确。
解决方案
本文只适用于ECS以外的设备访问RDS实例的情况。如果是ECS实例访问RDS实例,可以在ECS实例的详情页面查看准确的公网IP地址和内网IP地址。
将
0.0.0.0/0
路由条目加入RDS PostgreSQL的白名单,操作方法请参见设置白名单。使用pgAdmin4客户端连接RDS PostgreSQL实例。
单击数据库,选择postgres,单击页面上方的工具>查询工具。
执行如下SQL语句,查看显示结果中query列的值为SELECT所对应的client_addr列的IP,即为本地设备公网IP。
select datname, pid, usename,client_addr, client_hostname, client_port,query from pg_stat_activity;
系统显示类似如下。
将在步骤1白名单中添加的
0.0.0.0/0
路由条目删除,添加真实的公网IP。
更多信息
如果您的本地设备公网IP地址会有变化,而且建立的连接是用于生产环境,则建议改为使用内网连接,或者在白名单中配置合理的公网IP段,确保不会因为IP地址改变而断开连接。
适用于
云数据库RDS PostgreSQL版