公司动态

  • Home
  • 在 Amazon DocumentDB 中使用无头集群实现具成本效益的多区域弹性 数据库博客

在 Amazon DocumentDB 中使用无头集群实现具成本效益的多区域弹性 数据库博客

2026-01-27 13:25:08 337

在 Amazon DocumentDB 中使用无头集群实现经济高效的多区域冗余

关键要点

Amazon DocumentDB 提供无头集群功能,支持在多个区域内保持低成本数据副本。无头集群在灾难恢复时允许快速切换到次要集群,尽管创建和配置过程有所不同。启用无头集群可降低成本,同时确保在 AWS 区域故障时的业务连续性。本文将介绍创建和修改无头集群的步骤以及相关前提条件。

Amazon DocumentDB (与 MongoDB 兼容) 是一种高效、可扩展且全托管的企业文档数据库服务,旨在处理原生 JSON 工作负载。它简化了以文档数据库形式存储、查询和索引 JSON 数据的过程。

对于依赖数据库的关键任务工作负载的组织来说,维护应对可能导致数据库处于降级状态的 AWS 区域事件的弹性至关重要。建立可负担得起的灾难恢复策略以维护持续的业务连续性并满足监管要求是必要的。

Amazon DocumentDB 的无头集群特性 能够高效地在不同区域之间维护低成本的数据副本,并在灾难恢复情况中故障转移至次要集群。有关定价和区域可用性的详细信息,请参阅 Amazon DocumentDB与 MongoDB 兼容的定价。

在本文中,我们将讨论如何在次要区域创建无头集群。

解决方案概述

一个 Amazon DocumentDB 全球集群 可以有一个主集群和多达五个次要区域。主集群具有读写能力,并将数据复制到次要集群,几乎对性能没有影响,典型的延迟低于 1 秒。

使用 Amazon DocumentDB,您可以创建一个没有附加计算实例的次要集群。这一功能增强了数据持久性,同时降低了成本。

带计算的次要集群具有以下配置:每个次要集群最多可以容纳 16 个只读复制实例。在主区域出现故障时,可以在通常不到 1 分钟的时间内将次要集群提升为主集群。不带计算的次要集群无头集群具有以下配置:次要集群仍然在存储级别接收来自主集群的数据。在主区域发生故障时,必须向次要集群添加实例,这需要 1015 分钟。然而,由于在次要区域没有计算开支,所以成本仍然较低。

以下图表展示了无头集群的架构。

您可以通过以下方式之一创建 Amazon DocumentDB 无头集群:

将 Amazon DocumentDB 集群转换为带无头配置的全球集群 通过添加没有数据库实例的次要集群,您可以创建一个带无头配置的 Amazon DocumentDB 全球集群,进而将其转换为无头集群。

修改现有的 Amazon DocumentDB 全球集群以创建无头配置 为了将次要区域集群转换为无头配置,需要删除所有附加的复制实例。

在 Amazon DocumentDB 中使用无头集群实现具成本效益的多区域弹性 数据库博客

本文将讨论这两种方法。

前提条件

设置 Amazon DocumentDB 无头集群的最低要求是拥有一个 Amazon DocumentDB 独立集群。您可以使用现有的 Amazon DocumentDB 集群或创建一个新的集群。为了跟随示例,您需要安装并配置 AWS Command Line Interface (AWS CLI),并设置您的 AWS 凭证和默认区域。一些示例使用的语法需要 AWS CLI v2。有关安装、升级或配置 AWS CLI 的说明,请参阅安装或更新最新版本的 AWS CLI。

将 Amazon DocumentDB 独立集群转换为带无头配置的全球集群

您可以通过添加没有实例的次要区域来将 Amazon DocumentDB 集群转换为全球无头集群。请完成以下步骤:

在 Amazon DocumentDB 控制台中,选择导航窗格中的 集群。该页面列出了主区域集群的信息。

您也可以使用 AWS CLI:

bash aws docdb describedbclusters region useast1 query DBClusters[]{DBClusterIdentifierDBClusterIdentifierEndpointEndpointReaderEndpointReaderEndpointDBClusterArnDBClusterArnEngineVersionEngineVersion}

运行以下 AWS CLI 命令,将 Amazon DocumentDB 主集群转换为全球集群:

bash aws docdb createglobalcluster globalclusteridentifier docdbglobalcluster sourcedbclusteridentifier arnawsrdsuseast1111111111111clusterdocdbuseast

返回 Amazon DocumentDB 控制台,验证集群配置。

使用下面的 AWS CLI 命令将次要集群添加到全球集群:

bash aws docdb createdbcluster engine docdb globalclusteridentifier docdbglobalcluster region uswest2 dbclusteridentifier docdbuswest kmskeyid aaaaaaaa1aaa1111a1a11aaa11a11aa1

在 Amazon DocumentDB 控制台中查看集群配置。次要区域集群的状态从 创建中 变为 可用 可能需要几分钟时间。

次要区域集群已成功添加到 Amazon DocumentDB 的全球集群中,且没有复制实例。通过采用此方法,您已成功将 Amazon DocumentDB 集群转换为带无头配置的全球集群。

修改现有的 Amazon DocumentDB 全球集群以创建无头配置

您可以通过删除现有 Amazon DocumentDB 全球集群的复制实例来将其转换为无头配置。请完成以下步骤:

在 Amazon DocumentDB 控制台中,选择导航窗格中的 集群。该页面列出了全球集群的信息。

苹果免费加速器下载要删除附加于次要集群的现有复制实例,请选择复制实例,并在操作菜单中选择 删除。

删除实例可能需要几分钟才能完成。

在 集群 页面上查看集群的配置。

次要集群的存储保持完整,数据仍然在存储级别进行复制,以保持同步。次要区域集群不再连接实例。通过此方法,您已将现有的 Amazon DocumentDB 全球集群修改为无头配置。

清理

为避免持续费用,请清理您不需要的资源,这些资源是您在此解决方案中创建的。您可以使用 AWS 管理控制台 或 AWS CLI使用 deletedbcluster删除您创建的 Amazon DocumentDB 集群。

结论

使用 Amazon DocumentDB 无头集群提供了一种经济高效的方法来建立多区域冗余。此功能使您能够实现 Amazon DocumentDB 全球集群提供的亚秒延迟,而不会为次要区域中未使用的实例承担额外费用。添加实例后,次要区域可以对用户和应用程序可用。无头集群的故障转移标准程序与全球集群相同。有关更多信息,请参考 Amazon DocumentDB 全球集群的故障转移。

如果您有任何问题或建议,请在评论区分享。

关于作者

Karimulla Shaik 是亚马逊网络服务AWS专业服务团队的高级数据库专项架构师。他帮助客户将传统的本地数据库迁移到 AWS 云。他专注于数据库设计、架构和性能调优。

发表评论