如何查看访问RDS实例的IP有哪些

本文介绍通过控制台会话管理和SQL命令查看访问RDS实例的IP地址的方法。您可以获取到当前正在连接到RDS实例的所有用户信息及用户主机IP,以及历史已建连接记录,帮助您更好地管理和监控数据库访问情况。

方法一:通过控制台会话管理查询

您可以登录RDS控制台或DAS控制台,查看RDS实例正在使用中以及历史已建连接会话详情。

查询正在使用中的连接

说明

该方式仅支持RDS MySQLRDS PostgreSQL实例。

通过RDS控制台

  1. 登录RDS控制台并进入RDS实例详情页,在左侧导航栏选择自治服务一键诊断

  2. 会话管理页面下,通过筛选全部会话,即可查看正在连接到RDS实例的所有用户信息及用户主机IP。

    image

  3. 您还可以在会话管理页面最底部,查看到正在连接到RDS实例的所有会话的统计数据。

    image

通过DAS控制台

  1. 登录DAS控制台,在左侧导航栏中,单击实例监控

  2. 找到目标实例,单击实例ID,进入目标实例详情页。

  3. 在实例详情页的左侧导航栏,单击实例会话

  4. 会话管理页面下,通过筛选全部会话,即可查看正在连接到RDS实例的所有用户信息及用户主机IP。

    image

  5. 您还可以在会话管理页面最底部,查看到正在连接到RDS实例的所有会话的统计数据。

    image

查询历史已建连接

说明

该方式仅支持RDS MySQL实例。

通过RDS控制台

  1. 登录RDS控制台并进入RDS实例详情页,在左侧导航栏选择自治服务SQL洞察和审计

  2. 审计页面下,通过筛选时间范围,并选择操作类型LOGIN,即可查看连接到该RDS实例的所有用户信息及用户主机IP。

    image

通过DAS控制台

  1. 登录DAS控制台,在左侧导航栏中,单击实例监控

  2. 找到目标实例,单击实例ID,进入目标实例详情页。

  3. 在实例详情页的左侧导航栏,单击请求分析 > SQL洞察和审计

  4. 审计页面下,通过筛选时间范围,并选择操作类型LOGIN,即可查看连接到该RDS实例的所有用户信息及用户主机IP。

    image

方法二:通过SQL命令查询

RDS MySQL实例

连接RDS MySQL实例后,执行如下SQL,即可查询特定用户的当前活动会话。如需查询历史连接记录,请通过方法一:通过控制台会话管理查询

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER='用户名';

image

RDS SQL Server实例

连接RDS SQL Server实例后,执行如下SQL,即可获取与此实例建立的所有连接的详细信息。查询结果包括连接时间、IP地址等,参数详情请参见微软官方文档

SELECT
  DEC.CONNECT_TIME,
  DEC.CLIENT_NET_ADDRESS,
  SP.LOGINAME,
  SP.STATUS,
  SP.HOSTNAME,
  SP.PROGRAM_NAME,
  DES.CLIENT_INTERFACE_NAME,
  DES.LAST_REQUEST_START_TIME,
  DES.ORIGINAL_LOGIN_NAME,
  DB_NAME (DES.DATABASE_ID) AS DBNAME,
  SP.LASTWAITTYPE
FROM
  SYS.DM_EXEC_CONNECTIONS AS DEC
  INNER JOIN SYS.SYSPROCESSES AS SP ON SP.SPID = DEC.SESSION_ID
  INNER JOIN SYS.DM_EXEC_SESSIONS AS DES ON SP.SPID = DES.SESSION_ID
WHERE
  DEC.SESSION_ID > 50
  AND SP.PROGRAM_NAME NOT IN('DBAgent')
  AND SP.HOSTNAME <> HOST_NAME()
  AND SP.LOGINAME NOT IN('aurora', 'rds_service','NT AUTHORITY\SYSTEM','NT AUTHORITY\NETWORK SERVICE')

image

RDS PostgreSQL实例

请参见RDS PostgreSQL实例如何查看本地IP

相关操作

相关文档

适用引擎

  • RDS MySQL

  • RDS SQL Server

  • RDS PostgreSQL