RDS MySQL支持迁移数据库代理实例的可用区,您可以将数据库代理服务迁移至同一地域内的其他可用区。建议数据库代理可用区和RDS MySQL主实例的主可用区保持一致。
关于RDS数据库代理的使用问题和更多相关信息,欢迎加入用户钉钉群(106730000316)进行咨询、反馈和交流 。
前提条件
- RDS实例需满足以下条件: - 引擎:RDS MySQL 
- 实例系列:高可用系列、集群系列 
- 存储类型:云盘版 
- 服务:已开通数据库代理服务 
- 实例运行状态:运行中 说明- 主实例、只读实例以及代理实例状态均为运行中。 
 
- RDS实例需存在专有网络类型的连接地址,且不支持存在经典网络类型的代理实例做可用区迁移。如何查看和管理实例连接地址,请参见查看和管理实例连接地址和端口。 
费用
数据库代理迁移可用区功能免费。
影响
- 迁移代理可用区时,数据库代理连接会出现约30秒的闪断。 - 针对高可用系列实例,通过主实例连接地址、只读实例连接地址的业务不受影响; 
- 针对集群系列实例,通过集群读写地址、集群只读地址、节点直连地址的业务不受影响。 
 说明- 建议将业务切换到上述不受影响的连接地址中,并在业务低峰期进行可用区迁移。 
- 请确保应用有自动重连机制。 说明- 若应用无自动重连机制,请手动进行应用与数据库的重连。 
- 迁移代理可用区会造成虚拟IP(VIP)的变更,请尽量在您的应用程序中使用连接地址进行连接,不要使用IP地址。 
- 请及时清理客户端DNS缓存。客户端采用JVM的应用,建议将JVM配置中的TTL设置为不超过60秒,可确保在连接地址的VIP地址发生变更时,应用程序可以通过重新查询DNS来接收和使用资源的新VIP地址。 说明- JVM中设置TTL的方法请参见JDK官方文档:Class InetAddress。 
- 如果迁移的目标可用区资源不足,则可能迁移可用区失败。 
- 迁移可用区可能会导致就近访问失效: - 迁移可用区后,默认可就近访问新可用区,原可用区的就近访问失效。若修改了代理连接地址的目标可用区,使其与默认可用区不一致,则对应可用区的就近访问失效。示例场景如下: - 场景 - 原代理信息 - 目标代理信息 - 代理实例当前可用区 - 代理地址 - 就近访问 - 代理实例目标可用区 - 代理地址默认可用区 - 代理地址目标可用区 - 就近访问 - 场景1: - 可用区A + 可用区B迁移至- 可用区A + 可用区C- 可用区A - 代理地址a - 可用区A - 可用区A - 可用区A - 可用区A - 可用区A - 可用区C - 失效 - 可用区B - 代理地址b - 可用区B - 可用区C - 可用区C - 可用区C - 可用区C - 可用区D - 失效 - 场景2: - 可用区A + 可用区B迁移至- 可用区C + 可用区D- 可用区A - 代理地址a - 可用区A - 可用区C - 可用区C - 可用区C - 可用区C - 可用区E - 失效 - 可用区B - 代理地址b - 可用区B - 可用区D - 可用区D - 可用区D - 可用区D - 可用区E - 失效 
如果代理与主实例不在同一可用区,通过数据库代理连接时,写入性能可能会下降,建议代理实例与主实例的VPC、vSwitch保持一致。
操作步骤
相关API
| API | 描述 | 
| 通过指定VSwitchIds参数迁移代理实例至目标可用区 | 
常见问题
- Q:迁移代理可用区会对主实例连接有影响吗? - A:迁移代理可用区只会影响使用数据库代理连接地址的业务连接,通过主实例连接地址、只读实例连接地址或者集群读写地址、集群只读地址、节点直连地址的业务不受影响。建议将业务切换到不受影响的连接地址中,并在业务低峰期进行可用区迁移。 
- Q:迁移代理可用区的影响是什么? - A:迁移代理可用区时,数据库代理连接会出现约30秒的闪断。影响时长跟业务实际使用有关,建议将业务切换到不受影响的连接地址中,并在业务低峰期进行可用区迁移。具体影响,可参见本文影响章节。 
