将 Amazon DocumentDB 实例添加到集群

您可以使用 Amazon DocumentDB或 AWS 管理控制台 创建一个新 AWS CLI. 实例。要将实例添加到集群,集群必须处于可用 状态。您无法将实例添加到已停止的集群。如果集群已停止,则首先启动集群,等待集群进入可用 状态,然后添加实例。有关更多信息,请参阅 停止和启动 Amazon DocumentDB 集群.

注意

如果您使用控制台创建 Amazon DocumentDB集群,则同时会自动为您创建实例。如果您要创建其他实例,请使用以下过程之一。

使用 添加实例AWS 管理控制台

使用以下过程通过 Amazon DocumentDB控制台为集群创建实例。

  1. 通过以下网址登录 AWS 管理控制台并打开 Amazon DocumentDB 控制台:https://console.aws.amazon.com/docdb

  2. 在导航窗格中,选择 Clusters.

    提示

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

  3. 要选择希望将实例添加到的集群,请选择该集群名称左侧的按钮。

  4. 选择 Actions (操作),然后选择 Add instance (添加实例).

  5. Add instance to: <cluster-name> (将实例添加到: <实例名称>) 页面中,对要添加到集群的每个实例重复以下步骤。您最多可以有 15.

    1. Instance identifier (实例标识符) — 您可以输入此实例的唯一标识符,或允许 Amazon DocumentDB 基于集群标识符提供实例标识符。

      实例命名约束:

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

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

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

      • 对于每个区域、每个 AWS 账户的所有实例(跨 Amazon RDS、Neptune 和 Amazon DocumentDB)必须是唯一的。

    2. Instance class (实例类) — 从下拉列表中,为该实例选择所需的实例类型。

    3. Promotion tier (提升层) — 从下拉列表中,选择该实例的提升层,或者选择 No preference (无首选项) 以允许 Amazon DocumentDB 为您的实例设置提升层。数字越小,意味着优先级越高。有关更多信息,请参阅 控制故障转移目标.

    4. 要添加更多实例,请选择 Add additional instances (添加其他实例),然后重复步骤 a、b 和 c。

  6. 完成此操作。

    • 要将实例添加到集群,请选择 Create (创建).

    • 要取消操作,请选择取消.

创建实例需要几分钟时间。您可以使用控制台或 AWS CLI 查看实例的状态。有关更多信息,请参阅 监控 实例的状态.

使用 添加实例AWS CLI

create-db-instance AWS CLI 操作与以下参数一起使用,为您的集群创建主实例。

  • --db-instance-class — 必需。实例的计算和内存容量,例如,db.m4.large. 并非所有实例类在所有 AWS 区域中都可用。

  • --db-instance-identifier — 必需。标识实例的一个 字符串。

    实例命名约束:

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

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

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

    • 对于每个区域、每个 AWS 账户的所有实例(跨 Amazon RDS、Neptune 和 Amazon DocumentDB)必须是唯一的。

  • --engine — 必需。必须是 docdb.

  • --availability-zone — 可选。要在其中创建此实例的可用区。使用此参数在不同可用区中找到您的实例,以增强容错能力。有关更多信息,请参阅 Amazon DocumentDB 高可用性和复制.

  • --promotion-tier — 可选。此实例的故障转移优先级层。必须介于 0 与 15 之间,数字越小,优先级越高。有关更多信息,请参阅 控制故障转移目标.

  1. 首先,确定您可以在哪些可用区中创建您的实例。

    如果要在创建实例前指定可用区,请运行以下命令以确定哪些可用区可用于您的 Amazon DocumentDB 集群。

    对于 Linux、macOS 或 Unix:

    1. aws docdb describe-db-clusters \
    2. --query 'DBClusters[*].[DBClusterIdentifier,AvailabilityZones[*]]'

    对于 Windows:

    1. aws docdb describe-db-clusters ^
    2. --query 'DBClusters[*].[DBClusterIdentifier,AvailabilityZones[*]]'

    此操作的输出将类似于下文。

    1. [
    2. [
    3. "sample-cluster",
    4. [
    5. "us-east-1c",
    6. "us-east-1b",
    7. "us-east-1a"
    8. ]
    9. ]
    10. ]
  2. 其次,确定您可以在您的区域中创建哪些实例类。

    要确定您所在区域中可用的实例类,请运行以下命令。从输出中,为要添加到 Amazon DocumentDB 集群的实例选择实例类。

    对于 Linux、macOS 或 Unix:

    1. aws docdb describe-orderable-db-instance-options \
    2. --engine docdb \
    3. --query 'OrderableDBInstanceOptions[*].DBInstanceClass'

    对于 Windows:

    1. aws docdb describe-orderable-db-instance-options ^
    2. --engine docdb ^
    3. --query 'OrderableDBInstanceOptions[*].DBInstanceClass'

    此操作的输出将类似于下文。

    1. [
    2. "db.r5.16xlarge",
    3. "db.r5.2xlarge",
    4. "db.r5.4xlarge",
    5. "db.r5.8xlarge",
    6. "db.r5.large",
    7. "db.r5.xlarge"
    8. ]
  3. 最后,将实例添加到您的 Amazon DocumentDB 集群。

    要将实例添加到您的 Amazon DocumentDB 集群,请运行以下命令。

    对于 Linux、macOS 或 Unix:

    1. aws docdb create-db-instance \
    2. --db-cluster-identifier sample-cluster \
    3. --db-instance-identifier sample-instance-2 \
    4. --availability-zone us-east-1b \
    5. --promotion-tier 2 \
    6. --db-instance-class db.r5.xlarge \
    7. --engine docdb

    对于 Windows:

    1. aws docdb create-db-instance ^
    2. --db-cluster-identifier sample-cluster ^
    3. --db-instance-identifier sample-instance-2 ^
    4. --availability-zone us-east-1b ^
    5. --promotion-tier 2 ^
    6. --db-instance-class db.r5.xlarge ^
    7. --engine docdb

    此操作的输出将类似于下文。

    1. {
    2. "DBInstance": {
    3. "DBInstanceIdentifier": "sample-instance-2",
    4. "DBInstanceClass": "db.r5.xlarge",
    5. "Engine": "docdb",
    6. "DBInstanceStatus": "creating",
    7. "PreferredBackupWindow": "02:00-02:30",
    8. "BackupRetentionPeriod": 1,
    9. "VpcSecurityGroups": [
    10. {
    11. "VpcSecurityGroupId": "sg-abcd0123",
    12. "Status": "active"
    13. }
    14. ],
    15. "AvailabilityZone": "us-east-1b",
    16. "DBSubnetGroup": {
    17. "DBSubnetGroupName": "default",
    18. "DBSubnetGroupDescription": "default",
    19. "VpcId": "vpc-6242c31a",
    20. "SubnetGroupStatus": "Complete",
    21. "Subnets": [
    22. {
    23. "SubnetIdentifier": "subnet-abcd0123",
    24. "SubnetAvailabilityZone": {
    25. "Name": "us-west-2a"
    26. },
    27. "SubnetStatus": "Active"
    28. },
    29. {
    30. "SubnetIdentifier": "subnet-wxyz0123",
    31. "SubnetAvailabilityZone": {
    32. "Name": "us-west-2b"
    33. },
    34. "SubnetStatus": "Active"
    35. }
    36. ]
    37. },
    38. "PreferredMaintenanceWindow": "sun:11:35-sun:12:05",
    39. "PendingModifiedValues": {},
    40. "EngineVersion": "3.6.0",
    41. "AutoMinorVersionUpgrade": true,
    42. "PubliclyAccessible": false,
    43. "DBClusterIdentifier": "sample-cluster",
    44. "StorageEncrypted": true,
    45. "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
    46. "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
    47. "CACertificateIdentifier": "rds-ca-2019",
    48. "PromotionTier": 2,
    49. "DBInstanceArn": "arn:aws:rds:us-east-1:<accountID>:db:sample-instance-2"
    50. }
    51. }

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