创建RDS MySQL或RDS MySQL Serverless实例后,需要将IP地址添加到白名单,该IP地址所属的设备才能访问该RDS实例。
前提条件
操作步骤
RDS默认已设置系统白名单,该白名单不显示,用于允许系统账号对数据库的维护操作,关于系统账号的更多信息,请参见系统账号说明。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏中,单击白名单与安全组。
确认IP白名单模式。
说明版本为MySQL 5.1、5.5、5.6、5.7,存储类型为本地SSD盘的实例可以切换为高安全模式。其他版本的实例都采用通用模式。
单击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地址到白名单中。
添加后,该应用服务器才能访问RDS实例。
单击确定。
下一步
相关文档
常见问题
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的访问控制。例如,通过应用代理转发,账号检测过滤等。
附录:确认是否满足内网访问的条件
附录:如何获取应用服务器IP地址
表 1. 如何获取应用服务器IP地址
场景 | 需获取的IP地址 | 如何获取 |
满足内网访问的条件 | ECS实例私网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白名单分组对用户不可见,防止误修改或删除分组,影响相关服务的使用。 |