RDS PostgreSQL实例如何查看本地IP

问题描述

将本地设备的公网IP地址添加到RDS白名单后,无法访问RDS实例,而其他设备可以访问该RDS实例。且将RDS白名单设置为公司的网段或者0.0.0.0/0后,本地设备也可以访问RDS实例。

问题原因

添加到白名单的本地设备公网IP地址不正确。

解决方案

本文只适用于ECS以外的设备访问RDS实例的情况。如果是ECS实例访问RDS实例,可以在ECS实例的详情页面查看准确的公网IP地址和内网IP地址。

  1. 0.0.0.0/0路由条目加入RDS PostgreSQL的白名单,操作方法请参见设置白名单

  2. 使用pgAdmin4客户端连接RDS PostgreSQL实例。

  3. 单击数据库,选择postgres,单击页面上方的工具>查询工具

  4. 执行如下SQL语句,查看显示结果中query列的值为SELECT所对应的client_addr列的IP,即为本地设备公网IP。

    select datname, pid, usename,client_addr, client_hostname, client_port,query  from pg_stat_activity;

    系统显示类似如下。

  5. 将在步骤1白名单中添加的0.0.0.0/0路由条目删除,添加真实的公网IP。

更多信息

如果您的本地设备公网IP地址会有变化,而且建立的连接是用于生产环境,则建议改为使用内网连接,或者在白名单中配置合理的公网IP段,确保不会因为IP地址改变而断开连接。

适用于

  • 云数据库RDS PostgreSQL版