Article / 文章中心

文章分类

阿里云数据库RDS for PostgreSQL/PPAS 如何定位本地 IP?

发布时间:2019-07-13 点击数:1082

问题描述

  • 已经将本地设备的公网IP地址添加到RDS白名单,但是仍然无法访问RDS实例,而其他设备能访问该RDS实例。
  • 已经将本地设备的公网IP地址添加到RDS白名单,但是仍然无法访问RDS实例,而将RDS白名单设置为公司的网段或者0.0.0.0/0后,该设备可以访问RDS实例。
以上的任意一种情形,都很可能是因为您添加到白名单的本地设备公网IP地址不正确,本文介绍如何查询到本地设备的真实出口IP地址。
说明 本文只适用于ECS以外的设备访问RDS实例的情况。如果是ECS实例访问RDS实例,可以在ECS实例的详情页面查看准确的公网IP地址和内网IP地址。

注意事项

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

处理步骤

  1. 1.将 IP 地址 0.0.0.0/0 加入 RDS for PostgreSQL/PPAS 的白名单,操作方法请参见设置白名单
  2. 2.使用 pgAdmin 4客户端连接RDS for PostgreSQL或者RDS for PPAS实例。
  3. 3.在左侧展开数据库,选择postgres,单击上方工具 > 查询工具

  4. 4.输入如下查询命令并执行。
    select datname, pid, usename,client_addr, client_hostname, client_port,query from pg_stat_activity;
  5. 5.查看结果里query列的值为select所对应的client_addr列的 IP,即为真实的出口 IP。

  6. 6.将步骤 1 在白名单中添加的 0.0.0.0/0 条目删除,添加上真实的出口IP。