

# 数据库集群快照复制
<a name="aurora-copy-snapshot"></a>

使用 Amazon Aurora，您可以复制自动或手动数据库集群快照。在复制快照后，该副本为手动快照。可以创建自动备份或手动快照的多个副本，但每个副本必须具有唯一的标识符。

您可以复制位于同一 AWS 区域中的快照，可以跨 AWS 区域复制快照，也可以复制共享快照。您只需一个步骤即可将快照复制到另一个 AWS 区域或账户。

**注意**  
Amazon 根据您保留的 Amazon Aurora 备份和快照数据量以及您保留的时间对您进行收费。有关与 Aurora 备份和快照关联的存储的信息，请参阅[了解 Amazon Aurora 备份存储使用量](aurora-storage-backup.md)。有关 Aurora 存储的定价信息，请参阅 [Amazon RDS for Aurora 定价](https://aws.amazon.com/rds/aurora/pricing)。

查看数据库集群快照复制的限制和注意事项。要复制数据库集群快照，请参阅以下主题之一。
+ [使用 AWS 管理控制台复制数据库集群快照](USER_CopyDBClusterSnapshot.CrossRegion.md)
+ [使用 AWS CLI 或 Amazon RDS API 复制未加密的数据库集群快照](USER_CopyDBClusterSnapshot.Unencrypted.CrossRegion.md)
+ [使用 AWS CLI 或 Amazon RDS API 复制加密的数据库集群快照](USER_CopyDBClusterSnapshot.Encrypted.CrossRegion.md)
+ [跨账户复制数据库集群快照](USER_CopyDBClusterSnapshot.CrossAccount.md)

# 使用 AWS 管理控制台复制数据库集群快照
<a name="USER_CopyDBClusterSnapshot.CrossRegion"></a>

使用此主题中的过程复制数据库集群快照。如果源数据库引擎为 Aurora，则您的快照是数据库集群快照。

对于每个 AWS 账户，一次最多可以从一个 AWS 区域向另一个区域复制五个数据库集群快照。支持复制加密和未加密的数据库集群快照。如果您将数据库集群快照复制到另一个 AWS 区域，则可创建保留在该 AWS 区域中的手动数据库集群快照。从源 AWS 区域复制出数据库集群快照会产生 Amazon RDS 数据传输费用。

有关数据传输定价的更多信息，请参阅 [Amazon RDS 定价](https://aws.amazon.com/rds/pricing/)。

在新 AWS 区域中创建数据库集群快照副本后，该数据库集群快照副本的行为与该 AWS 区域中所有其他数据库集群快照的行为相同。

此程序可用于在同一 AWS 区域或跨区域复制加密和未加密的数据库集群快照。

要在正在进行复制时取消操作，请在数据库集群快照处于**正在复制**状态时删除目标数据库集群快照。

在复制数据库集群快照之前，请查看[限制](aurora-copy-snapshot.md#aurora-copy-snapshot.Limitations)和[快照复制注意事项](aurora-copy-snapshot.md#aurora-copy-snapshot.Considerations)。

**复制数据库集群快照**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**快照**。

1. 选择要复制的数据库集群快照。

1. 选择**操作**，然后选择**复制快照**。  
![\[带有源和目标配置选项的数据库集群快照复制界面。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/action-copy-db-cluster-snapshot.png)

1. （可选）要将数据库集群快照复制到其他 AWS 区域，请为 **Destination Region**（目标区域）选择该 AWS 区域。

1. 在 **New DB Snapshot Identifier (新数据库实例标识符)** 中输入数据库集群快照副本的名称。

1. 要将标签和值从快照复制到快照的副本，请选择 **Copy Tags (复制标签)**。

1. 选择 **Copy Snapshot (复制快照)**。

## 限制
<a name="aurora-copy-snapshot.Limitations"></a>

复制快照时，存在以下一些限制：
+ 您不能向或者从以下 AWS 区域复制快照：
  + 中国（北京）
  + China (Ningxia)
+ 您可以在 AWS GovCloud（美国东部）和 AWS GovCloud（美国西部）之间复制快照。但是，您不能在这些 AWS GovCloud (US) 区域和商业 AWS 区域之间复制快照。
+ 如果您在目标快照可用之前删除了源快照，则快照复制会失败。在删除源快照之前，请确保目标快照的状态为 `AVAILABLE`。
+ 每个账户最多可以同时进行到同一目标区域的五个快照复制请求。
+ 当您为同一源数据库实例请求多个快照副本时，它们将在内部排队。在先前的快照副本完成之后，稍后请求的副本才会启动。有关更多信息，请参阅 AWS 知识中心里的[为什么我的 EC2 AMI 或 EBS 快照创建速度很慢？](https://aws.amazon.com/premiumsupport/knowledge-center/ebs-snapshot-ec2-ami-creation-slow/)。
+ 根据所涉及的 AWS 区域和要复制的数据量，可能需要数小时才能完成跨区域快照复制。有时，某一给定的源区域可能会发出大量跨区域快照复制请求。在这种情况下，Amazon RDS 可能会将来自该源区域的新跨区域复制请求排入队列，直至某些区域正在进行的复制完成。当复制请求在队列中时，不显示有关这些复制请求的进度信息。复制开始后即显示进度信息。
+ Aurora 不支持增量快照。Aurora 数据库集群快照副本始终存储为完整副本。完整快照副本包含还原数据库集群需要的所有数据和元数据。

## 快照复制注意事项
<a name="aurora-copy-snapshot.Considerations"></a>

以下是复制快照时的注意事项。

**Topics**
+ [

### 共享快照复制注意事项
](#aurora-copy-snapshot.Shared)
+ [

### 加密的数据库集群快照复制注意事项
](#aurora-copy-snapshot.Encryption)
+ [

### 跨区域快照复制注意事项
](#aurora-copy-snapshot.AcrossRegions)
+ [

### 参数组注意事项
](#aurora-copy-snapshot.Parameters)

### 共享快照复制注意事项
<a name="aurora-copy-snapshot.Shared"></a>

您可以复制其他 AWS 账户与您共享的快照。在某些情况下，您可以从另一个 AWS 账户复制共享的加密快照。在这些情况下，您必须有权访问用于加密快照的 AWS KMS key。有关更多信息，请参阅 [共享加密的快照](share-encrypted-snapshot.md)。

#### 跨区域和跨账户复制只需一个步骤
<a name="cross-region-cross-account-copy"></a>

 要在单个操作中跨区域和跨账户复制快照，必须先与目标 AWS 账户共享快照。如果快照已加密，则还必须与目标 AWS 账户共享 AWS KMS 密钥。如果快照使用默认 AWS KMS 密钥加密，则必须先复制快照以使用客户管理的密钥对其进行重新加密，然后再与目标账户共享。共享后，您可以从目标账户发起对该账户的复制操作（同区域或跨区域）。

### 加密的数据库集群快照复制注意事项
<a name="aurora-copy-snapshot.Encryption"></a>

您可以复制已使用 KMS 密钥加密的快照。如果您复制加密的快照，则此快照的副本也必须加密。如果在同一 AWS 区域内复制加密的快照，可使用与原始快照相同的 KMS 密钥加密此副本。也可指定不同的 KMS 密钥。

如果跨区域复制加密快照，则必须指定在目标 AWS 区域中有效的 KMS 密钥。该密钥可以是某个区域的专用 KMS 密钥，也可以是多区域密钥。有关多区域 KMS 密钥的更多信息，请参阅[在 AWS KMS 中使用多区域密钥](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)。

有关 Amazon RDS 的 AWS KMS 密钥管理的更多信息，请参阅 [AWS KMS key 管理](Overview.Encryption.Keys.md)。

源快照在复制过程中保持加密状态。有关更多信息，请参阅 [Amazon Aurora 加密的数据库集群的限制](Overview.Encryption.md#Overview.Encryption.Limitations)。

**注意**  
对于 Amazon Aurora 数据库集群快照，在复制快照时，您无法对未加密的数据库集群快照进行加密。

要复制加密的数据库集群快照，请参阅以下主题。
+ [使用 AWS CLI 或 Amazon RDS API 复制加密的数据库集群快照](USER_CopyDBClusterSnapshot.Encrypted.CrossRegion.md)
+ [跨账户复制数据库集群快照](USER_CopyDBClusterSnapshot.CrossAccount.md)

### 跨区域快照复制注意事项
<a name="aurora-copy-snapshot.AcrossRegions"></a>

您可以跨 AWS 区域复制数据库集群快照。但是，跨区域快照复制具有某些限制和注意事项。

根据所涉及的 AWS 区域和要复制的数据量，可能需要数小时才能完成跨区域快照复制。

有时，某一给定的源 AWS 区域可能会发出大量跨区域快照复制请求。在这种情况下，Amazon RDS 可能会将来自该源 AWS 区域的新跨区域复制请求排入队列，直至某些正在进行的复制完成。当复制请求在队列中时，不显示有关这些复制请求的进度信息。复制开始后即显示进度信息。

跨区域快照复制需要支付数据传输费用。跨区域快照复制会在目标数据中创建完整副本，但数据传输费用是递增的。增量数据包括自上次复制以来添加到客户数据库中的新数据，以及对现有数据所做的任何更改。有关更多信息，请参阅《AWS Backup 开发人员指南》**中的 [Creating backup copies across AWS 区域](https://docs.aws.amazon.com/aws-backup/latest/devguide/cross-region-backup.html)。

**注意**  
Aurora 复制在目标区域中创建快照的完整副本所需的最低数据量。在区域之间复制快照时会收取数据传输费用。

### 参数组注意事项
<a name="aurora-copy-snapshot.Parameters"></a>

跨区域复制快照时，复制不包括由原始数据库集群使用的参数组。当您还原快照来创建新数据库集群时，该数据库集群会获取创建它的 AWS 区域的默认参数组。要为新的数据库集群提供与源数据库集群相同的参数组，请执行以下操作：

1. 在目标 AWS 区域中，使用与原始数据库集群相同的设置来创建数据库集群参数组。如果新 AWS 区域中已存在选项组，也可以使用它。

1. 在目标 AWS 区域中还原快照之后，修改新数据库集群，并添加新参数组或上一步中的现有参数组。

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

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

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

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

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

## AWS CLI
<a name="USER_CopyDBClusterSnapshot.Unencrypted.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` – 加密数据库集群快照的新副本的标识符。

以下代码在运行命令的 AWS 区域中创建名为 `myclustersnapshotcopy` 的数据库集群快照 `arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805` 的副本。创建副本时，原始快照上的所有标签都将复制到快照副本。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws rds copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805 \
  --target-db-cluster-snapshot-identifier myclustersnapshotcopy \
  --copy-tags
```
对于 Windows：  

```
aws rds copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805 ^
  --target-db-cluster-snapshot-identifier myclustersnapshotcopy ^
  --copy-tags
```

## RDS API
<a name="USER_CopyDBClusterSnapshot.Unencrypted.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` – 加密数据库集群快照的新副本的标识符。

以下代码在 美国西部（加利福尼亚北部） 区域中创建名为 `arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805` 的快照 `myclustersnapshotcopy` 的副本。创建副本时，原始快照上的所有标签都将复制到快照副本。

**Example**  

```
https://rds.us-west-1.amazonaws.com/
   ?Action=CopyDBClusterSnapshot
   &CopyTags=true
   &SignatureMethod=HmacSHA256
   &SignatureVersion=4
   &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-east-1%3A123456789012%3Acluster-snapshot%3Aaurora-cluster1-snapshot-20130805
   &TargetDBSnapshotIdentifier=myclustersnapshotcopy
   &Version=2013-09-09
   &X-Amz-Algorithm=AWS4-HMAC-SHA256
   &X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request
   &X-Amz-Date=20140429T175351Z
   &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
   &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
```

# 使用 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) 命令。

# 跨账户复制数据库集群快照
<a name="USER_CopyDBClusterSnapshot.CrossAccount"></a>

您可以允许其他 AWS 账户通过使用 Amazon RDS API `ModifyDBClusterSnapshotAttribute` 和 `CopyDBClusterSnapshot` 操作来复制您指定的数据库集群快照。您只能在同一 AWS 区域中跨账户复制数据库集群快照。跨账户复制的流程如下，其中账户 A 提供可复制的快照，账户 B 复制该快照。

1. 使用账户 A，调用 `ModifyDBClusterSnapshotAttribute`，为 **restore** 参数指定 `AttributeName`，并为 `ValuesToAdd` 参数指定账户 B 的 ID。

1. (如果快照已加密) 使用账户 A，更新 KMS 密钥的密钥策略，首先将账户 B 的 ARN 添加为 `Principal`，然后允许 `kms:CreateGrant` 操作。

1. （如果快照已加密）使用账户 B，选择或创建用户，然后将允许它使用 KMS 密钥复制加密数据库集群快照的 IAM policy 附加到该用户。

1. 使用账户 B，调用 `CopyDBClusterSnapshot` 并使用 `SourceDBClusterSnapshotIdentifier` 参数指定要复制的数据库集群快照的 ARN，其中必须包括账户 A 的 ID。

要列出允许还原数据库集群快照的所有 AWS 账户，请使用 [ DescribeDBSnapshotAttributes](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshotAttributes.html) 或 [ DescribeDBClusterSnapshotAttributes](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusterSnapshotAttributes.html) API 操作。

要取消 AWS 账户的共享权限，请使用 `ModifyDBSnapshotAttribute` 或 `ModifyDBClusterSnapshotAttribute` 操作并将 `AttributeName` 设置为 `restore`，然后在 `ValuesToRemove` 参数中删除账户的 ID。

## 将未加密的数据库集群快照复制到另一账户
<a name="USER_CopyDBClusterSnapshot.Unencrypted.CrossAccount"></a>

使用以下步骤将未加密的数据库集群快照复制到同一 AWS 区域中的另一账户。

1. 在数据库集群快照的源账户中，调用 `ModifyDBClusterSnapshotAttribute`，为 **restore** 参数指定 `AttributeName`，并为 `ValuesToAdd` 参数指定目标账户的 ID。

   使用账户 `987654321` 运行以下示例将允许两个 AWS 账户标识符（`123451234512` 和 `123456789012`）恢复名为 `manual-snapshot1` 的数据库集群快照。

   ```
   https://rds.us-west-2.amazonaws.com/
   	?Action=ModifyDBClusterSnapshotAttribute
   	&AttributeName=restore
   	&DBClusterSnapshotIdentifier=manual-snapshot1
   	&SignatureMethod=HmacSHA256&SignatureVersion=4
   	&ValuesToAdd.member.1=123451234512
   	&ValuesToAdd.member.2=123456789012
   	&Version=2014-10-31
   	&X-Amz-Algorithm=AWS4-HMAC-SHA256
   	&X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
   	&X-Amz-Date=20150922T220515Z
   	&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
   	&X-Amz-Signature=ef38f1ce3dab4e1dbf113d8d2a265c67d17ece1999ffd36be85714ed36dddbb3
   ```

1. 在目标账户中，调用 `CopyDBClusterSnapshot` 并使用 `SourceDBClusterSnapshotIdentifier` 参数指定要复制的数据库集群快照的 ARN，其中必须包括源账户的 ID。

   使用账户 `123451234512` 运行以下示例将从账户 `aurora-cluster1-snapshot-20130805` 复制数据库集群快照 `987654321`，然后创建名为 `dbclustersnapshot1` 的数据库集群快照。

   ```
   https://rds.us-west-2.amazonaws.com/
      ?Action=CopyDBClusterSnapshot
      &CopyTags=true
      &SignatureMethod=HmacSHA256
      &SignatureVersion=4
      &SourceDBClusterSnapshotIdentifier=arn:aws:rds:us-west-2:987654321:cluster-snapshot:aurora-cluster1-snapshot-20130805
      &TargetDBClusterSnapshotIdentifier=dbclustersnapshot1
      &Version=2013-09-09
      &X-Amz-Algorithm=AWS4-HMAC-SHA256
      &X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
      &X-Amz-Date=20140429T175351Z
      &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
      &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
   ```

## 将加密的数据库集群快照复制到另一账户
<a name="USER_CopyDBClusterSnapshot.Encrypted.CrossAccount"></a>

使用以下步骤将加密的数据库集群快照复制到同一 AWS 区域中的另一账户。

1. 在数据库集群快照的源账户中，调用 `ModifyDBClusterSnapshotAttribute`，为 **restore** 参数指定 `AttributeName`，并为 `ValuesToAdd` 参数指定目标账户的 ID。

   使用账户 `987654321` 运行以下示例将允许两个 AWS 账户标识符（`123451234512` 和 `123456789012`）恢复名为 `manual-snapshot1` 的数据库集群快照。

   ```
   https://rds.us-west-2.amazonaws.com/
   	?Action=ModifyDBClusterSnapshotAttribute
   	&AttributeName=restore
   	&DBClusterSnapshotIdentifier=manual-snapshot1
   	&SignatureMethod=HmacSHA256&SignatureVersion=4
   	&ValuesToAdd.member.1=123451234512
   	&ValuesToAdd.member.2=123456789012
   	&Version=2014-10-31
   	&X-Amz-Algorithm=AWS4-HMAC-SHA256
   	&X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
   	&X-Amz-Date=20150922T220515Z
   	&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
   	&X-Amz-Signature=ef38f1ce3dab4e1dbf113d8d2a265c67d17ece1999ffd36be85714ed36dddbb3
   ```

1. 在数据库集群快照的源账户中，在加密数据库集群快照所在的同一个 AWS 区域中创建自定义 KMS 密钥。在创建客户自主管理型密钥时，您可以为目标 AWS 账户提供对该密钥的访问权限。有关更多信息，请参阅 [创建客户自主管理型密钥并授予对它的访问权限](share-encrypted-snapshot.md#share-encrypted-snapshot.cmk)。

1. 将快照复制到目标 AWS 账户并与其共享。有关更多信息，请参阅 [从源账户复制和共享快照](share-encrypted-snapshot.md#share-encrypted-snapshot.share)。

1. 在目标账户中，调用 `CopyDBClusterSnapshot` 并使用 `SourceDBClusterSnapshotIdentifier` 参数指定要复制的数据库集群快照的 ARN，其中必须包括源账户的 ID。

   使用账户 `123451234512` 运行以下示例将从账户 `aurora-cluster1-snapshot-20130805` 复制数据库集群快照 `987654321`，然后创建名为 `dbclustersnapshot1` 的数据库集群快照。

   ```
   https://rds.us-west-2.amazonaws.com/
      ?Action=CopyDBClusterSnapshot
      &CopyTags=true
      &SignatureMethod=HmacSHA256
      &SignatureVersion=4
      &SourceDBClusterSnapshotIdentifier=arn:aws:rds:us-west-2:987654321:cluster-snapshot:aurora-cluster1-snapshot-20130805
      &TargetDBClusterSnapshotIdentifier=dbclustersnapshot1
      &Version=2013-09-09
      &X-Amz-Algorithm=AWS4-HMAC-SHA256
      &X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request
      &X-Amz-Date=20140429T175351Z
      &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
      &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
   ```