本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
在您通过公网访问RDS MySQL或MariaDB前,需要将本地设备或外部服务器的公网IP地址添加到RDS白名单中。本文介绍如何确定公网IP地址。
问题描述
已经将本地IP地址添加到白名单中,但仍然无法连接。
以上很可能是因为您的公网IP地址不正确,或者本地公网IP地址发生变动。
本文只适用于ECS以外的设备访问RDS实例的情况。如果是ECS实例访问RDS实例,可以在ECS实例的详情页面查看准确的公网IP地址和内网IP地址。
注意事项
如果您发现您本地设备的公网IP地址会变化,而且建立的连接是用于生产环境,则建议您改为使用内网连接,或者在白名单中配置合理的公网IP段,确保不会因为IP地址改变而断连。
定位本地设备的公网IP地址
临时添加白名单。
将公司的公网网段或者0.0.0.0/0添加到RDS MySQL或MariaDB实例的白名单。
0.0.0.0/0表示允许任何设备访问RDS实例,有安全风险,请谨慎使用。完成测试后必须立即删除。
获取公网IP(任选一种方式)。
方案一(推荐):通过
curl ipinfo.io/ip
查询本地客户端公网IP。如果连接仍存在异常,再通过
curl ifconfig.me
查询公网IP。方案二:通过SQL查询。
在本地设备,通过命令行、客户端连接RDS MySQL实例。
mysql -hRDS连接地址 -u账户 -p密码 -P3306
执行以下SQL查询以获取真实出口IP。
show processlist
如下图所示, show processlist 所在的行对应的 Host 就是本地设备的真实出口 IP 地址。
更新白名单。
删除白名单中的0.0.0.0/0。
添加步骤2获取的真实公网IP。
常见问题
如何确定是本地公网IP地址变动导致无法连接数据库?
将0.0.0.0/0添加到RDS MySQL或MariaDB实例的白名单中,等待1分钟左右,此时任何设备都可以访问RDS实例。如果测试可以正常连接数据库,请将0.0.0.0/0从白名单中删除,然后添加本地IP地址再进行测试,如果无法连接,则代表您当前的本地公网IP地址不是您之前填写的IP地址。
设置了白名单为什么还是不行?
如果确认是本地公网IP地址变动导致的白名单问题,请等待1分钟左右,这是因为设置白名单后需要等待1分钟左右才会生效。
除了白名单之外,还有很多因素会导致您无法连接数据库,详情请参见解决无法连接实例问题。
- 本页导读 (1)
- 问题描述
- 注意事项
- 定位本地设备的公网IP地址
- 常见问题