

# 使用 AWS CLI 或 Amazon RDS API 复制加密的数据库集群快照
<a name="USER_CopyDBClusterSnapshot.Encrypted.CrossRegion"></a>

使用以下各节中的过程，通过 AWS 管理控制台、AWS CLI 或 Amazon RDS API 复制加密的数据库集群快照。

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

## 控制台
<a name="USER_CopyDBClusterSnapshot.Encrypted.CrossRegion.Console"></a>

要使用 AWS 管理控制台复制数据库集群快照，请参阅[使用 AWS 管理控制台复制数据库集群快照](USER_CopyDBClusterSnapshot.CrossRegion.md)。

## AWS CLI
<a name="USER_CopyDBClusterSnapshot.Encrypted.CrossRegion.CLI"></a>

要复制数据库快照，请使用 AWS CLI [copy-db-cluster-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-snapshot.html) 命令。如果您将快照复制到其他 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 密钥。

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

**Example**  
对于 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](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-snapshot.html)。

## RDS API
<a name="USER_CopyDBClusterSnapshot.Encrypted.CrossRegion.API"></a>

要复制数据库集群快照，请使用 Amazon RDS API [CopyDBClusterSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBClusterSnapshot.html) 操作。如果您将快照复制到其他 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](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBClusterSnapshot.html)。

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

**Example**  

```
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](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBClusterSnapshot.html)。

要自动而非手动生成预签名的 URL，请改用具有 `--source-region` 选项的 AWS CLI [copy-db-cluster-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-snapshot.html) 命令。