您可以将RDS实例迁移至同一地域内的其它可用区。迁移所需时间跟实例的数据量有关,通常为几个小时。

前提条件

  • 实例系列为高可用版或基础版。
  • 实例状态为运行中。
    说明 如果当前实例创建了只读实例,则只读实例的状态也需要为运行中,否则主实例迁移可用区时将报错OperationDenied.MasterDBlnstancestate
  • 如果为云盘实例,内核小版本不可低于20201031。如何升级内核小版本,请参见升级内核小版本
  • 实例所在的地域需要有多个可用区,才支持迁移可用区功能。关于地域和可用区的详情,请参见地域和可用区
  • 实例已升级网络链路。详细说明请参见【重要】RDS网络链路升级说明
  • 实例规格不能是历史规格。如需变更实例规格,请参见变更配置

其他引擎迁移可用区请参见:

费用

迁移可用区功能免费。即使将实例从单可用区迁移至多个可用区,也不收取费用。

影响

  • 迁移可用区会导致实例出现30秒的闪断,请确保应用具有自动重连机制。
  • 迁移可用区会造成虚拟IP(VIP)的变更,请尽量在您的应用程序中使用连接地址进行连接,不要使用IP地址。
  • 请及时清理客户端DNS缓存。客户端采用JVM的应用,建议将JVM配置中的TTL设置为不超过60秒,可确保在连接地址的VIP地址发生变更时,应用程序可以通过重新查询DNS来接收和使用资源的新VIP地址。
    说明 JVM中设置TTL的方法请参见JDK官方文档:Class InetAddress
  • 如果您的RDS MySQL实例挂载在DRDS实例之下,VIP的变更会影响到RDS实例与DRDS实例之间的连通性,请及时手动修复。更多信息,请参见修复分库连接
  • 如果有正在执行的DTS任务,可用区迁移后,需要重启相应的DTS任务。
  • 如果迁移的目标可用区资源不足,则可能迁移可用区失败。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在实例基本信息区域,查看实例当前地域及可用区。
    • 单可用区部署时,实例基本信息地域及可用区如下。单可用区
    • 多可用区部署时,实例基本信息地域及可用区如下。多可用区部署
  3. 单击迁移可用区
    说明 如果控制台没有迁移可用区按钮,请确认您的实例是否符合前提条件。
  4. 将实例迁移至其他可用区对话框中,选择目标可用区、目标可用区交换机和切换时间,单击确定单可用区迁移
    迁移场景说明
    从一个可用区迁移至另一个可用区迁移至主可用区迁移至备可用区选择相同的可用区。

    例如将新加坡 可用区C(主)+ 可用区C(备)迁移至新加坡 可用区A(主)+ 可用区A(备)

    从一个可用区迁移至多个可用区迁移至主可用区迁移至备可用区选择不同的可用区。

    例如将新加坡 可用区C(主)+ 可用区C(备)迁移至新加坡 可用区B(主)+ 可用区A(备)

    说明 迁移后的主备实例分别位于不同的可用区,能够实现跨机房容灾。

    相对于单可用区实例,多可用区实例可以承受更高级别的灾难。例如,单可用区实例可以承受服务器和机架级别的故障,而多可用区实例可以承受机房级别的故障。

    对于包含主备节点的实例,建议迁移至多个可用区,实现实例的跨可用区容灾。

    从多个可用区迁移至一个可用区迁移至主可用区迁移至备可用区选择相同的可用区。

    例如将新加坡 可用区B(主)+ 可用区A(备)迁移至新加坡 可用区C(主)+ 可用区C(备)

    重要
    • 迁移完成后系统会按您指定的切换时间(立即切换在可维护时间段内切换),把流量切换到新链路,切换时会发生连接闪断,请确保应用具有自动重连机制。若应用没有自动重连机制,需手动重连。
    • 由于客户端DNS缓存可能没有及时刷新,部分流量可能在10分钟后才进行切换,导致第二次闪断。客户端采用JVM的应用,建议将JVM配置中的TTL设置为不超过60秒,可确保在连接地址的VIP地址发生变更时,应用程序可以通过重新查询DNS来接收和使用资源的新VIP地址。设置方法请参见本文的影响章节。

相关API

API描述
迁移可用区迁移RDS实例可用区。

常见问题

  • Q:迁移过程中发生数据写入,切换后对原有数据是否有影响?对于迁移过程中新写入的数据,切换后新数据是否还会保留?
    A:原有数据不会有影响;对于迁移过程中新写入的数据会保留。
    重要 迁移过程中实例是可用的,但切换时会发生连接闪断,请确保应用具有自动重连机制。若应用没有自动重连机制,需手动重连。
  • Q:实例可用区迁移时间与什么有关?

    A:与数据量成正比,数据量越大迁移时间越长。