阿里云 RDS 限制仅内网访问的核心操作是在控制台白名单设置中,删除 0.0.0.0/0 并添加 VPC 网段或 ECS 内网 IP。此配置适用于 VPC 网络类型的实例,经典网络需使用经典网络内网段。
先说结论:通过修改 RDS 白名单分组,仅保留内网网段 IP,可实现仅内网访问。
- 适合:VPC 网络环境下的 RDS 实例安全加固
- 优先做:移除公网访问权限(0.0.0.0/0)并添加 VPC CIDR
- 再验证:从 ECS 内网连通性测试及外网连接失败确认
快速处理思路
登录阿里云控制台,进入 RDS 实例详情页,找到数据安全性页面,修改默认白名单分组,将内容替换为内网网段。
为什么会这样
RDS 白名单机制是实例级别的网络访问控制列表,优先级高于普通安全组规则。
默认情况下,新建实例可能包含空名单或测试名单。若存在 0.0.0.0/0,表示允许任意 IP 连接。将其替换为 VPC 网段(如 192.168.0.0/16),则只有该虚拟私有云内的资源能发起 TCP 连接。
分步处理
- 获取内网网段:在 VPC 控制台查看实例所属交换机的 IPv4 网段,或查看同 VPC 下 ECS 的内网 IP。
- 进入白名单设置:登录 RDS 控制台,点击实例 ID,选择左侧导航栏“数据安全性”,找到“白名单分组”。
- 修改默认分组:点击默认分组(通常为 default),点击“修改”,删除现有公网 IP 或 0.0.0.0/0。
- 添加内网 IP:输入 VPC 网段(例如 172.16.0.0/12)或具体 ECS 内网 IP,点击确定。
- 保存生效:点击保存,系统提示生效中,通常秒级完成。
怎么验证是否生效
使用同 VPC 下的 ECS 通过内网地址连接数据库,应成功;使用本地电脑通过公网地址连接,应失败。
- 成功标志:ECS 上执行
mysql -h <内网地址> -u <用户> -p能登录。 - 失败标志:外网环境连接时报错
Can't connect to MySQL server或超时。
常见坑
- 白名单设置为 127.0.0.1 代表禁止所有访问,勿误配。
- 修改白名单会断开当前连接,建议在业务低峰期操作。
- 确保 RDS 与 ECS 在同一地域且网络类型互通(均为 VPC 或已打通)。
常见问题
白名单支持域名吗?
不支持,阿里云 RDS 白名单仅支持 IP 地址或 CIDR 网段格式。
修改白名单会影响正在运行的业务吗?
会,修改生效瞬间会断开不在新白名单内的现有连接,新连接立即受新规则限制。
经典网络实例如何配置内网访问?
经典网络需添加经典网络内网段,建议尽快迁移至 VPC 以获得更细粒度的网络隔离。
参考来源
- 阿里云官方文档 - 设置白名单:https://help.aliyun.com/zh/rds/user-guide/configure-a-whitelist.html
- 阿里云官方文档 - 查看 VPC 网段:https://help.aliyun.com/zh/vpc/user-guide/view-the-basic-information-of-a-vpc.html