您可以将RDS实例迁移至同一地域内的其他可用区。迁移所需时间跟实例的数据量有关,通常为几个小时。
前提条件
RDS实例需满足以下条件:
如果为云盘实例,内核小版本不可低于20201031。如何升级内核小版本,请参见升级内核小版本。
实例所在的地域需要有多个可用区,才支持迁移可用区功能。关于地域和可用区的详情,请参见地域和可用区。
实例未开通共享代理。
说明确认共享代理的方法:您可以在实例控制台的数据库代理页面查看,如果有读写分离(共享)页签表示当前使用的是共享代理。
共享代理功能已于2021年04月01日停止更新维护,若您仍在使用共享代理,建议您升级共享代理为独享型代理。
使用独享型代理或者通用型代理,不会影响可用区迁移。
其他引擎迁移可用区请参见:
费用
迁移可用区功能免费。即使将实例从单可用区迁移至多个可用区,也不收取费用。
影响
主节点切换:迁移可用区期间可能会导致主节点切换,造成主节点连接地址、代理连接地址短时间不可用,请确保应用具有自动重连机制。若无自动重连机制,请手动进行应用与数据库的重连。具体影响请参见实例切换的影响。主节点切换的场景如下:
当主节点目标可用区与主节点当前可用区不一致时,会发生主节点切换。
当主节点目标可用区与当前主实例网络资源所在可用区不一致时,会发生主节点切换。
虚拟IP(VIP)变更:迁移可用区期间如果发生主节点切换,会造成虚拟IP(VIP)的变更,连接地址不会发生变化,请尽量在您的应用程序中使用连接地址进行连接,请勿使用IP地址。
如果您的RDS MySQL实例挂载在PolarDB-X实例之下,VIP的变更会影响到RDS实例与PolarDB-X实例之间的连通性,请及时手动修复。更多信息,请参见修复分库连接。
请及时清理客户端DNS缓存。客户端采用JVM的应用,建议将JVM配置中的TTL设置为不超过60秒,可确保在连接地址的VIP地址发生变更时,应用程序可以通过重新查询DNS来接收和使用资源的新VIP地址。
说明JVM中设置TTL的方法请参见JDK官方文档:Class InetAddress。
DTS任务中断:如果有正在执行的DTS任务,可用区迁移后,需要重启相应的DTS任务。
重新创建表文件:迁移可用区会重新创建表文件,从而导致表文件的创建时间发生变化,进而引起INFORMATION_SCHEMA中表的CREATE_TIME字段发生变化。
如果迁移的目标可用区资源不足,则可能迁移可用区失败。
迁移可用区时,不支持只更改交换机。若您需要修改实例的交换机,请参见切换专有网络VPC和虚拟交换机。
操作步骤
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在实例基本信息页面,单击右上角迁移可用区。
说明如果控制台没有迁移可用区按钮,请确认您的实例是否符合前提条件。
在将实例迁移至其他可用区对话框中,选择目标可用区、目标可用区交换机和切换时间,单击确定。
迁移场景
说明
从一个可用区迁移至另一个可用区
主节点目标可用区和备节点目标可用区选择相同的可用区。
例如将
新加坡 可用区C(主)+ 可用区C(备)
迁移至新加坡 可用区A(主)+ 可用区A(备)
。从一个可用区迁移至多个可用区
主节点目标可用区和备节点目标可用区选择不同的可用区。
例如将
新加坡 可用区C(主)+ 可用区C(备)
迁移至新加坡 可用区B(主)+ 可用区A(备)
。说明迁移后的主备节点分别位于不同的可用区,能够实现跨可用区容灾。
相对于单可用区实例,多可用区实例可以承受更高级别的灾难。例如,单可用区实例可以承受服务器和机架级别的故障,而多可用区实例可以承受机房级别的故障。
对于包含主备节点的实例,建议迁移至多个可用区,实现实例的跨可用区容灾。
从多个可用区迁移至一个可用区
主节点目标可用区和备节点目标可用区选择相同的可用区。
例如将
新加坡 可用区B(主)+ 可用区A(备)
迁移至新加坡 可用区C(主)+ 可用区C(备)
。说明实例单可用区部署不具备跨可用区容灾能力,建议迁移至多可用区。
从多个可用区迁移至多个可用区
主节点目标可用区和备节点目标可用区选择不同的可用区。
例如将
新加坡 可用区B(主)+ 可用区C(备)
迁移至新加坡 可用区A(主)+ 可用区B(备)
。重要您也可以选中我需要变更配置,在迁移可用区的同时变更实例规格和存储空间。
系统会按您指定的切换时间(立即切换或在可维护时间段内进行切换)进行可用区迁移(同时若您选择的交换机发生了变更,实例将切换到新链路),请确保应用具有自动重连机制。若应用没有自动重连机制,需手动重连。
由于客户端DNS缓存可能没有及时刷新,部分流量可能在10分钟后才进行切换,在切换过程中实例将发生第二次切换,请确保应用具有自动重连机制。若应用没有自动重连机制,需手动重连。
实例切换的影响请参见实例切换的影响。
在迁移可用区弹窗中,确认迁移前后的可用区信息,并单击确定。
相关API
API | 描述 |
迁移RDS实例可用区。 |
常见问题
Q:迁移过程中发生数据写入,切换后对原有数据是否有影响?对于迁移过程中新写入的数据,切换后新数据是否还会保留?
A:原有数据不会有影响;对于迁移过程中新写入的数据会保留。
重要迁移过程中会出现实例切换,请确保应用具有自动重连机制。若应用没有自动重连机制,需手动重连。实例切换的影响请参见实例切换的影响。
Q:实例可用区迁移时间与什么有关?
A:对于本地盘实例,迁移时间与数据量成正比,数据量越大迁移时间越长,通常为几个小时。对于云盘实例,通常在一个小时内完成。