创建Amazon DocumentDB 集群 - Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建Amazon DocumentDB 集群

Amazon DocumentDB 集群包含实例和一个代表该集群的数据的集群卷。集群卷作为单个虚拟卷在三个可用区之间的 6 个方向进行复制。集群包含一个主实例,以及可选的最多 15 个副本实例。

以下部分Amazon DocumentDB 使用Amazon Web Services Management Console或者Amazon CLI. 然后,您可为该集群添加更多副本实例。当您使用控制台创建 Amazon DocumentDB 集群时,系统会同时自动为您创建一个主实例。如果您将Amazon CLI在集群的状态为之后创建您的 Amazon DocumentDB 集群可用,然后您必须为该集群主实例。

先决条件

以下是创建 Amazon DocumentDB 集群的先决条件。

如果您还没有 Amazon Web Services 账户,请完成以下步骤来创建一个。

注册 Amazon Web Services 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,您将接到一通电话,要求您使用电话键盘输入一个验证码。

    当您注册时Amazon Web Services 账户,一个Amazon Web Services 账户根用户已创建。root 用户有权访问所有Amazon Web Services和账户中的资源。作为安全最佳实践,为管理用户分配管理访问权限,并且只使用 root 用户执行需要根用户访问权限的任务.

VPC 先决条件

您只能在Amazon Virtual Private Cloud(Amazon VPC)中创建Amazon DocumentDB B 集群。要在 Amazon DocumentDB 集群中使用您的 Amazon VPC,该 Amazon VPC 必须最少在两个可用区中各拥有至少一个子网。通过在可用区之间分配集群实例,您可以确保实例在可能出现可用区故障的情况下在集群中可用。

子网先决条件

创建 Amazon DocumentDB 集群时,您必须在该 VPC 中选择一个 VPC 和相应的子网组来启动您的集群。子网确定可用区以及该可用区内要用于启动实例的 IP 范围。为进行此讨论,我们将互换使用术语子网可用区。子网组是一组指定的子网(或可用区)。子网组允许您做的是指定要用于启动 Amazon DocumentDB 实例的可用区域。例如,在包含三个实例的集群中,为了实现高可用性,建议在单独的可用区中配置各个实例。因此,如果单个可用区出现故障,它只会影响单个实例。

目前,Amazon DocumentDB 实例最多可以在三个可用区中进行配置。即使一个子网组有三个以上的子网,您也只能使用其中的三个子网来创建 Amazon DocumentDB 集群。因此,在创建子网组时,建议仅选择要将实例部署到的三个子网。在美国东部(弗吉尼亚北部),您的子网组可以有六个子网(或可用区)。但是,在配置 Amazon DocumentDB 集群时,Amazon DocumentDB 会选择其用来预置实例的三个可用区。

例如,假设您在创建集群时,Amazon DocumentDB 选择了可用区 {1A、1B 和 1C}。如果您尝试在可用区 {1D} 中创建实例,API 调用将失败。但是,如果您选择在不指定特定可用区的情况下创建实例,则 Amazon DocumentDB 会代表您选择一个可用区。Amazon DocumentDB 使用算法在可用区间对实例进行负载均衡,以帮助您实现高可用性。例如,如果配置了三个实例,则在默认情况下,将在三个可用区中配置它们,而不会在单个可用区中配置。

建议:
  • 除非您有特殊原因,否则请始终创建包含三个子网的子网组。这样做可帮助确保包含三个或更多实例的集群能够实现更高的可用性,因为将在三个可用区中预配置实例。

  • 始终将实例分散在多个可用区中以实现高可用性。切勿将集群的所有实例放在单个可用区中。

  • 由于故障转移事件随时可能发生,您不应假定主实例或副本实例始终位于特定可用区中。

其他先决条件

以下是创建 Amazon DocumentDB 集群的一些其他先决条件:

  • 如果你正在连接到Amazon使用Amazon Identity and Access Management(IAM) 证书,您的 IAM 账户必须拥有 IAM 政策来授予执行 Amazon DocumentDB 操作所需的权限。

    如果要使用 IAM 账户访问 Amazon DocumentDB 控制台,必须先登录Amazon Web Services Management Console使用您的 IAM 账户。然后转至Amazon DocumentDB 控制台https://console.aws.amazon.com/docdb.

  • 如果要定制您的集群的配置参数,您必须指定集群参数组和具有必需参数设置的参数组。有关创建或修改集群参数组的信息,请参阅管理 Amazon DocumentDB 集群参数组

  • 您必须确定要为集群指定的 TCP/IP 端口号。有些公司的防火墙阻止连接到 Amazon DocumentDB 的原定设置端口。如果您公司的防火墙阻止该默认端口,请为您的集群选择其他端口。集群中的所有实例都使用同一端口。

使用 Amazon Web Services Management Console创建集群和主实例

以下过程介绍如何使用控制台启动具有一个或多个实例的 Amazon DocumentDB 集群。

创建集群:使用默认设置

使用 Amazon Web Services Management Console创建包含使用默认设置的实例的集群
  1. 登录。Amazon Web Services Management Console,然后打开Amazon DocumentDB B 控制台https://console.aws.amazon.com/docdb.

  2. 如果你想在中创建集群Amazon Web Services 区域除美国东部(弗吉尼亚北部)区域之外,请从控制台右上角的列表中选择该区域。

  3. 在导航窗格中,选择 Clusters (集群),然后选择 Create (创建)

    提示

    如果您在屏幕左侧没有看到导航窗格,请在页面左上角选择菜单图标 ()。

  4. 创建Amazon DocumentDB页面,完成配置窗格。

    1. 集群标识符— 接受 Amazon DocumentDB 提供的名称,或输入您的集群名称;例如,sample-cluster.

      集群命名约束:

      • 长度为 [1-63] 个字母、数字或连字符。

      • 第一个字符必须是字母。

      • 不能以连字符结束或包含两个连续连字符。

      • Amazon RDS、Neptune 和 Amazon DocumentDB 中的所有集群必须是唯一的Amazon Web Services 账户。

    2. 引擎版本—接受 4.0.0 的默认引擎版本,或者选择选择 3.6.0。

    3. 实例类—接受默认值db.r5.large,或者从列表中选择所需的实例类。

    4. 实例数— 在列表中,选择要使用此集群创建的实例数。第一个实例为主实例,所有其他实例为只读副本实例。您可以在稍后添加和删除实例(如果需要)。默认情况下,Amazon DocumentDB 集群使用三个实例(一个主实例和两个副本)启动。

  5. 完成 Authentication (身份验证) 窗格。

    1. 主用户名— 输入主用户的名称。要登录您的集群,您必须使用主用户名称。

      主用户命名约束:

      • 长度为 [1—63] 个字母数字字符。

      • 第一个字符必须是字母。

      • 不能是数据库引擎的保留字。

    2. 主密码— 输入主用户的密码,然后确认。要登录您的集群,您必须使用主密码。

      主密码约束:

      • 长度为 [8-100] 个可打印 ASCII 字符。

      • 可以使用任何可打印 ASCII 字符,以下字符除外:

        • /(正斜杠)

        • "(双引号)

        • @(@ 符号)

  6. 在屏幕的底部,选择以下选项之一:

    • 要立即创建集群,请选择 Create cluster (创建集群)

    • 要不创建集群,请选择 Cancel (取消)

    • 要在创建集群前进一步配置集群,请选择 Show additional configurations (显示其他配置),然后在创建集群:其他配置上继续。

      Additional Configurations (其他配置) 部分中包含的配置如下:

      • 网络设置— 默认情况下,使用defaultVPC security group (VPC 安全组)。

      • 集群选项—默认使用端口为 27017,默认参数组。

      • 加密—默认为使用启用加密(default) aws/rds钥匙。

        重要

        集群加密后,就不能取消加密。

      • 备份— 默认是将备份保留 1 天,然后让 Amazon DocumentDB 选择备份窗口。

      • 日志导出—默认为不将审核日志导出到 CloudWatch 日志。

      • 维护— 默认为由 Amazon DocumentDB 选择维护时段。

      • 删除保护—保护您的集群免遭意外删除。使用控制台创建的集群的默认设置为已启用

      如果您现在接受默认设置,则可以稍后通过修改集群来更改其中的大部分。

  7. 为集群的安全组启用入站连接。

    如果未更改集群的默认设置,则会使用给定区域中的默认 VPC 的默认安全组创建一个集群。要连接到 Amazon DocumentDB,您必须在端口 27017(或您选择的端口)上为集群的安全组启用入站连接。

    将入站连接添加到集群的安全组

    1. 登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/)。

    2. 在主窗口的资源部分中,选择安全组

    3. 从安全组列表中,找到您在创建集群时使用的安全组(很可能是 default 安全组),然后选中安全组名称左侧的框。

    4. 操作菜单中,选择编辑入站规则,然后选择或输入规则限制。

      1. 类型—从列表中,选择要为网络流量打开的协议。

      2. 协议— 从列表中,选择协议类型。

      3. 端口范围—对于自定义规则,输入端口号或端口范围。确保端口号或范围包括您在创建集群时指定的端口(默认值:27017)。

      4. — 指定可以到达您的实例的流量。从列表中,选择流量源。如果选择自定义,请指定单个 IP 地址或以 CIDR 格式表示的 IP 地址范围(例如,203.0.113.5/32)。

      5. 说明— 输入对此规则的描述。

      6. 在创建完规则时,选择保存

创建集群:其他配置

如果要接受集群的默认设置,您可以跳过以下步骤并选择 Create cluster (创建集群)

  1. 完成 Network settings (网络设置) 窗格。

    
                           屏幕截图:显示用于配置网络设置的“Network settings (网络设置)”窗格和步骤。
    1. Virtual Private Cloud (VPC)— 在列表中,选择要在其中启动此集群的 Amazon VPC。

    2. 子网组— 在列表中,选择要用于此集群的子网组。

    3. VPC 安全组— 在列表中,选择此集群的 VPC 安全组。

  2. 完成 Cluster options (集群选项) 窗格。

    
                           显示包含集群设置配置步骤的“Cluster options (集群选项)”窗格屏幕截图。
    1. 数据库端口—使用向上和向下箭头设置应用程序用于连接到您的实例的 TCP/IP 端口。

    2. 集群参数组—在参数组列表中,选择此集群的集群参数组。

  3. 完成 Encryption (加密) 窗格。

    
                           显示为集群配置加密的步骤的“Encryption (加密)”窗格屏幕截图。
    1. 南美洲ncryption-at-rest— 选择下列项之一:

      • 启用加密—默认值。所有静态数据都会加密。如果您选择加密您的数据,则无法撤消此操作。

      • 禁用—您的数据未加密。

    2. 主密钥—这仅在您加密数据时可用。在列表中,选择要用于加密此集群中的数据的密钥。默认为 (default) aws/rds

      如果您选择 Enter a key ARN (输入一个密钥 ARN),则必须为密钥输入一个 Amazon 资源名称 (ARN)。

    备份保留期— 在列表中,选择您希望自动备份的保留天数。

  4. 完成 Backup (备份) 窗格。

    
                           显示用于配置集群备份时段的步骤的“Backup (备份)”窗格屏幕截图。
    1. 备份保留期— 在列表中,选择在删除此集群前保留这些集群的天数。

    2. 备份时段—设置 Amazon DocumentDB 每天备份此集群的时间和持续时间。

      1. 开始时间-在第一个列表中,选择开始自动备份的开始时间 (UTC)。在第二个列表中,选择您希望自动备份开始的时间(分钟)。

      2. Duration-在列表中,选择分配给创建自动备份的小时数。

  5. 完成日志导出窗格,选择要导出到的日志类型 CloudWatch 日志。

    
                           Log exports (日志导出) 窗格屏幕截图,显示了配置集群的 DML 日志记录的步骤。
    • 审核日志—选择此选项可启用将审计日志导出到亚马逊 CloudWatch 日志。如果您选择 Audit logs (审计日志),则必须在集群的自定义参数组中启用 audit_logs。有关更多信息,请参阅 审计Amazon DocumentDB

    • 配置器日录—选择此选项可启用将操作分析器日志导出到亚马逊 CloudWatch 日志。如果您选择 Profiler logs (分析器日志),则还必须在集群的自定义参数组中修改以下参数:

      • profiler—将设置为enabled.

      • profiler_threshold_ms—设置为一个值[0-INT_MAX]设置分析操作的阈值。

      • profiler_sampling_rate—设置为一个值[0.0-1.0]将慢速操作的百分比设置为 profile。

      有关更多信息,请参阅 分析 Amazon DocumentDB 操作

  6. 完成 Maintenance (维护) 窗格。

    
                           显示用于配置集群维护时段的步骤的“Maintenance (维护)”窗格屏幕截图。
    1. 选择以下选项之一

      • 选择窗口— 您可以指定 Amazon DocumentDB 在您的集群上执行维护的日期、UTC 开始时间和持续时间。

        1. 开始日— 在列表中,选择一周中的哪一天开始群集维护。

        2. 开始时间— 在列表中,选择开始维护的小时和分钟 (UTC)。

        3. Duration— 在列表中,选择分配多少时间用于群集维护。如果无法在指定时间内完成维护,维护过程将在指定时间过后继续进行,直到完成。

      • 没有首选项— Amazon DocumentDB 可选择一周中的一天、开始时间和持续时间来执行维护。

  7. 如果您要将一个或多个标签添加到此集群,请填写标签窗格。

    
                           “启用删除保护” 复选框(处于选中状态)的屏幕截图。

    对于每个要添加到集群的标签,请重复以下步骤。您在一个集群上最多可以具有 10 个。

    1. 选择添加标签

    2. 键入标签的

    3. (可选)键入标签的

    要删除标签,请选择删除标签

  8. 在使用控制台创建集群时,将默认启用删除保护。要禁用删除保护,请清除启用删除保护。启用后,删除保护可以防止删除集群。要删除某个受到删除保护的集群,您必须先修改集群以禁用删除保护。

    
                           “启用删除保护” 复选框(处于选中状态)的屏幕截图。

    有关删除保护的更多信息,请参阅 删除 Amazon DocumentDB 集群

  9. 要创建集群,请选择创建集群。否则,选择取消

使用 Amazon CLI 创建集群

以下过程介绍如何使用Amazon CLI启动Amazon DocumentDB B 集群并创建Amazon DocumentDB B 副本。

参数
  • --db-cluster-identifier – 必填项。标识此集群的一个小写字符串。

    集群命名约束:
    • 长度为 [1-63] 个字母、数字或连字符。

    • 第一个字符必须是字母。

    • 不能以连字符结束或包含两个连续连字符。

    • 所有集群(跨亚马逊 RDS、Amazon Neptune 和 Amazon DocumentDB)必须是唯一的Amazon账户,每个区域。

  • --engine – 必填项。必须是 docdb

  • --deletion-protection | --no-deletion-protection—可选。启用删除保护后,可以防止删除集群。当您使用 Amazon CLI 时,默认设置为已禁用删除保护。

    有关删除保护的更多信息,请参阅 删除 Amazon DocumentDB 集群

  • --master-username – 必填项。用于对用户进行身份验证的用户名。

    主用户命名约束:
    • 长度为 [1-63] 个字母数字字符。

    • 第一个字符必须是字母。

    • 不能是数据库引擎的保留字。

  • --master-user-password – 必填项。用于对用户进行身份验证的用户密码。

    主密码约束:
    • 长度为 [8-100] 个可打印 ASCII 字符。

    • 可以使用任何可打印 ASCII 字符,以下字符除外:

      • /(正斜杠)

      • "(双引号)

      • @(@ 符号)

有关更多参数,请参阅CreateDBCluster

要启动 Amazon DocumentDB 集群,请使用Amazon CLI

要创建 Amazon DocumentDB 集群,请调用create-db-cluster Amazon CLI. 以下Amazon CLI命令创建一个名为 Amazon DocumentDB 集群sample-cluster启用了删除保护。有关删除保护的更多信息,请参见删除 Amazon DocumentDB 集群.

以及--engine-version是一个可选参数,默认为最新的主引擎版本。当前的主要引擎版本为 4.0.0。发布新的主要引擎版本时,的默认引擎版本--engine-version将进行更新以反映最新的主要引擎版本。因此,对于生产工作负载,尤其是那些依赖脚本编写、自动化或Amazon CloudFormation模板,我们建议您明确指定--engine-version改为预期的主要版本。

注意

如果 adb-subnet-group-name要么vpc-security-group-id未指定,Amazon DocumentDB 将使用给定区域的默认子网组和 Amazon VPC 安全组。

对于 Linux、macOS 或 Unix:

aws docdb create-db-cluster \ --db-cluster-identifier sample-cluster \ --engine docdb \ --engine-version 4.0.0 \ --deletion-protection \ --master-username masteruser \ --master-user-password password

对于 Windows:

aws docdb create-db-cluster ^ --db-cluster-identifier sample-cluster ^ --engine docdb ^ --engine-version 4.0.0 ^ --deletion-protection ^ --master-username masteruser ^ --master-user-password password

此操作的输出将类似于下文(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:sample-cluster", "DBClusterIdentifier": "sample-cluster", "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": "sample-cluster.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": "sample-cluster.cluster-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com" } }

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

重要

当您使用以下应用程序时:Amazon CLI要创建 Amazon DocumentDB 集群,不创建任何实例。因此,您必须显式创建主实例和所需的任何副本实例。您可以使用控制台或 Amazon CLI 来创建实例。有关更多信息,请参阅 将 Amazon DocumentDB 实例添加到集群

有关更多信息,请参阅CreateDBClusterAmazon DocumentDB AP.