如何在 Aurora 全局数据库中执行失效转移,为什么我的失效转移失败了?

1 分钟阅读
0

我想知道如何在我的 Amazon Aurora PostgreSQL 兼容版全球数据库中执行失效转移以及失效转移失败的原因。

解决方法

对于 Aurora 全局数据库,执行失效转移有两种不同的选项:

  • 手动计划外失效转移(“分离并升级”)-使用此选项从计划外停机中恢复或进行灾难恢复测试。
  • 托管计划内失效转移-使用此选项进行操作维护或其他计划内操作程序。

手动计划外失效转移

要在主 AWS 区域出现计划外停机后故障转移到辅助集群,请先执行以下操作:

  1. 中断后,停止向 AWS 区域的主要 Aurora 数据库集群发出 DML 语句和其他写入操作。
  2. 从辅助 AWS 区域识别一个 Aurora 数据库集群,将其用作新的主数据库集群。如果您的 Aurora 全球数据库中有两个或更多辅助 AWS 区域,请选择延迟时间最小的辅助集群。
  3. 从 Aurora 全局数据库中移除您选择的辅助数据库集群

然后,要完成手动计划外失效转移,请执行以下操作:

  1. 重新配置您的应用程序,使用其新端点将所有写入操作发送到现在独立的 Aurora 数据库集群。如果您在创建 Aurora 全局数据库时接受了提供的名称,则通过从集群的端点字符串中移除 -ro 来更改端点。
    例如,当辅助集群的端点 my-global.cluster-ro-aabb.us-west-1.rds.amazonaws.com 与 Aurora 全局数据库分离时,该集群将变成 my-global.cluster-aabb.us-1.rds.amazonaws.com
    当您开始向新 Aurora 全球数据库添加区域时,辅助 Aurora 数据库集群将成为该数据库的主集群。
  2. 向 DB 集群添加 AWS 区域以启动从主集群到辅助集群的复制过程。
  3. 根据需要添加更多 AWS 区域,以重新创建支持您的应用程序所需的拓扑。

有关更多信息,请参阅从计划外停机中恢复 Amazon Aurora Global Database

托管的计划失效转移

要为您的 Aurora 全局数据库启动托管计划内失效转移,请执行以下操作:

  1. 打开 Amazon RDS 控制台
  2. 选择数据库,然后找到要进行故障转移的 Aurora 全球数据库。
  3. 从 “操作” 菜单中,选择故障切换全局数据库。失效转移现在处于待处理状态,该过程要等到您选择失效转移目标后才开始。
  4. 选择要升级为主集群的辅助 Aurora 数据库集群。辅助数据库集群必须可用
    注意:如果您有多个辅助数据库集群,请比较所有辅助数据库集群的延迟量。然后,选择延迟量最小的那个。
  5. 选择失效转移全局数据库以确认您选择的辅助数据库集群,然后开始失效转移过程。
    数据库列表的状态列显示了每个 Aurora 数据库实例和 Aurora 数据库集群在失效转移过程中的状态。
    控制台顶部的状态栏显示进度并提供取消失效转移选项。
    如果您选择取消失效转移,则可以选择继续进行失效转移或取消失效转移过程。
  6. 选择关闭继续进行失效转移,然后关闭提示。

失效转移完成后,您可以在数据库列表中看到 Aurora 数据库集群及其当前状态。有关更多信息,请参阅对 Amazon Aurora Global Database 执行托管的计划内失效转移

您也可以使用 AWS 命令行界面(AWS CLI)命令,以通过执行 failover-global-cluster 命令,启动托管的计划性失效转移。

失效转移失败的原因

失效转移可能由于以下原因之一而失败:

  • 源和目标之间的复制延迟
  • 可用区故障
  • 计算节点故障
  • 数据库实例之间的网络问题
  • 存储问题
  • 大型事件

相关信息

在 Amazon Aurora Global Database 中使用失效转移

AWS 官方
AWS 官方已更新 1 年前