创建RDS实例后,您需要设置RDS实例的白名单,以允许外部设备访问该RDS实例。

背景信息

RDS的白名单包括两种类型,IP白名单和安全组,详细说明如下:

  • IP白名单

    添加IP地址,允许这些IP地址访问该RDS实例。 默认的IP白名单只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例。

    IP白名单分为两种模式,您需要确认实例处于哪种网络隔离模式,根据模式查看相应的操作步骤。

    • 通用白名单模式

      通用白名单模式中的IP地址不区分经典网络和专有网络(既适用于经典网络也适用于专有网络)。有安全风险,建议切换为高安全模式。

      通用
    • 高安全白名单模式

      高安全白名单模式中区分经典网络和专有网络,创建IP白名单分组时需要指定网络类型。例如专有网络的IP分组内放通某个IP,这个IP只能在专有网络内访问RDS实例,无法从经典网络访问RDS实例。

      高安全
  • 安全组

    安全组是一种虚拟防火墙,用于控制安全组中的ECS实例的出入流量。在RDS白名单中添加安全组后,该安全组中的ECS实例就可以访问RDS实例。

    关于安全组的更多信息,请参见创建安全组

白名单可以让RDS实例得到高级别的访问安全保护,建议您定期维护白名单。设置白名单不会影响RDS实例的正常运行。

其他引擎设置白名单请参见:

IP白名单注意事项

  • 可以修改或清空默认的IP白名单,但是不能将其删除。
  • 实例最多支持200个IP白名单分组。
  • 每个IP白名单分组最多添加1000个IP或IP段。当IP较多时,建议合并为IP段填入,例如192.168.1.0/24。
  • 当未设置白名单登录DMS时,DMS会提示添加IP才可以正常登录,会自动生成相应的IP白名单分组。
  • ali_dms_groupDMS产品IP地址白名单分组)、hdm_security_ipsDAS产品IP地址白名单分组)等分组为使用相关产品时系统自动生成。请勿修改或删除分组,避免影响相关产品的使用。
    说明 请勿在这些分组里增加自己的业务IP,避免相关产品更新时覆盖掉您的业务IP,影响业务正常运行。
    系统分组

高安全白名单模式设置IP白名单

说明 仅本地SSD盘实例支持高安全白名单模式,如果实例已经是高安全白名单模式,参见下文进行设置即可。如果需要切换为高安全白名单模式,请参见切换为高安全白名单模式
  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
    选择地域
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中单击数据安全性
  5. 根据以下连接场景进行后续操作。
    网络类型修改白名单分组
    连接场景 操作
    ECS实例和RDS实例在相同专有网络VPC内(推荐)
    1. 白名单设置页面单击default 专有网络分组右侧的修改
    2. 在弹出的对话框中,填写ECS实例的内网IP地址,然后单击确定
      说明 ECS实例上的应用程序中使用RDS实例的内网连接地址。
    ECS实例和RDS实例在不同专有网络VPC内
    1. 在RDS实例的数据库连接页面单击切换为经典网络并确定。
    2. 切换完成后单击切换为专有网络,选择和ECS实例相同的VPC。
      说明 ECS实例和RDS实例需要处于相同地域才能切换到相同VPC。如果地域不同,为业务稳定,建议您通过DTS将RDS实例迁移至ECS实例所属地域。详情请参见RDS实例间数据迁移
    3. 在RDS实例的白名单设置页面单击default 专有网络分组右侧的修改
    4. 在弹出的对话框中,填写ECS实例的内网IP地址,然后单击确定
      说明 应用程序中使用RDS实例的内网连接地址。
    ECS实例和RDS实例均为经典网络
    1. 白名单设置页面单击default 经典网络分组右侧的修改
    2. 在弹出的对话框中,填写ECS实例的内网IP地址,然后单击确定
      说明 ECS实例上的应用程序中使用RDS实例的内网连接地址。
    ECS实例为经典网络

    RDS实例为专有网络

    1. 将ECS实例迁移至RDS实例所属的专有网络中,详情请参见ECS实例迁移
      说明 ECS实例和RDS实例需要处于相同地域才能切换到相同VPC。如果地域不同,为业务稳定,建议您通过DTS将RDS实例迁移至ECS实例所属地域。详情请参见RDS实例间数据迁移
    2. 在RDS实例的白名单设置页面单击default 专有网络分组右侧的修改
    3. 在弹出的对话框中,填写ECS实例的内网IP地址,然后单击确定
      说明 应用程序中使用RDS实例的内网连接地址。
    ECS实例为专有网络

    RDS实例为经典网络

    1. 在RDS实例的数据库连接页面单击切换为专有网络,选择和ECS实例相同的VPC。
      说明 ECS实例和RDS实例需要处于相同地域才能切换到相同VPC。如果地域不同,为业务稳定,建议您通过DTS将RDS实例迁移至ECS实例所属地域。详情请参见RDS实例间数据迁移
    2. 在RDS实例的白名单设置页面单击default 专有网络分组右侧的修改
    3. 在弹出的对话框中,填写ECS实例的内网IP地址,然后单击确定
      说明 应用程序中使用RDS实例的内网连接地址。
    云外主机连接RDS实例
    1. 白名单设置页面单击default 经典网络分组右侧的修改
    2. 在弹出的对话框中,填写云外主机的公网IP地址,然后单击确定
      说明
    说明
    • 您可以单击添加白名单分组新建自定义分组,根据连接类型选择专有网络经典网络 及 外网地址
    • 若填写IP段,如10.10.10.0/24,则表示10.10.10.X的IP地址都可以访问该RDS实例。
    • 若您需要添加多个IP地址或IP段,请用英文逗号隔开(逗号前后都不能有空格),例如192.168.0.1,172.16.213.9。
    • 单击加载ECS内网IP后,将显示您当前阿里云账号下所有ECS实例的IP地址,可快速添加ECS内网IP地址到白名单中。

通用白名单模式设置IP白名单

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
    选择地域
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中单击数据安全性
  5. 白名单设置页面中,单击default白名单分组中的修改
    说明 您也可以单击添加白名单分组新建自定义分组。
  6. 修改白名单分组对话框中,填写需要访问该实例的IP地址或IP段,然后单击确定
    说明
    • 当您在default分组中添加新的IP地址或IP段后,系统自动删除默认地址127.0.0.1。
    • 若填写IP段,如10.10.10.0/24,则表示10.10.10.X的IP地址都可以访问该RDS实例。
    • 若您需要添加多个IP地址或IP段,请用英文逗号隔开(逗号前后都不能有空格),例如192.168.0.1,172.16.213.9。
    • 单击加载ECS内网IP后,将显示您当前阿里云账号下所有ECS实例的IP地址,可快速添加ECS内网IP地址到白名单中。

IP白名单常见错误案例

  • 数据安全性 > 白名单设置中只有默认地址127.0.0.1。

    该地址表示不允许任何设备访问RDS实例。因此需在白名单中添加对端的IP地址。

  • 白名单设置为0.0.0.0。

    正确格式为0.0.0.0/0。

    说明 0.0.0.0/0表示允许任何设备访问RDS实例,请谨慎使用。
  • 高安全白名单模式时,IP地址填写错误。

    如果开启了高安全白名单模式,需进行如下检查:

    • 如果使用的是专有网络的内网连接地址,请确保ECS内网IP地址添加到了default 专有网络的分组。
    • 如果使用的是经典网络的内网连接地址,请确保ECS内网IP地址添加到了default 经典网络的分组。
    • 如果使用ClassicLink访问RDS的专有网络地址,请确保ECS内网IP地址添加到了default 专有网络分组。
    • 如果通过公网连接,请确保设备公网IP地址添加到了default 经典网络的分组(专有网络的分组不适用于公网)。
  • 白名单中添加的设备公网IP地址并非设备真正的出口IP地址。

    原因如下:

    • 公网IP地址不固定,可能会变动。
    • IP地址查询工具或网站查询的公网IP地址不准确。

    解决办法请参见RDS MySQL/MariaDB如何确定外部服务器/客户端的公网IP地址

安全组注意事项

  • 支持安全组的RDS版本:MySQL 5.6、5.7、8.0。
  • 您可以同时设置IP白名单和安全组。IP白名单中的IP地址和安全组中的ECS实例都可以访问该RDS实例。
  • 实例最多支持添加10个安全组。
  • 白名单中的安全组的更新将实时应用到白名单。
  • RDS实例只能添加与自身网络类型相同的安全组,即实例为专有网络VPC时,只能添加VPC类型的安全组;实例为经典网络时,只能添加经典网络类型的安全组。
    说明 添加安全组后,如果切换实例网络类型,会导致安全组失效,需要重新添加对应网络类型的安全组。

设置安全组

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
    选择地域
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中单击数据安全性
  5. 白名单设置页签内,单击添加安全组
  6. 选中要添加的安全组,单击确定
    说明 带有VPC标识的安全组为专有网络中的安全组。

下一步

创建数据库和账号

常见问题

  • 设置IP白名单后立刻生效吗?

    设置白名单后需要等待1分钟左右才会生效。

  • 为什么多了几个不是我创建的白名单分组?

    如果多的分组内IP是内网IP,通常是阿里云其他产品(例如DMS、DAS)自动生成的辅助控制台某些功能的白名单,不会操作您任何业务数据。

    hdm白名单
  • 不开放外网访问,仅在内网访问,会有安全风险吗?

    建议您将RDS实例切换为专有网络,这样只有将相同VPC内的ECS实例内网IP添加到RDS实例白名单内,该ECS实例才能访问RDS实例。

相关API

API 描述
DescribeDBInstanceIPArrayList 查看RDS实例IP白名单
ModifySecurityIps 修改RDS实例IP白名单