使用 AWS CLI 或 Amazon RDS API 复制加密的数据库集群快照 - Amazon Aurora

使用 AWS CLI 或 Amazon RDS API 复制加密的数据库集群快照

使用以下各节中的过程,通过 AWS Management Console、AWS CLI 或 Amazon RDS API 复制加密的数据库集群快照。

要在正在进行复制时取消操作,请在数据库集群快照处于正在复制状态时删除由 --target-db-cluster-snapshot-identifierTargetDBClusterSnapshotIdentifier 标识的目标数据库集群快照。

要使用 AWS Management Console复制数据库集群快照,请参阅使用 AWS Management Console复制数据库集群快照

要复制数据库快照,请使用 AWS CLI copy-db-cluster-snapshot 命令。如果您将快照复制到其他 AWS 区域,请在要将快照复制到其中的 AWS 区域运行命令。

以下选项用于复制加密的数据库集群快照:

  • --source-db-cluster-snapshot-identifier – 要复制的加密数据库集群快照的标识符。如果您正在将快照复制到另一个 AWS 区域,源 AWS 区域中的此标识符必须为 ARN 格式。

  • --target-db-cluster-snapshot-identifier – 加密数据库集群快照的新副本的标识符。

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

    如果数据库集群快照已加密,要在同一 AWS 区域中复制快照,并且希望指定新的 KMS 密钥用于加密副本,则可以选择使用该选项。否则,数据库集群快照副本将使用与源数据库集群快照相同的 KMS 密钥进行加密。

    如果数据库集群快照已加密,并且您要将该快照复制到另一 AWS 区域,则必须使用该选项。在这种情况下,必须为目标 AWS 区域指定 KMS 密钥。

以下代码示例将加密的数据库快照从美国西部(俄勒冈)区域复制到美国东部(弗吉尼亚北部)区域。在美国东部(弗吉尼亚北部)区域调用命令。

对于 Linux、macOS 或 Unix:

aws rds copy-db-cluster-snapshot \ --source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115 \ --target-db-cluster-snapshot-identifier myclustersnapshotcopy \ --kms-key-id my-us-east-1-key

对于 Windows:

aws rds copy-db-cluster-snapshot ^ --source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115 ^ --target-db-cluster-snapshot-identifier myclustersnapshotcopy ^ --kms-key-id my-us-east-1-key

当您在 AWS GovCloud(美国东部)和 AWS GovCloud(美国西部)区域之间复制加密的数据库集群快照时,--source-region 参数是必需的。对于 --source-region,指定源数据库实例的 AWS 区域。source-db-cluster-snapshot-identifier 中指定的 AWS 区域必须匹配为 --source-region 指定的 AWS 区域。

如果未指定 --source-region,请指定 --pre-signed-url 值。预签名 URL 包含签名版本 4 签名的请求,该请求用于在源 AWS 区域中调用的 copy-db-cluster-snapshot 命令。要了解有关 pre-signed-url 选项的更多信息,请参阅《AWS CLI 命令参考》中的 copy-db-cluster-snapshot

要复制数据库集群快照,请使用 Amazon RDS API CopyDBClusterSnapshot 操作。如果您将快照复制到其他 AWS 区域,请在要将快照复制到其中的 AWS 区域执行操作。

以下参数用于复制加密的数据库集群快照:

  • SourceDBClusterSnapshotIdentifier – 要复制的加密数据库集群快照的标识符。如果您正在将快照复制到另一个 AWS 区域,源 AWS 区域中的此标识符必须为 ARN 格式。

  • TargetDBClusterSnapshotIdentifier – 加密数据库集群快照的新副本的标识符。

  • KmsKeyId - 用于对数据库集群快照副本进行加密的密钥的 KMS 密钥标识符。

    如果数据库集群快照已加密,要在同一 AWS 区域中复制快照,并且指定新的 KMS 密钥用于加密副本,则可以选择使用该参数。否则,数据库集群快照副本将使用与源数据库集群快照相同的 KMS 密钥进行加密。

    如果数据库集群快照已加密,并且您要将该快照复制到另一 AWS 区域,则必须使用该参数。在这种情况下,必须为目标 AWS 区域指定 KMS 密钥。

  • PreSignedUrl – 如果您将快照复制到其他 AWS 区域,必须指定 PreSignedUrl 参数。PreSignedUrl 值必须是一个 URL,包含要在源 AWS 区域(从中复制数据库集群快照)中调用的 CopyDBClusterSnapshot 操作的签名版本 4 签名的请求。要了解有关使用预签名 URL 的更多信息,请参阅 CopyDBClusterSnapshot

以下代码示例将加密的数据库快照从 美国西部(俄勒冈) 区域复制到 US East (N. Virginia) 区域。在 US East (N. Virginia) 区域中调用操作。

https://rds.us-east-1.amazonaws.com/ ?Action=CopyDBClusterSnapshot &KmsKeyId=my-us-east-1-key &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCopyDBClusterSnapshot %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBClusterSnapshotIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Acluster-snapshot%25253Aaurora-cluster1-snapshot-20161115 %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4 %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBClusterSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Acluster-snapshot%3Aaurora-cluster1-snapshot-20161115 &TargetDBClusterSnapshotIdentifier=myclustersnapshotcopy &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20161117T221704Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf

当您在 PreSignedUrl GovCloud(美国东部)和 AWS GovCloud(美国西部)区域之间复制加密的数据库集群快照时,AWS 参数是必需的。PreSignedUrl 值必须是一个 URL,包含要在源 AWS 区域(从中复制数据库集群快照)中调用的 CopyDBClusterSnapshot 操作的签名版本 4 签名的请求。要了解有关使用预签名 URL 的更多信息,请参阅《Amazon RDS API 参考》中的 CopyDBClusterSnapshot

要自动而非手动生成预签名的 URL,请改用具有 --source-region 选项的 AWS CLI copy-db-cluster-snapshot 命令。