创建RDS MySQL或RDS MySQL Serverless实例后,需要将IP地址添加到白名单,该IP地址所属的设备才能访问该RDS实例。
前提条件
操作步骤
RDS默认已设置系统白名单,该白名单不显示,用于允许系统账号对数据库的维护操作,详情请参见系统账号说明。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏中,单击白名单与安全组。
确认IP白名单模式。
说明版本为MySQL5.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。
如果白名单模式是高安全模式,则需注意:
把公网IP或经典网络ECS实例的私网IP添加至经典网络分组。
把专有网络ECS实例私网IP添加至专有网络分组。
方法二:单击加载ECS内网IP,显示当前阿里云账号以及当前地域下所有ECS实例的IP地址,快速添加ECS内网IP地址到白名单中。
添加后,该应用服务器才能访问RDS实例。
单击确定。
下一步
相关文档
常见问题
Q:为什么没有添加到白名单中的IP地址也可以访问RDS?
A:您可以按照以下方法排查:
检查所有的白名单分组,确认是否包含0.0.0.0/0。0.0.0.0/0表示允许所有IP访问RDS,存在安全风险,建议删除并仅设置可信任的IP地址。
检查所有的安全组,确认是否包含该IP地址。如果某个安全组包含该IP地址,则可以访问RDS。
Q:如果在不开通外网的情况下,让本机可以访问RDS?
A:需要打通内网,详情请参见连接本地IDC。
Q:白名单里出现了一些IP地址,如何查看添加这些IP地址的操作者?
A:在实例详情页左侧,单击操作审计,在事件名称中输入ModifySecurityIps,即可查看添加IP地址的操作者和操作详情。
Q:如果用户侧应用没有固定IP,怎么加入到数据库白名单里?
A:如果用户没有固定IP,无法设置
0.0.0.0/0
,建议基于身份验证而非IP的访问控制。例如,使用如下方式:使用动态DNS服务:通过动态DNS获取动态IP对应的域名,并将该域名或其解析出的IP地址加入数据库白名单。
设置反向代理或负载均衡器:所有用户侧应用请求通过反向代理服务器或负载均衡器转发到数据库,仅将代理服务器的固定IP地址加入数据库白名单。
定期更新白名单:对于IP地址在一定范围内变化的情况(如家庭宽带IP由ISP分配),定期获取这些IP地址并更新至白名单中。
附录:确认是否满足内网访问的条件
附录:如何获取应用服务器IP地址
表 1. 如何获取应用服务器IP地址
场景 | 需获取的IP地址 | 如何获取 |
满足内网访问的条件 | ECS实例私网IP | 点此打开ECS实例列表,选择地域,在实例列表查看私网IP和公网IP。 |
需要通过ECS实例访问RDS实例,但不满足内网访问的条件 | ECS实例公网IP | |
需要通过本地设备访问RDS实例 | 本地设备公网IP | 通过 说明 公网IP在数据库升级或变更操作时可能会发生变化。如果已经将本地IP地址添加到白名单中,但仍然无法连接,请参见外网无法连接RDS MySQL或MariaDB:如何正确填写本地设备的公网IP地址处理。 |
附录:系统默认白名单
当DMS、DTS、DAS服务与RDS MySQL交互时,系统会自动添加以下白名单分组,以确保正常访问。
分组名称 | 说明 |
dms | 用于DMS登录RDS MySQL实例。 |
dts | 用于DTS传输数据。 |
hdm_security_ips | 用于DAS服务获取数据、优化、运维和安全管理。 重要 对于2020年12月之后的新建实例,hdm_security_ips白名单分组对用户不可见,防止误修改或删除分组,影响相关服务的使用。 |