快速入门指南:全局集群 - Amazon DocumentDB

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

快速入门指南:全局集群

配置

Amazon DocumentDB 全球集群至少跨越两个 AWS 区域。主区域支持具有一个主(写入器)实例和多达 15 个副本实例的集群,而辅助区域运行一个完全由多达 16 个副本实例组成的只读集群。一个全局集群可以有多达五个辅助区域。该表列出了全局集群中允许的集群、实例和副本的最大数量。

描述 主 AWS 区域 辅助 AWS 区域
集群 1 5(最大值)
写入器实例 1 0
每个集群的只读实例(Amazon DocumentDB 副本) 15(最大值) 16(合计)
只读实例(允许的最大值,辅助区域的指定实际数量) 15 - s s = 辅助 AWS 区域 的总数

集群具有以下具体要求:

  • 数据库实例类要求-您仅可以使用 db.r5 类和 db.r6g 实例类。

  • AWS 区域 要求 – 主集群必须位于一个区域内,且至少一个辅助集群必须位于同一账户的不同区域内。您最多可以创建五个辅助(只读)集群,且每个集群必须在不同的区域中。换句话说,没有两个集群可位于同一个区域中。

  • 命名要求 – 为每个集群选择的名称在所有区域中必须唯一。即使不同的集群位于不同的区域中,也不能对其使用相同的名称。

创建 Amazon DocumentDB 全局集群

您是否准备好构建您的第一个全球集群? 在本节中,我们将说明如何使用AWS 管理控制台或AWS CLI并按照以下说明创建包含新数据库集群和实例的全新全局集群。

  1. 在 AWS 管理控制台 中,导航到 Amazon DocumentDB

  2. 抵达 Amazon DocumentDB 控制台后,选择集群

    Amazon DocumentDB 控制台中的“集群”页面。
  3. 选择创建

    “创建”按钮显示在“集群”表右上角。
  4. 相应地填写创建 Amazon DocumentDB 集群表单的配置部分:

    • 实例标识符:您可以输入此实例的唯一标识符,或允许 Amazon DocumentDB 基于集群标识符提供实例标识符。

    • 引擎版本:选择 4.0.0

    • 实例类:选择 db.r5.large

    • 实例数目:选择 3

    用于创建 Amazon DocumentDB 集群的“配置选项”表单。
  5. 身份验证部分,填写主用户名和主密码。

    用于为新的 Amazon DocumentDB 集群指定主用户名和密码的“身份验证”表单。
  6. 选择显示高级设置

    显示“取消”和“创建集群”按钮旁边的高级设置切换按钮。
  7. 网络设置 部分中:

    • 保留虚拟私有云(VPC)子网组的默认选项。

      “网络设置”表单显示了 VPC、子网组和 VPC 安全组等选项。VPC 和子网组字段已选择默认选项。
    • 对于 VPC 安全组,应已添加默认(VPC)

      “网络设置”表单显示已添加默认 VPC。
    • VPC 安全组字段中键入 DocDB,然后选择 DocDB-Inbound(VFC)

      已在“VPC 安全组”下拉菜单中选择“DocDB-Inbound VFC”。
  8. 对于集群选项静态加密,保留默认选项。

    “集群选项”和“静态加密”表单已选择默认选项。
  9. 对于备份日志导出,保留默认选项。

    “备份”和“日志导出”表单已选择默认选项。
  10. 对于维护标签删除保护,保留默认选项。

    “维护”、“标签”和“删除保护”表单已选择默认选项。
  11. 现在单击显示创建集群的按钮。

    在集群创建过程结束时显示“创建集群”按钮。

要创建 Amazon DocumentDB 区域集群,请调用 create-global-cluster AWS CLI。以下 AWS CLI 命令创建名为 global-cluster-id 的 Amazon DocumentDB 集群。有关删除保护的更多信息,请参阅 删除 Amazon DocumentDB 集群

此外,--engine-version 是一个默认成主引擎最新版本的可选参数。主引擎当前版本是 5.0.0。发布主引擎新版本时,--engine-version 的默认引擎版本将更新,以反映最近的主引擎版本。因此,对于生产工作负载,尤其是那些依赖脚本、自动化或 CloudFormation 模板的生产工作负载,我们建议您将 --engine-version 显式指定成预期的主版本。

如果未指定 db-subnet-group-namevpc-security-group-id,则 Amazon DocumentDB 将使用给定区域的默认子网组和 Amazon VPC 安全组。

在以下示例中,将每个用户输入占位符替换为您自己的信息。

对于 Linux、macOS 或 Unix:

aws docdb create-db-cluster \ --global-cluster-identifier global-cluster-id \ --source-db-cluster-identifier arn:aws:rds:us-east-1:111122223333:cluster-id

对于 Windows:

aws docdb create-db-cluster ^ --global-cluster-identifier global-cluster-id ^ --source-db-cluster-identifier arn:aws:rds:us-east-1:111122223333:cluster-id

此操作的输出将类似于下文(JSON 格式)。

{ "DBCluster": { "StorageEncrypted": false, "DBClusterMembers": [], "Engine": "docdb", "DeletionProtection" : "enabled", "ClusterCreateTime": "2018-11-26T17:15:19.885Z", "DBSubnetGroup": "default", "EngineVersion": "4.0.0", "MasterUsername": "masteruser", "BackupRetentionPeriod": 1, "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:cluster-id", "DBClusterIdentifier": "cluster-id", "MultiAZ": false, "DBClusterParameterGroup": "default.docdb4.0", "PreferredBackupWindow": "09:12-09:42", "DbClusterResourceId": "cluster-KQSGI4MHU4NTDDRVNLNTU7XVAY", "PreferredMaintenanceWindow": "tue:04:17-tue:04:47", "Port": 27017, "Status": "creating", "ReaderEndpoint": "cluster-id.cluster-ro-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com", "AssociatedRoles": [], "HostedZoneId": "ZNKXTT8WH85VW", "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-77186e0d", "Status": "active" } ], "AvailabilityZones": [ "us-east-1a", "us-east-1c", "us-east-1e" ], "Endpoint": "cluster-id.cluster-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com" } }

创建集群需要几分钟时间。您可以使用 AWS 管理控制台或 AWS CLI 监控集群的状态。有关更多信息,请参阅 监控 Amazon DocumentDB 集群的状态

重要

当您使用 AWS CLI 创建 Amazon DocumentDB 区域集群时,将不会创建实例。因此,您必须显式创建主实例和所需的任何副本实例。您可以使用控制台或 AWS CLI 来创建实例。有关更多信息,请参阅 Amazon DocumentDB API 参考中的 向集群添加 Amazon DocumentDB 实例CreateDBCluster

一旦您的区域集群可用,您就可以使用以下说明在另一个区域添加辅助集群:向 Amazon DocumentDB 全局集群添加 AWS 区域。添加区域后,您的区域集群将成为您的主集群,而您在自己选择的区域中有一个新的辅助集群。

向 Amazon DocumentDB 全局集群添加 AWS 区域

全局集群在异于主集群的区域中需要至少一个辅助集群,并且您可以添加多达五个辅助集群。注意:对于添加的每个辅助集群,您必须减少主集群的允许副本的数量。例如,如果您的全局集群有五个辅助区域,则主集群只能有 10 个(而不是 15 个)副本。有关更多信息,请参阅 Amazon DocumentDB 全局集群的配置要求

  1. 登录 AWS 管理控制台 并打开 Amazon DocumentDB 控制台。

  2. 在导航窗格中,选择集群

    Amazon DocumentDB 控制台中的“集群”页面。
  3. 选择您要要向其中添加辅助集群的集群。确保集群为 Available

    显示可用状态的区域和全球集群列表,突出显示了 mydocdbglobalcluster。
  4. 选择操作的下拉菜单列表,然后选择添加区域

    “集群”界面上的“操作”下拉列表显示了“添加区域”选项。
  5. 添加 AWS 区域 页面上,选择辅助区域。您不能为同一个全局集群选择已有辅助集群的区域。此外,该区域也不能是主集群所在的同一个区域。如果这是您正在添加的第一个区域,则您还必须指定您选择的全局集群标识符。

    使用“添加 AWS 区域”表单上的下拉菜单选择辅助区域。
  6. 在新区域中填写辅助集群的其余字段,然后选择创建集群。完成添加区域后,您可以在 AWS 管理控制台 中的集群列表中看到该区域。

    向集群添加区域的最后步骤,显示配置表单、每小时成本估算和“创建集群”按钮。
  • 使用带有 (--global-cluster-identifier) 全局集群名称的 create-db-cluster CLI 命令。对于其他参数,请执行以下操作:

    • 对于 --region,选择与主区域不同的 AWS 区域。

    • --engine--engine-version 参数选择特定的值。

    • 对于加密集群,请将主 AWS 区域 指定为 --source-region 以进行加密。

以下示例创建了一个新 Amazon DocumentDB 数据库集群,并将其作为只读辅助集群附加到全局集群。在最后一步中,实例将添加到新集群。

在以下示例中,将每个用户输入占位符替换为您自己的信息。

对于 Linux、macOS 或 Unix:

aws docdb --region secondary-region-id \ create-db-cluster \ --db-cluster-identifier cluster-id \ --global-cluster-identifier global-cluster-id \ --engine-version version \ --engine docdb aws docdb --region secondary-region-id \ create-db-instance \ --db-cluster-identifier cluster-id \ --global-cluster-identifier global-cluster-id \ --engine-version version \ --engine docdb

对于 Windows:

aws docdb --region secondary-region-id ^ create-db-cluster ^ --db-cluster-identifier cluster-id ^ --global-cluster-identifier global-cluster-id ^ --engine-version version ^ --engine docdb aws docdb --region secondary-region-id ^ create-db-instance ^ --db-cluster-identifier cluster-id ^ --global-cluster-identifier global-cluster-id ^ --engine-version version ^ --engine docdb

对您的 Amazon DocumentDB 全局集群使用快照

您可以恢复 Amazon DocumentDB 集群的快照以用作您全局集群的起点。要这样做,您必须恢复快照并创建新集群。这个集群将充当您全局群集的主集群。然后,您可以将另一个区域添加到恢复的集群,从而将其转变成全局集群。