复制 Amazon EBS 快照 - Amazon EBS

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

复制 Amazon EBS 快照

借助 AmazonEBS,您可以创建卷的 point-in-time 快照,我们将这些快照存储在 Amazon S3 中。创建快照并完成复制到 Amazon S3(当快照状态为completed)后,您可以将其从一个 AWS 区域复制到另一个区域,或者复制到同一区域。Amazon S3 服务器端加密(256 位AES)可在复制操作期间保护快照传输中的数据。快照副本将获得与原始快照 ID 不同的 ID。

要将多卷快照复制到另一个 AWS 区域,请使用您在创建多卷快照集时应用于该快照集的标签来检索快照。然后分别将快照复制到另一个区域。

如果您希望其他账户能够复制您的快照,则必须修改快照权限以允许访问该账户,或者将快照公开,以便所有 AWS 账户都能复制快照。有关更多信息,请参阅 共享 Amazon EBS 快照

有关复制亚马逊RDS快照的信息,请参阅《亚马逊RDS用户指南》中的复制数据库快照

用例
  • 地理扩张:在新 AWS 地区启动您的应用程序。

  • 迁移:将应用程序迁移到新区域,以实现更好的可用性以及最大限度地降低成本。

  • 灾难恢复:在不同的地理位置定期备份您的数据和日志。发生灾难时,您可以使用存储在辅助区域中的 point-in-time 备份来恢复应用程序。该操作能够让数据丢失和恢复时间降至最低。

  • 加密:对之前未加密的快照进行加密、更改用于加密快照的密钥,或创建您拥有的副本以从中创建卷(用于与您共享的加密快照)。

  • 数据保留和审计要求:将加密EBS快照从一个 AWS 账户复制到另一个账户,以保留数据日志或其他文件以供审计或数据保留。使用其他帐户有助于防止意外删除快照,并在您的主 AWS 帐户遭到盗用时保护您。

先决条件

  • 您可以复制任何状态为 completed 的可访问快照,包括共享快照和您创建的快照。

  • 您可以复制 AWS Marketplace、虚拟机导入/导出和 Storage Gateway 快照,但必须验证目标区域是否支持该快照。

  • 要复制加密快照,您的用户必须具有以下权限才能使用 Amazon EBS 加密。

    • kms:DescribeKey

    • kms:CreateGrant

    • kms:GenerateDataKey

    • kms:GenerateDataKeyWithoutPlaintext

    • kms:ReEncrypt

    • kms:Decrypt

  • 要复制从其他 AWS 账户共享的加密快照,您必须有权使用用于加密快照的客户托管密钥。有关更多信息,请参阅 共享密KMS钥

注意事项

  • 每个目标区域限制并发快照复制请求不得超过 20 个。如果您超出此配额,会收到 ResourceLimitExceeded 错误。如果收到此错误,请等待一个或多个复制请求完成,然后再发出新的快照复制请求。

  • 用户定义的标签不会从源快照复制到新快照。您可以在复制操作期间或之后添加用户定义的标签。

  • 由快照复制操作创建的快照具有任意性的卷 ID,例如 vol-ffffvol-ffffffff。这些任意音量IDs不应用于任何目的。

  • 为快照复制操作指定的资源级权限仅适用于新快照。您不能为源快照指定资源级权限。有关示例,请参阅示例:复制快照

定价

  • 有关跨 AWS 区域和账户复制快照的定价信息,请参阅 Amazon EBS 定价

  • 如果您复制快照并将其加密为新KMS密钥,则会创建完整(非增量)副本。这会产生额外的存储成本。

  • 如果您将快照复制到新区域,则会创建完整(非增量)副本。这会产生额外的存储成本。同一快照的后续副本是增量副本。

  • 如果您使用外部或跨区域数据传输,则将收取额外EC2的数据传输费用。而且,如果在启动后删除任何快照,仍需要为已传输的数据付费。

增量快照复制

快照副本是否为增量副本是由最近完成的快照复制决定的。在跨区域或账户复制快照时,如果满足以下条件,则副本为增量副本:

  • 快照以前已复制到目标区域或账户。

  • 最新的快照副本仍位于目标区域或账户中。

  • 最新的快照副本尚未存档。

  • 目标区域或账户中的所有快照副本要么未加密,要么使用相同的KMS密钥进行加密。

如果删除了最新的快照副本,则下一个副本是完整副本,而不是增量副本。如果某个副本在您启动另一个副本时仍处于挂起状态,则第二个副本仅在第一个副本完成后才开始。

使用相同KMS密钥在同一账户和区域内执行快照复制操作会生成增量复制。

增量快照复制会缩短复制快照所需的时间,并且不会复制数据,从而节省数据传输和存储成本。

我们建议您使用卷 ID 和创建时间来标记快照,以便在目标区域或账户中跟踪卷的最新快照副本。

要查看您的快照副本是否为增量副本,请检查copySnapshot CloudWatch 事件。

加密和快照复制

复制快照时,您可以加密副本,也可以指定与原始快照不同的KMS密钥,生成的复制快照使用新KMS密钥。但是,在复制操作过程中更改快照的加密状态可能会生成完整(非增量)副本,这可能产生更多的数据传输和存储费用。有关更多信息,请参阅 增量快照复制

要复制从其他 AWS 账户共享的加密快照,您必须有权使用快照和用于加密快照的客户托管密钥 (CMK)。使用与您共享的加密快照时,我们建议您使用自己拥有的密KMS钥复制快照来重新加密快照。如果原始KMS密钥被泄露,或者所有者撤消了密钥,这可能会导致您无法访问使用快照创建的任何加密卷,这将保护您。有关更多信息,请参阅 共享 Amazon EBS 快照

通过将Encrypted参数设置为,可以对EBS快照副本应用加密true。(如果启用了默认加密Encrypted 参数是可选的)。

或者,您可以使用 KmsKeyId 指定要用于加密快照副本的自定义密钥。(即使启用了默认加密,也必须将 Encrypted 参数设置为 true。) 如果未指定 KmsKeyId,则用于加密的密钥取决于源快照的加密状态及其所有权。

下表描述了在复制您拥有的快照以及与您共享的快照时,每种可能设置组合的加密结果。

主题
    默认加密 是否设置了 Encrypted 参数? 源快照加密状态 默认(未指定KMS密钥) 自定义(已指定KMS密钥)
    已禁用 未加密 未加密 不适用
    已加密 加密者为 AWS 托管式密钥
    未加密 按默认KMS密钥加密 通过指定密KMS钥加密**
    已加密 按默认KMS密钥加密
    已启用 未加密 按默认KMS密钥加密 不适用
    已加密 按默认KMS密钥加密
    未加密 按默认KMS密钥加密 通过指定密KMS钥加密**
    已加密 按默认KMS密钥加密

    ** 这是复制快照操作中指定的KMS密钥。使用此KMS密钥代替账户和地区的默认KMS密钥。

    复制快照

    要复制快照,请使用以下方法之一。

    Console
    使用控制台复制快照
    1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

    2. 在导航窗格中,选择快照

    3. 选择要复制的快照,然后选择 Actions(操作)、Copy snapshot(复制快照)。

    4. (可选)在 Description (描述)中,输入快照副本的简短描述。

      在默认情况下,描述包括源快照的相关信息,以便您能区别副本和原始内容。您可以按需更改此描述。

    5. 对于 Destination Region(目标区域),选择要在其中创建快照副本的区域。

    6. 指定快照副本的加密状态。

      如果源快照已加密,或者您的账户已启用默认加密,快照副本会自动加密,您无法更改其加密状态。

      如果源快照未加密,并且在默认情况下未为您的账户启用加密,则您可以选择启用或禁用加密。要加密快照副本,请在 Encryption(加密)中选择 Encrypt this snapshot(加密快照)。然后,对于KMS密钥,选择用于在目标区域中加密快照的密KMS钥。

    7. 选择复制快照

    AWS CLI
    要使用复制快照 AWS CLI

    使用 copy-snapshot 命令。

    Tools for Windows PowerShell
    使用适用于 Windows 的工具复制快照 PowerShell

    使用Copy-EC2Snapshot命令。

    检查是否失败

    如果您在未获得加密密钥使用权限的情况下试图复制加密快照,则操作将失败,且系统不会提示。您刷新页面后,控制台才会显示错误状态。您还可以通过命令行检查快照的状态,如以下示例所示。

    aws ec2 describe-snapshots --snapshot-id snap-0123abcd

    如果由于密钥权限不足而导致复制失败,您会看到以下消息:” StateMessage “: “无法访问给定的密钥 ID”

    复制加密快照时,您必须拥有默认快照的DescribeKey权限CMK。显式拒绝这些权限将导致复制失败。有关管理CMK密钥的信息,请参阅的身份验证和访问控制 AWS KMS