设置IP白名单

创建RDS MySQL或RDS MySQL Serverless实例后,需要将IP地址添加到白名单,该IP地址所属的设备才能访问该RDS实例。

前提条件

已创建RDS MySQL实例Serverless实例

操作步骤

说明

RDS默认已设置系统白名单,该白名单不显示,用于允许系统账号对数据库的维护操作,关于系统账号的更多信息,请参见系统账号说明

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏中,单击白名单与安全组

  3. 确认IP白名单模式。

    说明

    版本为MySQL 5.1、5.5、5.6、5.7,存储类型为本地SSD盘的实例可以切换为高安全模式。其他版本的实例都采用通用模式。

  4. 单击default分组右侧的 修改 ,可通过如下两种方法,在弹出的对话框中添加IP白名单。

    说明

    如有需要,也可以单击添加白名单分组,并自定义一个分组名称。

    • 方法一:把应用服务器IP地址添加至组内白名单框中。查看应用服务器IP,请参见附录:如何获取应用服务器IP地址。您也可以单击加载本机公网IP(如本机开启了网络代理,请先关闭),直接添加本机公网IP。

      说明
      • 多个IP地址用英文逗号隔开,且逗号前后不能有空格。

      • 单个实例最多添加1000个IP地址或IP段。如果IP地址较多,建议将零散的IP合并为IP段,例如10.10.10.0/24。

      • 如果第3步获取的白名单模式是通用模式,则无额外注意事项。如果是高安全模式,需注意

        • 公网IP或经典网络ECS实例私网IP添加至经典网络分组

        • 把专有网络ECS实例私网IP添加至专有网络分组

    • 方法二:单击加载ECS内网IP,将显示您当前阿里云账号以及当前地域下所有ECS实例的IP地址,您可快速添加ECS内网IP地址到白名单中。加载ECS

    添加后,该应用服务器才能访问RDS实例。

  5. 单击确定

下一步

通过命令行、客户端连接RDS MySQL实例

相关文档

常见问题

  • Q:为什么没有添加到白名单中的IP地址也可以访问RDS?

    A:您可以按照以下3种方法排查:

    • 检查所有的白名单分组,如果某个白名单分组包含该IP地址,则可以访问RDS。

    • 检查所有的白名单分组,如果某个白名单分组中包含0.0.0.0/0,则表示所有IP地址都可以访问RDS。

    • 检查所有的安全组,如果某个安全组包含该IP地址,则可以访问RDS。

  • Q:如果在不开通外网的情况下,让本机可以访问RDS?

    A:需要打通内网,详情请参见连接本地IDC

  • Q:白名单里出现了一些IP地址,如何查看添加这些IP地址的操作者?

    A:在实例详情页左侧,单击操作审计,在页面中的事件名称输入ModifySecurityIps,便可以查看到添加IP地址的操作者和操作详情。

  • Q:如果用户侧应用没有固定IP,怎么加入到数据库白名单里?

    A:如果用户没有固定IP,无法设置0.0.0.0/0,建议用户基于身份验证而非IP的访问控制。例如,通过应用代理转发,账号检测过滤等。

附录:确认是否满足内网访问的条件

  1. 查看ECS实例的地域和网络类型,具体参见准备工作

  2. 查看RDS实例的地域和网络类型。

    访问RDS实例列表,在上方选择目标实例所在地域,找到目标实例,即可看到地域、网络类型、VPC ID。RDS实例地域和网络类型

  3. 确认是否满足内网访问的条件:

    1. ECS实例与RDS实例位于同一地域。

    2. ECS实例与RDS实例的网络类型相同。如果都是专有网络,专有网络ID也需要相同。

    说明

    任意一项不满足,就无法通过内网访问RDS。

附录:如何获取应用服务器IP地址

表 1. 如何获取应用服务器IP地址

场景

需获取的IP地址

如何获取

满足内网访问的条件

ECS实例私网IP

  1. 点此打开ECS实例列表

  2. 在顶部选择实例所在地域。

  3. 在实例列表可以看到私网IP和公网IP。公私网IP

需要通过ECS实例访问RDS实例,但不满足内网访问的条件

ECS实例公网IP

需要通过本地设备访问RDS实例

本地设备公网IP

在本地设备,使用搜索引擎(如百度)搜索IP

说明

该方式获取的IP地址可能不准确,准确的查询方式请参见外网无法连接RDS MySQL或MariaDB:如何正确填写本地设备的公网IP地址

附录:系统默认白名单

当DMS、DTS、DAS服务与RDS MySQL交互使用时,系统将默认为RDS MySQL实例添加如下白名单分组,用于上述服务可以正常访问RDS MySQL实例。

分组名称

说明

dms

当使用DMS登录RDS MySQL实例时,系统默认为RDS MySQL实例添加的白名单,以便DMS能够正常访问RDS MySQL实例。

dts

当使用DTS传输RDS MySQL实例数据时,系统默认为RDS MySQL实例添加的白名单,以便向RDS MySQL实例读取或写入数据。

hdm_security_ips

当RDS MySQL使用DAS服务时,系统默认为RDS MySQL实例添加的白名单,以便DAS服务获取RDS MySQL实例数据,对数据库进行优化、运维和安全管理。

重要

对于2020年12月之后的新建实例,hdm_security_ips白名单分组对用户不可见,防止误修改或删除分组,影响相关服务的使用。