

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

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

使用 Neptune，您可以复制自动或手动数据库集群快照。在复制快照后，该副本为手动快照。

您可以在同一 AWS 区域内和跨 AWS 区域复制快照。一步即可跨区域和账户复制快照。

将自动快照复制到另一个 AWS 账户的过程分为两步：首先，使用自动快照创建手动快照，然后将手动快照复制到另一个账户。

 除了复制之外，您还可以与其他 AWS 帐户共享手动快照。有关更多信息，请参阅 [共享数据库集群快照](backup-restore-share-snapshot.md)。

**Topics**
+ [有关复制快照的限制](#backup-restore-copy-snapshot-limitations)
+ [数据库集群快照副本的保留期](#backup-restore-copy-snapshot-retention)
+ [复制快照时处理加密](#backup-restore-copy-snapshot-encryption)
+ [跨复制快照 AWS Regions](#backup-restore-copy-snapshot-cross-region)
+ [使用控制台复制数据库集群快照](#backup-restore-copy-snapshot-console)
+ [使用复制数据库集群快照 AWS CLI](#backup-restore-copy-snapshot-cli)

## 有关复制快照的限制
<a name="backup-restore-copy-snapshot-limitations"></a>

复制快照时，存在以下一些限制：
+ 您可以在中国（北京）和中国（宁夏）之间复制快照，但不能在这些中国区域与其他地区之间 AWS 复制快照。
+ 您可以在 AWS GovCloud (US-East) 和 AWS GovCloud (US-West) 之间复制快照，但不能在这些 AWS GovCloud (US) 区域与其他 AWS 区域之间复制快照。
+ 如果您在目标快照可用之前删除了源快照，则快照复制会失败。在删除源快照之前，请确保目标快照的状态为 `AVAILABLE`。
+ 每个账户最多可以同时进行指向单一区域的五个快照复制请求。
+ 根据所涉及的区域和要复制的数据量，可能需要数小时才能完成跨区域快照复制。

  如果来自给定来源区域的大量跨区域快照复制请求，Neptune 可能会将来自 AWS 该源区域的新跨区域复制请求放入队列， AWS 直到一些正在进行的复制完成。当复制请求在该队列中时，不显示有关这些复制请求的进度信息。只有在复制开始后才会显示进度信息。

## 数据库集群快照副本的保留期
<a name="backup-restore-copy-snapshot-retention"></a>

Neptune 在以下情况下会删除自动快照：
+ 在保留期结束时。
+ 当您对数据库集群禁用自动快照时。
+ 当您删除数据库集群时。

如果要长期保留自动快照，则可复制它以创建一个手动数据库快照，之后该快照在您删除之前将会一直保留。如果手动快照超出了默认存储空间，则可能会产生 Neptune 存储成本。

有关备份存储成本的更多信息，请参阅 [Neptune 定价](https://aws.amazon.com/neptune/pricing/)。

## 复制快照时处理加密
<a name="backup-restore-copy-snapshot-encryption"></a>

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

您无法在复制时加密未加密的数据库集群快照。

对于 Amazon Neptune 数据库集群快照，您也可以将数据库集群快照保持未加密状态，而是在还原时指定 AWS KMS 加密密钥。还原的数据库集群使用指定的密钥加密。

## 跨复制快照 AWS Regions
<a name="backup-restore-copy-snapshot-cross-region"></a>

当您将快照复制到与源快照 AWS 区域不同的 AWS 区域时，即使您复制的是增量快照，第一个副本也是完整的快照副本。完整快照副本包含还原数据库实例需要的所有数据和元数据。在第一次快照复制之后，您可以将同一数据库实例的增量快照复制到同一 AWS 账户中的相同目标区域。

增量快照仅包含在同一数据库实例的最近快照后发生更改的数据。与完整快照复制相比，增量快照复制速度更快，产生的存储成本更低。未加密和加密的快照都支持跨 AWS 区域的增量快照复制。

**重要**  
对于共享快照，不支持复制增量快照。对于共享快照，所有副本都是完整的快照，即使在相同区域中也是如此。

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

## 使用控制台复制数据库集群快照
<a name="backup-restore-copy-snapshot-console"></a>

如果源数据库引擎为 Neptune，则您的快照是数据库集群快照。对于每个 AWS 账户，每个 AWS 区域一次最多可以复制五个数据库集群快照。支持复制加密和未加密的数据库集群快照。

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

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

以下过程适用于复制加密和未加密的数据库集群快照：

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

1. 登录 AWS 管理控制台，然后通过以下网址打开 Amazon Neptune 控制台。[https://console.aws.amazon.com/neptune/home](https://console.aws.amazon.com/neptune/home)

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

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

1. 选择**操作**，然后选择**复制快照**。此时显示 **Make Copy of DB Snapshot (建立数据库快照副本)** 页面。

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

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

1. 对于 **Enable Encryption**，请选择下列选项之一：
   + 如果数据库集群快照未加密，且不需要加密该副本，请选择**启用加密**。
   + 如果数据库集群快照未加密，但需要加密该副本，请选择**禁用加密**。在这种情况下，对于**主密钥**，请指定用于加密数据库集群快照副本的密 AWS KMS 钥标识符。
   + 如果数据库集群快照已加密，请选择**启用加密**。在这种情况下，必须加密该副本，因此，**是**为已选中状态。对于**主密钥**，请指定用于加密数据库集群快照副本的密 AWS KMS 钥标识符。

1. 选择**复制快照**。

## 使用复制数据库集群快照 AWS CLI
<a name="backup-restore-copy-snapshot-cli"></a>

您可以使用 [copy-db-cluster-snapshot](api-snapshots.md#CopyDBClusterSnapshot) AWS CLI 命令复制数据库快照。

如果您要将快照复制到新 AWS 区域，请在新区域中运行该命令。

使用以下参数描述和示例来确定使用 AWS CLI复制快照时使用的参数。
+ `--source-db-cluster-snapshot-identifier` – 源数据库快照的标识符。
  + 如果源快照与副本位于同一 AWS 区域，请指定有效的数据库快照标识符，例如`neptune:instance1-snapshot-20130805`。
  + 如果源快照与副本位于不同的 AWS 区域，请指定有效的数据库快照 ARN，例如。`arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20130805`
  + 如果从共享的手动数据库快照进行复制，则该参数必须为共享的数据库快照的 Amazon Resource Name (ARN)。
  + 如果您要复制加密快照，则此参数必须采用源 AWS 区域的 ARN 格式，并且必须与参数`SourceDBSnapshotIdentifier`中的`PreSignedUrl`相匹配。
+ `--target-db-cluster-snapshot-identifier` – 加密数据库快照的新副本的标识符。
+ `--kms-key-id`— — 加密数据库快照的 AWS KMS 密钥 ID。 AWS KMS 密钥 ID 是 AWS KMS 加密密钥的 Amazon 资源名称 (ARN)、 AWS KMS 密钥标识符或 AWS KMS 密钥别名。
  + 如果您从 AWS 账户复制加密的数据库快照，则可以为此参数指定一个值，以便使用新的加密密钥对副本进行 AWS KMS 加密。如果您未为此参数指定值，则使用与源数据库快照相同的 AWS KMS 密钥对数据库快照的副本进行加密。
  + 您无法使用此参数创建未加密快照的加密副本。尝试这样做会生成错误。
  + 如果您将加密快照复制到其他 AWS 区域，则必须为目标 AWS 区域指定 AWS KMS 密钥。 AWS KMS 加密密钥特定于创建密钥的 AWS 区域，您不能在另一个 AWS 区域中使用来自一个 AWS 区域的加密密钥。
+ `--source-region`— — 源数据库快照所在 AWS 区域的 ID。如果您将加密快照复制到其他 AWS 区域，则必须指定此选项。
+ `--region`— — 您要将快照复制到的 AWS 区域的 ID。如果您将加密快照复制到其他 AWS 区域，则必须指定此选项。

**Example 从未加密快照，到相同区域**  
以下代码使用新名称`mydbsnapshotcopy`创建从`us-east-1` AWS 区域到区域的快照副本。`us-west-2`  
对于 Linux、OS X 或 Unix：  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier {{instance1-snapshot-20130805}} \
  --target-db-cluster-snapshot-identifier {{mydbsnapshotcopy}}
```
对于 Windows：  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier {{instance1-snapshot-20130805}} ^
  --target-db-cluster-snapshot-identifier {{mydbsnapshotcopy}}
```

**Example 从未加密快照，跨区域**  
以下代码使用新名称`mydbsnapshotcopy`创建从`us-east-1` AWS 区域到区域的快照副本。`us-west-2`在 `us-west-2` 区域中运行命令。  
对于 Linux、OS X 或 Unix：  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier {{arn:aws:neptune:us-east-1:123456789012:snapshot:instance1-snapshot-20130805}} \
  --target-db-cluster-snapshot-identifier {{mydbsnapshotcopy}} \
  --source-region {{us-east-1}} \
  --region {{us-west-2}}
```
对于 Windows：  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier {{arn:aws:neptune:us-east-1:123456789012:snapshot:instance1-snapshot-20130805}} ^
  --target-db-cluster-snapshot-identifier {{mydbsnapshotcopy}} ^
  --source-region {{us-east-1}} ^
  --region {{us-west-2}}
```

**Example 从加密快照，跨区域**  
以下代码示例将加密的数据库快照从该`us-east-1` AWS 区域复制到该`us-west-2`区域。在 `us-west-2` 区域中运行命令。  
对于 Linux、OS X 或 Unix：  

```
aws neptune copy-db-cluster-snapshot \
  --source-db-cluster-snapshot-identifier {{arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20161115}} \
  --target-db-cluster-snapshot-identifier {{mydbsnapshotcopy}} \
  --source-region {{us-east-1}} \
  --region {{us-west-2}}
  --kms-key-id {{my_us_west_2_key}}
```
对于 Windows：  

```
aws neptune copy-db-cluster-snapshot ^
  --source-db-cluster-snapshot-identifier {{arn:aws:neptune:us-west-2:123456789012:snapshot:instance1-snapshot-20161115}} ^
  --target-db-cluster-snapshot-identifier {{mydbsnapshotcopy}} ^
  --source-region {{us-east-1}} ^
  --region {{us-west-2}}
  --kms-key-id {{my-us-west-2-key}}
```