

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

# Amazon EBS 加密示例
<a name="encryption-examples"></a>

创建加密 EBS 资源时，除非您在卷创建参数或 AMI 或实例的块设备映射中指定了不同的 客户托管密钥，否则它将使用您账户的用于 EBS 加密的默认 KMS 密钥 进行加密。

以下示例说明如何管理卷和快照的加密状态。有关加密案例的完整列表，请参阅[加密结果表](#ebs-volume-encryption-outcomes)。

**Topics**
+ [还原未加密的卷（未启用默认加密）](#volume-account-off)
+ [还原未加密的卷（启用了默认加密）](#volume-account-on)
+ [复制未加密的快照（未启用默认加密）](#snapshot-account-off)
+ [复制未加密的快照（启用了默认加密）](#snapshot-account-on)
+ [重新加密已加密卷](#reencrypt-volume)
+ [重新加密已加密快照](#reencrypt-snapshot)
+ [在加密卷与未加密卷之间迁移数据](#migrate-data-encrypted-unencrypted)
+ [加密结果](#ebs-volume-encryption-outcomes)

## 还原未加密的卷（未启用默认加密）
<a name="volume-account-off"></a>

未启用默认加密时，从未加密快照还原的卷在默认情况下不加密。但是，您可以设置 `Encrypted` 参数和可选的 `KmsKeyId` 参数来加密生成的卷。下图说明了该过程。

![\[使用未加密的快照创建卷时，请指定 KMS 密钥以创建加密卷。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/volume-encrypt-account-off.png)


如果您省略 `KmsKeyId` 参数，则将使用您用于 EBS 加密的默认 KMS 密钥 加密生成的卷。您必须指定 KMS 密钥 ID 以使用不同的 KMS 密钥 加密卷。

有关更多信息，请参阅 [创建 Amazon EBS 卷](ebs-creating-volume.md)。

## 还原未加密的卷（启用了默认加密）
<a name="volume-account-on"></a>

在您启用了默认加密时，从未加密快照还原的卷必须加密，无需使用默认 KMS 密钥 的加密参数。下图说明了这种简单默认案例：

![\[当您使用未加密的快照创建卷但默认启用加密时，我们会使用默认 KMS 密钥来创建加密卷。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/volume-encrypt-account-on.png)


如果您要使用对称客户管理加密密钥来加密还原的卷，则必须提供 `Encrypted` 和 `KmsKeyId` 参数，如 [还原未加密的卷（未启用默认加密）](#volume-account-off) 中所示。

## 复制未加密的快照（未启用默认加密）
<a name="snapshot-account-off"></a>

未启用默认加密时，未加密快照的副本在默认情况下不加密。但是，您可以设置 `Encrypted` 参数和可选的 `KmsKeyId` 参数来加密生成的快照。如果省略 `KmsKeyId`，则使用默认 KMS 密钥 加密生成的快照。您必须指定 KMS 密钥 ID 以使用不同的对称加密 KMS 密钥对卷进行加密。

下图说明了该过程。

![\[从未加密快照创建加密快照。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot-encrypt-account-off.png)


您可以将未加密的快照复制到加密的快照，然后从加密的快照中创建卷来加密 EBS 卷。有关更多信息，请参阅[复制 Amazon EBS 快照](ebs-copy-snapshot.md)。

## 复制未加密的快照（启用了默认加密）
<a name="snapshot-account-on"></a>

在您启用了默认加密时，未加密快照的副本必须加密，无需使用默认 KMS 密钥 的加密参数。下图说明了这种默认情况：

![\[从未加密快照创建加密快照。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot-encrypt-account-on.png)


## 重新加密已加密卷
<a name="reencrypt-volume"></a>

对加密快照执行 `CreateVolume` 操作时，您可以选择使用不同的 KMS 密钥 重新加密它。下图说明了该过程。在本例中，您拥有两个 KMS 密钥，即 KMS 密钥 A 和 KMS 密钥 B。源快照由 KMS 密钥 A 加密。在卷创建期间，由于 KMS 密钥 B 的 KMS 密钥 ID 被指定为一个参数，因此源数据被自动解密，然后由 KMS 密钥 B 重新加密。

![\[复制加密快照并将副本加密到新的 KMS 密钥。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/volume-reencrypt.png)


有关更多信息，请参阅 [创建 Amazon EBS 卷](ebs-creating-volume.md)。

## 重新加密已加密快照
<a name="reencrypt-snapshot"></a>

由于能够在复制过程中加密快照，您可以将新的对称加密 KMS 密钥应用于您拥有的已加密过的快照。从生成的副本还原的卷只能使用新的 KMS 密钥 进行访问。下图说明了该过程。在本例中，您拥有两个 KMS 密钥，即 KMS 密钥 A 和 KMS 密钥 B。源快照由 KMS 密钥 A 加密。在复制期间，由于 KMS 密钥 B 的 KMS 密钥 ID 被指定为一个参数，因此源数据由 KMS 密钥 B 自动重新加密。

![\[复制加密快照并将副本加密到新的 KMS 密钥。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snap-reencrypt.png)


在相关的场景中，您可以选择将新加密参数应用于已与您共享的快照的副本。默认情况下，系统会使用快照拥有者共享的 KMS 密钥 对该副本进行加密。但是，我们建议您使用您控制的其他 KMS 密钥 创建共享快照的副本。这样，即使原始 KMS 密钥 遭到泄露或拥有者出于任何原因撤销了 KMS 密钥，您也不会失去对卷的访问权限。有关更多信息，请参阅[加密和快照复制](ebs-copy-snapshot.md#creating-encrypted-snapshots)。

## 在加密卷与未加密卷之间迁移数据
<a name="migrate-data-encrypted-unencrypted"></a>

当您对加密卷和未加密卷都可以访问时，就可以在它们之间自由传输数据了。EC2 透明地执行加密和解密操作。

### Linux 实例
<a name="migrate-data-encrypted-unencrypted-lin"></a>

例如，使用 **rsync** 命令复制数据。在以下命令中，源数据位于 `/mnt/source` 中，目标卷挂载在 `/mnt/destination` 中。

```
[ec2-user ~]$ sudo rsync -avh --progress /mnt/source/ /mnt/destination/
```

### Windows 实例
<a name="migrate-data-encrypted-unencrypted-win"></a>

例如，使用 **robocopy** 命令复制数据。在以下命令中，源数据位于 `D:\` 中，目标卷挂载在 `E:\` 中。

```
PS C:\> robocopy D:\sourcefolder E:\destinationfolder /e /copyall /eta
```

我们建议使用文件夹而不是复制整个卷，因为这可避免隐藏文件夹的潜在问题。

## 加密结果
<a name="ebs-volume-encryption-outcomes"></a>



下表描述了每种可能的设置组合的加密结果。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/encryption-examples.html)

\$1 这是用于 AWS 账户和地区的 EBS 加密的默认客户托管密钥。默认情况下，这是 EBS AWS 托管式密钥 的唯一密钥，或者您可以指定客户托管密钥。

\$1\$1这是在启动时为卷指定的客户托管密钥。使用此客户托管密钥代替 AWS 账户和地区的默认客户托管密钥。