复制 Amazon EBS 快照
利用 Amazon EBS,您可以创建卷的时间点快照,我们为您将其存储在 Amazon S3 中。创建快照并且已完成到 Amazon S3 的复制(快照状态为 completed
时)后,您可将快照从一个 Amazon 区域复制到另一个区域,也可在相同区域内复制。Amazon S3 服务器端加密(256 位 AES)可在复制操作期间保护传输中的快照数据。快照副本将获得与原始快照 ID 不同的 ID。
要将多卷快照复制到另一个 Amazon 区域,请使用您在创建快照时应用于多卷快照集的标签检索快照。然后分别将快照复制到另一个区域。
如果希望另一账户能够复制您的快照,您必须修改快照权限以允许访问该账户,或使快照公开可用,以便所有 Amazon 账户均可复制它。有关更多信息,请参阅共享 Amazon EBS 快照。
有关复制 Amazon RDS 快照的信息,请参阅 Amazon RDS 用户指南 中的复制数据库快照。
使用案例
-
地理扩展:在新 Amazon 区域中启动您的应用程序。
-
迁移:将应用程序迁移到新区域,以实现更好的可用性以及最大限度地降低成本。
-
灾难恢复:在不同的地理位置定期备份您的数据和日志。出现灾难情况时,您可以使用辅助区域存储的时间点备份恢复您的应用程序。该操作能够让数据丢失和恢复时间降至最低。
-
加密:对之前未加密的快照进行加密、更改用于加密快照的密钥,或创建您拥有的副本以从中创建卷(用于与您共享的加密快照)。
-
数据保留和审计要求:将您的加密 EBS 快照从一个 Amazon 账户复制到另一个账户,以保留数据日志或其他文件,便于进行审计或数据保留。使用不同的账户有助于防止意外删除快照,并在您的主要 Amazon 账户遭到泄露时为您提供保护。
先决条件
-
您可以复制任何状态为
completed
的可访问快照,包括共享快照和您创建的快照。 -
您可以复制 Amazon Web Services Marketplace、VM Import/Export 和 Storage Gateway 快照,但必须确认目标区域支持该快照。
注意事项
-
每个目标区域限制并发快照复制请求不得超过
20
个。如果您超出此配额,会收到ResourceLimitExceeded
错误。如果收到此错误,请等待一个或多个复制请求完成,然后再发出新的快照复制请求。 -
用户定义的标签不会从源快照复制到新快照。您可以在复制操作期间或之后添加用户定义的标签。有关更多信息,请参阅标记 Amazon EC2 资源。
-
由快照复制操作创建的快照具有一个不应用于任何用途的任意卷 ID。
-
为快照复制操作指定的资源级权限仅适用于新快照。您不能为源快照指定资源级权限。有关示例,请参阅示例:复制快照。
定价
-
有关跨 Amazon 区域和账户复制快照的定价信息,请参阅 Amazon EBS 定价
。 -
只要快照副本的加密状态不更改,单个账户和区域内的快照复制操作就完全不会复制任何实际数据,因此是免费的。
-
如果将快照复制到新 KMS 密钥并将其加密,则会创建完整(非增量)副本。这会产生额外的存储成本。
-
如果将快照复制到新区域,则会创建完整(非增量)副本。这会产生额外的存储成本。同一快照的后续副本是增量副本。
增量快照复制
快照副本是否为增量副本是由最近完成的快照复制决定的。在跨区域或账户复制快照时,如果满足以下条件,则副本为增量副本:
-
快照以前已复制到目标区域或账户。
-
最新的快照副本仍位于目标区域或账户中。
-
目标区域或账户中的所有快照副本均未加密,或者是使用同一 KMS 密钥加密的。
如果删除了最新的快照副本,则下一个副本是完整副本,而不是增量副本。如果某个副本在您启动另一个副本时仍处于挂起状态,则第二个副本仅在第一个副本完成后才开始。
增量快照复制会缩短复制快照所需的时间,并且不会复制数据,从而节省数据传输和存储成本。
我们建议您使用卷 ID 和创建时间来标记快照,以便在目标区域或账户中跟踪卷的最新快照副本。
要确定快照副本是否为增量副本,请检查 copySnapshot CloudWatch 事件。
加密和快照复制
在复制快照时,您可以加密副本,也可以指定一个与原始快照不同的 KMS 密钥,这样,生成的快照副本将使用新 KMS 密钥。但是,在复制操作过程中更改快照的加密状态可能会生成完整(非增量)副本,这可能产生更多的数据传输和存储费用。有关更多信息,请参阅增量快照复制。
要复制从其他 Amazon 账户共享的加密快照,您必须拥有使用该快照以及用于加密快照的客户主密钥 (CMK) 的权限。使用与您共享的加密快照时,我们建议您使用您拥有的 KMS 密钥复制快照以对其进行重新加密。这样,即使原始 KMS 密钥泄露或拥有者将其撤销,您也不会失去对使用快照创建的任何加密卷的访问权限。有关更多信息,请参阅共享 Amazon EBS 快照。
您可以将 Encrypted
参数设置为 true
,以将加密应用到 EBS 快照副本。(如果启用了默认加密,Encrypted
参数是可选的)。
或者,您可以使用 KmsKeyId
指定要用于加密快照副本的自定义密钥。(即使启用了默认加密,也必须将 Encrypted
参数设置为 true
。) 如果未指定 KmsKeyId
,则用于加密的密钥取决于源快照的加密状态及其所有权。
下表描述了每种可能的设置组合的加密结果。
加密结果:复制您拥有的快照
默认加密 | 是否设置了 Encrypted 参数? |
源快照加密状态 | 默认值(未指定 KMS 密钥) | 自定义(已指定 KMS 密钥) |
---|---|---|---|---|
已禁用 | 否 | 未加密 | 未加密 | 不适用 |
已加密 | 由 Amazon 托管式密钥 加密 | |||
是 | 未加密 | 由默认 KMS 密钥加密 | 由指定的 KMS 密钥加密** | |
已加密 | 由默认 KMS 密钥加密 | |||
已启用 | 否 | 未加密 | 由默认 KMS 密钥加密 | 不适用 |
已加密 | 由默认 KMS 密钥加密 | |||
是 | 未加密 | 由默认 KMS 密钥加密 | 由指定的 KMS 密钥加密** | |
已加密 | 由默认 KMS 密钥加密 |
** 这是为复制操作指定的客户托管密钥。将为 Amazon 账户和区域使用此客户托管密钥,而不是使用默认的客户托管密钥。
加密结果:复制与您共享的快照
默认加密 | 是否设置了 Encrypted 参数? |
源快照加密状态 | 默认值(未指定 KmsKeyId) | 自定义(已指定 KmsKeyId) |
---|---|---|---|---|
已禁用 | 否 | 未加密 | 未加密 | 不适用 |
已加密 |
由 Amazon 托管式密钥 加密 | |||
是 | 未加密 | 由默认 KMS 密钥加密 | 由指定的 KMS 密钥加密** | |
已加密 |
由默认 KMS 密钥加密 | |||
已启用 | 否 | 未加密 | 由默认 KMS 密钥加密 | 不适用 |
已加密 |
由默认 KMS 密钥加密 | |||
是 | 未加密 | 由默认 KMS 密钥加密 | 由指定的 KMS 密钥加密** | |
已加密 |
由默认 KMS 密钥加密 |
** 这是为复制操作指定的客户托管密钥。将为 Amazon 账户和区域使用此客户托管密钥,而不是使用默认的客户托管密钥。
复制快照
要复制快照,请使用以下方法之一。
检查是否失败
如果您在未获得加密密钥使用权限的情况下试图复制加密快照,则操作将失败,且系统不会提示。您刷新页面后,控制台才会显示错误状态。您还可以通过命令行检查快照的状态,如以下示例所示。
aws ec2 describe-snapshots --snapshot-id snap-0123abcd
如果复制因密钥权限不足而失败,您将看到以下消息:"StateMessage": "Given key ID is not accessible"
。
在复制加密的快照时,您必须对默认 CMK 具有 DescribeKey
权限。显式拒绝这些权限将导致复制失败。有关管理 CMK 密钥的信息,请参阅控制对客户主密钥的访问权限。