灾难恢复和 Amazon DocumentDB 全球群集 - Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

灾难恢复和 Amazon DocumentDB 全球群集

通过使用全球群集,您可以快速从灾难中恢复,例如区域故障。灾难恢复通常以 RTO 和 RPO 的值来衡量。

  • 恢复时间目标 (RTO)灾难后系统恢复工作状态所需的时间。换言之,RTO 用于衡量停机时间。对于全局集群,RTO 大约为数分钟。

  • 恢复点目标 (RPO)— 可能丢失的数据量(按时间衡量)。对于全局集群,RPO 通常以秒为单位进行测量。

  • 要从计划外停机中恢复,您可以执行跨区域故障转移到全局集群中的一个辅助区域。当全局集群具有多个辅助区域时,如果主区域为主区域,请确保分离所有辅助区域。Amazon Web Services 区域遇到停机。然后,您将其中一个辅助区域提升为新的主区域。Amazon Web Services 区域. 最后,在其他每个辅助区域中创建新的集群,并将这些集群附加到全局集群。

  • 将辅助集群提升为主集群时,还需要更新应用程序用于连接到全局集群的终端节点。要从新提升的集群获取新的写入器终端节点,可以通过从终端节点字符串中删除 -ro 来转换以前的读取器终端节点。例如,如果以前的读取器终端节点为 global-16rr-test-cluster-1.cluster-ro-12345678901.us-west-2.docdb.amazonaws.com,则新提升的写入器终端节点为 global-16rr-test-cluster-1.cluster-cps2igpwyrwa.us-west-2.rds.amazonaws.com

Amazon DocumentDB 全局集群的故障转移

如果整个群集合在一个Amazon Web Services 区域变得不可用,您可以提升全局集群中的另一个集群,使之具有读/写功能。

如果另一个集群中的集群,您可以手动启用故障转移机制。Amazon Web Services 区域是成为主集群的更好选择。例如,您可以提高其中一个辅助集群的容量,然后将其提升成为主集群。或者是活动之间的平衡Amazon Web Services 区域可能会发生变化,以便将主群集切换到不同的群集Amazon Web Services 区域可能会降低写入操作的延迟。

以下过程概述了如何提升 DocumentDB 全局集群中的一个辅助集群。

提升辅助集群:

  1. 停止向中的主集群发出 DML 语句和其他写入操作。Amazon Web Services 区域停机。

  2. 从辅助集群中识别集群Amazon Web Services 区域用作新的主群集。如果你有两个(或更多)二级Amazon Web Services 区域在全局集群中,请选择滞后时间最短的辅助集群。

  3. 从全局集群分离您所选的辅助集群。

    从全局集群删除辅助集群会立即停止从主集群到该辅助集群的复制过程,并会将其提升为拥有完全读/写功能的独立预置的集群。与该停机区域中的主集群关联的任何其他辅助集群仍然可用,并且可以接受应用程序的调用。它们还会消耗资源。由于您要重新创建全局集群,为避免分裂大脑和其他问题,请先删除其他辅助辅助集群,再在后续步骤中创建新的全局集群。

    有关分离的详细步骤,请参阅 从 Amazon DocumentDB 全局集群删除集群

  4. 重新配置应用程序,使用新的终端节点将所有写入操作发送到现在的独立集群。如果您在创建全局集群时接受了提供的名称,则可以在应用程序中从集群的终端节点字符串中删除-ro 以更改终端节点。

    例如,辅助集群的终端节点my-global.cluster-ro-aaaaaabbbbbb.us-west-1.docdb.amazonaws.com变成my-global.cluster-aaaaaabbbbbb.us-west-1.docdb.amazonaws.com当该集群从全局集群分离时。

    在下一步中,当您开始向新的全局集群添加区域时,该集群将成为新的全局集群的主集群。

  5. 添加Amazon Web Services 区域到集群。执行此操作后,从主数据库集群到辅助数据库集群的复制过程将会开始。

  6. 添加更多Amazon Web Services 区域根据需要重新创建为了支持应用程序所需的拓扑。确保在做出这些更改之前、更改期间和更改之后,将应用程序写入内容发送到正确的集群,以避免全局集群中集群之间的数据不一致(大脑分裂问题)。

  7. 当停机问题已解决且您已准备好分配原始停机时。Amazon Web Services 区域再次作为主集群,请按相反顺序执行相同步骤。

  8. 从全局集群移除其中一个辅助集群。这将使它能够提供读/写流量。

  9. 将所有写入流量重定向到原始集群中的主集群。Amazon Web Services 区域.

  10. 添加Amazon Web Services 区域在同一个集群中设置一个或多个辅助集群Amazon Web Services 区域和之前一样。

可以使用以下方式管理 Amazon DocumentDB 全局集群AmazonSDK,使您能够创建解决方案,为灾难恢复和业务连续性规划使用案例自动执行全局群集故障转移过程。其中一个解决方案是通过 Apache 2.0 许可向我们的客户提供的,可以从我们的工具存储库访问这里. 此解决方案利用 Amazon Route53 进行端点管理并提供Amazon可以根据适当的事件触发的 Lambda 函数。