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

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

复制 Amazon DocumentDB 集群快照

在 Amazon DocumentDB 中,您可以在同一Amazon Web Services 区域或另一个Amazon Web Services 区域在同一账户中。您还可以共享其他Amazon Web Services 账户在相同的Amazon Web Services 区域. 不过,您不能跨Amazon Web Services 区域和Amazon Web Services 账户在单一步骤中。这些操作必须单独执行。

作为对复制的替代,您也可与其他Amazon Web Services 账户. 有关更多信息,请参阅 共享 Amazon DocumentDB 集群快照

注意

Amazon DocumentDB 根据您保留的备份和快照数据量和您保留的时间段来对您收费。有关与 Amazon DocumentDB 备份和快照关联的存储的更多信息,请参阅 了解备份存储使用量. 有关 Amazon DocumentDB 存储的定价信息,请参阅Amazon DocumentDB 定价.

复制共享快照

您可以复制其他与您共享的快照Amazon Web Services 账户. 如果您正在复制从另一个共享的加密快照Amazon Web Services 账户,则必须能够访问Amazon KMS加密密钥。

您只能将共享快照复制到同一Amazon Web Services 区域,无论快照是否加密。有关更多信息,请参阅 处理加密

跨越复制快照Amazon Web Services 区域

当您将快照复制到Amazon Web Services 区域不同于源快照的Amazon Web Services 区域,则每个副本都是完整快照。完整快照副本包含还原 Amazon DocumentDB 集群需要的所有数据和元数据。

这取决于Amazon Web Services 区域涉及的数据量和要复制的数据量,则跨区域快照复制可能需要数小时才能完成跨区域快照复制。有时,某一给定的源可能会发出大量跨区域快照复制请求Amazon Web Services 区域. 在这种情况下,Amazon DocumentDB 可能会发出来自该源的新跨区域复制请求Amazon Web Services 区域到一个队列中,直到一些正在进行的副本完成。当复制请求在队列中时,不显示有关这些复制请求的进度信息。复制开始后即显示进度信息。

限制

复制快照时,存在以下一些限制:

  • 如果您在目标快照可用之前删除了源快照,则快照复制将失败。在删除源快照之前,请确保目标快照的状态为 AVAILABLE

  • 每个账户最多可以同时进行到同一目标区域的五个快照复制请求。

  • 根据所涉及的区域和要复制的数据量,可能需要数小时才能完成跨区域快照复制。有关更多信息,请参阅 跨越复制快照Amazon Web Services 区域

处理加密

您可以复制已使用 Amazon KMS 加密密钥加密的快照。如果您复制加密的快照,则此快照的副本也必须加密。如果您将加密快照复制到同一Amazon Web Services 区域,则可以使用相同的Amazon KMS加密密钥作为原始快照,也可以指定其他Amazon KMS加密密钥。如果您跨区域复制加密的快照,则不能使用相同的Amazon KMS用于源快照的副本的加密密钥,因为Amazon KMS密钥是特定于区域的。而是必须指定Amazon KMS密钥在目标中有效Amazon Web Services 区域n.

源快照在复制过程中保持加密状态。有关更多信息,请参阅 Amazon DocumentDB 中的数据保护

注意

对于 Amazon DocumentDB 集群快照,在复制快照时,您无法对未加密的集群快照进行加密。

参数组注意事项

跨区域复制快照时,复制不包括由原始 Amazon DocumentDB 集群使用的参数组。当您还原快照来创建新集群时,该集群将获取Amazon Web Services 区域它是在中创建的。要为新集群提供与源集群相同的参数,您必须执行以下操作:

  1. 在目标Amazon Web Services 区域、创建 Amazon DocumentDB 集群参数组使用与原始集群相同的设置。如果新的Amazon Web Services 区域,你可以使用它。

  2. 在目标中恢复快照后Amazon Web Services 区域中,修改新 Amazon DocumentDB 集群,并添加上一步中的新参数组或现有参数组。有关更多信息,请参阅 修改 Amazon DocumentDB 集群

复制集群快照

您可以使用Amazon Web Services Management Console或Amazon CLI,如下所示。

要使用创建集群快照的副本Amazon Web Services Management Console,请完成以下步骤。此过程适用于将加密或未加密的集群快照复制到同一个Amazon Web Services 区域或跨区域。

  1. 登录到Amazon Web Services Management Console,然后打开 Amazon DocumentDB 控制台https://console.aws.amazon.com/docdb.

  2. 在导航窗格中,选择快照,然后选择要复制的快照左侧的按钮。

    提示

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

  3. Actions 菜单中,选择 Copy

  4. 在由此产生的创建集群快照的副本页面上,完成设置部分。

    1. 目标区域— 可选。要将集群快照复制到其他Amazon Web Services 区域,请选择Amazon Web Services 区域对于 来说为目标区域.

    2. 新快照标识符— 输入新快照的名称。

      目标快照命名约束:

      • 不能是现有快照的名称。

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

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

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

      • 对于每个 Amazon RDS、海王星和 Amazon DocumentDB 的所有集群(在 Amazon RDS、Neptune 和中)必须是唯一的。Amazon Web Services 账户,每个区域。

    3. 复制标签— 要将您在源快照上拥有的任何标签复制到快照副本,请选择复制标签.

  5. 完成 Encryption-at-rest (静态加密) 部分。

    1. 静态加密— 如果您的快照已加密,则这些选项对您不适用,因为您无法从加密的快照创建未加密的副本。如果您的快照未加密,请选择以下选项之一:

      • 要加密所有集群的数据,请选择启用静态加密。如果您选择此选项,则必须指定一个主密钥

      • 要让集群的数据不加密,请选择禁用静态加密。如果您选择此选项,您的快照的副本数据不会被加密,并且您已完成加密部分。

    2. 主密钥— 从下拉列表中选择以下选项之一:

      • (默认)aws/rds— 账号和Amazon KMS密钥 ID 在此选项的后面列出。

      • <some-key-name>— 如果您创建了密钥,它将列出并可供您选择。

      • 输入密钥 ARN— 在进行筛选框中,输入的 Amazon 资源名称 (ARN)Amazon KMS键。ARN 的格式为 arn:aws:kms:<region>:<accountID>:key/<key-id>

  6. 要制作所选快照的副本,请选择 Copy snapshot (复制快照)。或者,您也可以选择Cancel不制作快照的副本。

复制未加密的集群快照Amazon CLI,请使用copy-db-cluster-snapshot操作,并使用以下参数。如果您将快照复制到另一Amazon Web Services 区域中,请在Amazon Web Services 区域快照将被复制到的位置。

  • --source-db-cluster-snapshot-identifier – 必需。要制作副本的集群快照的标识符。集群快照必须存在并且处于可用 状态。如果您将快照复制到另一Amazon Web Services 区域,则此标识符必须采用 ARN 格式,对于源Amazon Web Services 区域. 此参数不区分大小写。

  • --target-db-cluster-snapshot-identifier – 必需。要从源集群快照创建的新集群快照标识符​。此参数不区分大小写。

    目标快照命名约束:

    • 不能是现有快照的名称。

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

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

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

    • 对于每个 Amazon RDS、海王星和 Amazon DocumentDB 的所有集群(在 Amazon RDS、Neptune 和中)必须是唯一的。Amazon Web Services 账户,每个区域。

  • --source-region— 如果您将快照复制到另一Amazon Web Services 区域中,指定Amazon Web Services 区域加密集群快照从中复制。

    如果要将快照复制到另一个Amazon Web Services 区域并且您没有指定--source-region,则必须指定pre-signed-url选项。这些区域有:pre-signed-url值必须是一个 URL,其中包含签名版本 4 签名的请求,该请求用于CopyDBClusterSnapshot在源代码中调用的操作Amazon Web Services 区域集群快照是从中复制的。要了解有关pre-signed-url,请参阅CopyDBClusterSnapshot.

  • --kms-key-id— 用于对集群快照副本进行加密的密钥的 KMS 密钥标识符。

    如果您要将加密的集群快照复制到另一个Amazon Web Services 区域,则此参数为必需参数。必须为目标指定 KMS 密钥Amazon Web Services 区域.

    如果要将加密的群集快照复制到同一Amazon Web Services 区域,Amazon KMS键参数是可选的。群集快照的副本使用相同的Amazon KMS键作为源集群快照。如果要指定一个新的Amazon KMS加密密钥用于对副本进行加密,您可以使用此参数来执行此操作。

  • --copy-tags — Optional. The tags and values to be copied over.

要在正在进行复制时取消操作,您可以删除由--target-db-cluster-snapshot-identifier或者TargetDBClusterSnapshotIdentifier而该集群快照位于复制状态。

示例 1:将未加密快照复制到同一区域

以下Amazon CLI示例创建sample-cluster-snapshot命名为sample-cluster-snapshot-copy在相同的Amazon Web Services 区域作为源快照。创建副本时,原始快照上的所有标签都将复制到快照副本。

对于 Linux、macOS 或 Unix:

aws docdb copy-db-cluster-snapshot \ --source-db-cluster-snapshot-identifier sample-cluster-snapshot \ --target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy \ --copy-tags

对于 Windows:

aws docdb copy-db-cluster-snapshot ^ --source-db-cluster-snapshot-identifier sample-cluster-snapshot ^ --target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy ^ --copy-tags

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

{ "DBClusterSnapshot": { "AvailabilityZones": [ "us-east-1a", "us-east-1b", "us-east-1c" ], "DBClusterSnapshotIdentifier": "sample-cluster-snapshot-copy", "DBClusterIdentifier": "sample-cluster", "SnapshotCreateTime": "2020-03-27T08:40:24.805Z", "Engine": "docdb", "Status": "copying", "Port": 0, "VpcId": "vpc-abcd0123", "ClusterCreateTime": "2020-01-10T22:13:38.261Z", "MasterUsername": "master-user", "EngineVersion": "4.0.0", "SnapshotType": "manual", "PercentProgress": 0, "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/sample-key-id", "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot-copy", "SourceDBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot" } }

示例 2:将未加密的快照复制到Amazon Web Services 区域

以下Amazon CLI示例创建sample-cluster-snapshot,它具有 ARNarn:aws:rds:us-east-1:123456789012:cluster-snapshot:sample-cluster-snapshot. 此副本名为sample-cluster-snapshot-copy,并且位于Amazon Web Services 区域在其中运行命令。

对于 Linux、macOS 或 Unix:

aws docdb copy-db-cluster-snapshot \ --source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:sample-cluster-snapshot \ --target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy

对于 Windows:

aws docdb copy-db-cluster-snapshot ^ --source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:sample-cluster-snapshot ^ --target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy

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

{ "DBClusterSnapshot": { "AvailabilityZones": [ "us-east-1a", "us-east-1b", "us-east-1c" ], "DBClusterSnapshotIdentifier": "sample-cluster-snapshot-copy", "DBClusterIdentifier": "sample-cluster", "SnapshotCreateTime": "2020-04-29T16:45:51.239Z", "Engine": "docdb", "AllocatedStorage": 0, "Status": "copying", "Port": 0, "VpcId": "vpc-abc0123", "ClusterCreateTime": "2020-04-28T16:43:00.294Z", "MasterUsername": "master-user", "EngineVersion": "4.0.0", "LicenseModel": "docdb", "SnapshotType": "manual", "PercentProgress": 0, "StorageEncrypted": false, "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot-copy", "SourceDBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot", } }

示例 3:将加密快照复制到Amazon Web Services 区域

以下Amazon CLI示例创建sample-cluster-snapshot从 us-east-2 区域到 us-east-1 区域。在 us-east-1 区域调用此命令。

对于 Linux、macOS 或 Unix:

aws docdb copy-db-cluster-snapshot \ --source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:sample-cluster-snapshot \ --target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy \ --source-region us-west-2 \ --kms-key-id sample-us-east-1-key

对于 Windows:

aws docdb copy-db-cluster-snapshot ^ --source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:sample-cluster-snapshot ^ --target-db-cluster-snapshot-identifier sample-cluster-snapshot-copy ^ --source-region us-west-2 ^ --kms-key-id sample-us-east-1-key

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

{ "DBClusterSnapshot": { "AvailabilityZones": [], "DBClusterSnapshotIdentifier": "sample-cluster-snapshot-copy", "DBClusterIdentifier": "ayhu-xrsc-test-ap-southeast-1-small-cluster-kms", "SnapshotCreateTime": "2020-04-29T16:45:53.159Z", "Engine": "docdb", "AllocatedStorage": 0, "Status": "copying", "Port": 0, "ClusterCreateTime": "2020-04-28T16:43:07.129Z", "MasterUsername": "chimera", "EngineVersion": "4.0.0", "LicenseModel": "docdb", "SnapshotType": "manual", "PercentProgress": 0, "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/sample-key-id", "DBClusterSnapshotArn": "arn:aws:rds:us-east-1:111122223333:cluster-snapshot:sample-cluster-snapshot-copy", "SourceDBClusterSnapshotArn": "arn:aws:rds:us-west-2:111122223333:cluster-snapshot:sample-cluster-snapshot", } }