Amazon 数据生命周期管理器 - Amazon Elastic Compute Cloud

Amazon 数据生命周期管理器

您可以使用 Amazon 数据生命周期管理器 来自动创建、保留和删除 EBS 快照和 EBS 支持的 AMI。当您执行自动快照和 AMI 管理时,它可以帮助您:

  • 通过实施定期备份计划来保护重要数据。

  • 创建可定期刷新的标准化 AMI。

  • 按照审核员的要求或内部合规性保留备份。

  • 通过删除过时的备份来降低存储成本。

  • 创建将数据备份到隔离账户的灾难恢复备份策略。

结合使用 Amazon CloudWatch Events 和 AWS CloudTrail 的监控功能时,Amazon Data Lifecycle Manager 可提供针对 Amazon EC2 实例和单独的 EBS 卷的完整备份解决方案,而不会额外收费。

重要

Amazon Data Lifecycle Manager 不能用于管理通过任何其他方式创建的快照或 AMI。

Amazon Data Lifecycle Manager 不能用于自动创建、保留和删除由实例存储支持的 AMI。

Amazon Data Lifecycle Manager 的工作原理

以下是 Amazon Data Lifecycle Manager 的关键要素。

Snapshots

快照是备份 EBS 卷中的数据的主要方式。为节省存储成本,连续快照为增量快照,只包含自上一个快照以来更改的卷数据。在您删除卷的一系列快照中的一个快照时,只删除该快照独有的数据。将保留卷的其余捕获历史记录。

有关更多信息,请参阅 Amazon EBS 快照

EBS 支持的 AMI

Amazon 系统映像 (AMI) 提供启动实例所需的信息。在需要具有相同配置的多个实例时,您可以从单个 AMI 启动多个实例。Amazon Data Lifecycle Manager 仅支持 EBS 支持的 AMI。EBS 支持的 AMI 包括挂载到源实例的每个 EBS 卷的快照。

有关更多信息,请参阅 Amazon 系统映像 (AMI)

定位资源标签

Amazon Data Lifecycle Manager 使用资源标签来标识要备份的资源。标签是可分配到 AWS 资源(包括 Amazon EC2 实例、EBS 卷和快照)的可自定义元数据。Amazon Data Lifecycle Manager 策略(如下文所述)使用单个标签定位实例或卷以进行备份。如果您希望在某个实例或卷上运行多个策略,可以为其分配多个标签。

在标签键中不能使用“\”或“=”字符。

有关更多信息,请参阅 标记 Amazon EC2 资源

Amazon Data Lifecycle Manager 标签

Amazon Data Lifecycle Manager 对通过策略创建的所有快照和 AMI 应用以下标签,以便与通过任何其他方法创建的快照和 AMI 区分开来:

  • aws:dlm:lifecycle-policy-id

  • aws:dlm:lifecycle-schedule-name

  • aws:dlm:expirationTime

  • dlm:managed

还可以在创建时指定要应用于快照和 AMI 的自定义标签。在标签键中不能使用“\”或“=”字符。

Amazon Data Lifecycle Manager 用于将卷与快照策略关联的目标标签可以选择性地应用于策略创建的快照。同样,用于将实例与 AMI 策略关联的目标标签也可以选择性地应用于策略创建的 AMI。

生命周期策略

生命周期策略包括以下核心设置:

  • Policy type (策略类型) – 定义策略可以管理的资源类型。Amazon Data Lifecycle Manager 支持两种类型的生命周期策略:

    • 快照生命周期策略—用于自动化 EBS 快照的生命周期。这些策略可以针对 EBS 卷和实例。

    • EBS 支持的 AMI 生命周期策略—用于自动化 EBS 支持的 AMI 的生命周期。这些策略只能针对实例。

    • 跨账户复制事件策略—用于跨账户自动复制快照。此策略类型应与跨账户共享快照的 EBS 快照策略结合使用。

  • Resource type (资源类型)—定义策略所针对的资源类型。快照生命周期策略可以针对实例或卷。使用 VOLUME 创建单个卷的快照,或使用 INSTANCE 创建挂载到实例的所有卷的多卷快照。有关更多信息,请参阅 多卷快照。AMI 生命周期策略只能针对实例。创建一个 AMI,其中包含挂载到目标实例的所有卷的快照。

  • Target tags (目标标签)—指定必须分配给 EBS 卷或 Amazon EC2 实例才能成为策略目标的标签。

  • Schedules (计划)—创建快照或 AMI 的开始时间和时间间隔。第一个快照或 AMI 创建操作在指定开始时间之后的一小时内启动。后续快照或 AMI 创建操作将在计划时间的一小时内开始。一个策略最多可以有四个计划:一个强制要求的计划和最多三个可选计划。有关更多信息,请参阅 政策计划

  • 保留—指定如何保留快照或 AMI。您可以根据快照或 AMI 的总计数(基于计数)或存在时间(基于存在时间)来保留快照或 AMI。对于快照策略,当达到保留阈值时,将删除最早的快照。对于 AMI 策略,当达到保留阈值时,最早的 AMI 将被取消注册并删除其备份快照。

例如,您可以使用类似以下内容的设置创建策略:

  • 管理标签中包含 account 键和 finance 值的所有 EBS 卷。

  • 24 小时在 0900 UTC 创建快照。

  • 只保留最新的五个快照。

  • 每天不晚于 0959 UTC 开始创建快照。

政策计划

策略计划定义策略创建快照或 AMI 的时间。策略最多可以有四个计划—一个强制要求的计划和最多三个可选计划。

在单个策略中添加多个计划,可让您使用同一策略按不同频率创建快照或 AMI。例如,您可以创建一个策略来按每日、每周、每月和每年的频率创建快照。这样就无需管理多个策略。

对于每个计划,您可以定义频率、快速快照还原设置(仅限快照生命周期策略)、跨区域复制规则和标签。分配给计划的标签将自动分配给触发计划时创建的快照或 AMI。此外,Amazon Data Lifecycle Manager 还会根据计划的频率自动为每个快照或 AMI 分配系统生成的标签。

每个计划都会根据其频率单独触发。如果同时触发多个计划,Amazon Data Lifecycle Manager 只会创建一个快照或 AMI,并采用保留期限最长的计划保留设置。触发的所有计划的标签都会应用于该快照或 AMI。

  • (仅限快照生命周期策略)如果为触发的多个计划启用了快速快照还原,则会在所有触发的计划中指定的所有可用区内为该快照启用快速快照还原。为每个可用区使用所触发计划的最长保留期限设置。

  • 如果为触发的多个计划启用了跨区域复制,则该快照或 AMI 会被复制到触发的所有计划中指定的所有区域。应用所触发计划的最长保留期限。

Amazon Data Lifecycle Manager 的注意事项

您的AWS账户具有以下与 Amazon Data Lifecycle Manager 相关的配额:

  • 您最多可以为每个区域创建 100 个生命周期策略。

  • 您最多可以为每个资源添加 45 个标签。

以下注意事项适用于生命周期策略:

  • 在您将策略的激活状态设置为已启用后,策略才开始创建快照或 AMI。您可以在创建时将策略配置为已启用。

  • 第一个快照或 AMI 创建操作在指定开始时间之后的一小时内启动。后续快照或 AMI 创建操作将在计划时间的一小时内开始。

  • 如果您通过删除或更改目标标签来修改策略,则具有这些标签的 EBS 卷或实例将不再受此策略管理。

  • 如果您修改策略的计划名称,则在旧计划名称下创建的快照或 AMI 将不再受此策略的影响。

  • 如果您修改基于时间的保留计划以使用新的时间间隔,则新间隔仅用于在更改之后创建的新快照或 AMI。新计划不影响更改之前创建的快照或 AMI 的保留计划。

  • 创建后,您无法将策略的保留计划从基于计数更改为基于时间。要进行该更改,您必须创建新的策略。

  • 如果您禁用了其保留计划基于存在时间的策略,则设置为在禁用策略期间过期的快照或 AMI 将无限期地保留。您必须删除快照或手动取消注册 AMI。再次启用该策略时,Amazon Data Lifecycle Manager 会在快其保留期限过期时继续删除快照或取消注册 AMI。

  • 如果您删除应用基于计数的保留策略的资源,则此策略不再管理以前创建的快照或 AMI。如果不再需要,您必须手动删除这些快照或取消注册 AMI。

  • 如果您删除应用基于存在时间的保留策略的资源,则该策略将继续按照定义的计划删除快照或取消注册 AMI,直至(但不包括)最后一个快照或 AMI。如果不再需要,您必须手动删除最后一个快照或取消注册最后一个 AMI。

  • 您可以创建多个策略来备份 EBS 卷或 Amazon EC2 实例。例如,如果 EBS 卷有两个标签,其中标签 A 是每 12 小时创建一次快照的策略 A 的目标,标签 B 是每 24 小时创建一次快照的策略 B 的目标,则 Amazon Data Lifecycle Manager 将根据这两个策略的计划创建快照。或者,您可以通过创建包含多个计划的单个策略来实现相同的结果。例如,您可以创建仅针对标签 A 的单个策略,并指定两个计划 — 分别用于每 12 小时和每 24 小时一次的策略。

  • 如果您创建了以实例为目标的策略,并且在创建策略后将新卷挂载到实例,则在下次运行策略时,新添加的卷将包含在备份中。策略运行时挂载到实例的所有卷都包括在内。

  • 对于 AMI 生命周期策略,当达到 AMI 保留阈值时,最早的 AMI 将被取消注册并删除其备份快照。

  • 如果将拥有自定义基于 Cron 的计划和基于年龄或基于计数的保留规则的策略配置为仅创建一个快照或 AMI,则在达到保留阈值时,该策略不会自动删除该快照或 AMI。如果不再需要,您必须手动删除快照或取消注册 AMI。

以下注意事项适用于快照生命周期策略和快速快照还原

  • 即使您删除或禁用生命周期策略,为生命周期策略禁用快速快照还原,或者为可用区禁用快速快照还原,已启用快速快照还原的快照也会保持启用状态。您可以手动为这些快照禁用快速快照还原。

  • 如果您启用快速快照还原,并且超过可启用快速快照还原的最大快照数,Amazon Data Lifecycle Manager 将按计划创建快照,但不会为其启用快速快照还原。在删除启用了快速快照还原的快照后,将为 Amazon Data Lifecycle Manager 创建的下一个快照启用快速快照还原。

  • 在为快照启用快速快照还原时,每个 TiB 需要 60 分钟来优化快照。我们建议您创建一个计划,以确保在 Amazon Data Lifecycle Manager 创建下一个快照之前对每个快照进行完全优化。

  • 对于为特定可用区中快照启用的快速快照还原,您需要按每分钟支付费用。收费按比例计算,最少 1 小时。有关更多信息,请参阅 定价和计费

    注意

    根据生命周期策略的配置,您可以为快速快照还原同时启用多个快照。

以下注意事项适用于快照生命周期策略和启用 Multi-Attach (多重挂载) 的卷:

  • 在为多卷快照创建基于实例标签的生命周期策略时,Amazon 数据生命周期管理器 为每个附加的实例启动卷的快照。使用时间戳标签来标识从附加实例创建的时间一致的快照集。

跨帐户共享快照时需考虑以下事项:

  • 您只能共享未加密的快照或使用 客户托管密钥 加密的快照。

  • 您无法共享使用默认 EBS 加密 KMS 密钥 加密的快照。

  • 如果您共享加密快照,则还必须与目标账户共享用于加密源卷的 KMS 密钥。有关更多信息,请参阅 AWS Key Management Service 开发人员指南中的允许其他账户中的用户使用 KMS 密钥

跨帐户复制事件策略时需考虑以下事项:

  • 您只能复制未加密的快照或使用 客户托管密钥 加密的快照。

  • 您可以创建跨账户复制事件策略,用于复制在 Amazon Data Lifecycle Manager 外部共享的快照。

  • 如果要加密目标账户中的快照,则为跨账户复制事件策略选择的 IAM 角色必须拥有使用所需 KMS 密钥 的权限。

Prerequisites

Amazon Data Lifecycle Manager 需要满足以下先决条件。

Amazon Data Lifecycle Manager 权限

Amazon Data Lifecycle Manager 使用 IAM 角色来获取代表您管理快照和 AMI 所需的权限。Amazon Data Lifecycle Manager 在您首次使用 AWS Management Console 创建生命周期策略时,将创建以下默认角色。

  • AWSDataLifecycleManagerDefaultRole 用于管理快照的 — 默认角色。它在您首次使用控制台创建快照生命周期策略时创建。

  • AWSDataLifecycleManagerDefaultRoleForAMIManagement 用于管理 AMI 的 — 默认角色。它在您首次使用控制台创建 AMI 生命周期策略时创建。

您还可以使用 create-default-role 命令手动创建此角色。对于 --resource-type,根据要创建的角色,指定以下选项之一:

  • snapshot—创建用于管理快照生命周期策略的默认角色

  • image—创建用于管理 AMI 生命周期策略的默认角色

aws dlm create-default-role --resource-type snapshot|image

或者,您可以在创建生命周期策略时创建具有所需权限的自定义 IAM 角色并选择它们。

创建自定义 IAM 角色

  1. 创建具有以下权限的角色。

    • 用于管理快照生命周期策略的权限

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateSnapshot", "ec2:CreateSnapshots", "ec2:DeleteSnapshot", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:EnableFastSnapshotRestores", "ec2:DescribeFastSnapshotRestores", "ec2:DisableFastSnapshotRestores", "ec2:CopySnapshot", "ec2:ModifySnapshotAttribute", "ec2:DescribeSnapshotAttribute" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Effect": "Allow", "Action": [ "events:PutRule", "events:DeleteRule", "events:DescribeRule", "events:EnableRule", "events:DisableRule", "events:ListTargetsByRule", "events:PutTargets", "events:RemoveTargets" ], "Resource": "arn:aws:events:*:*:rule/AwsDataLifecycleRule.managed-cwe.*" } ] }
    • 用于管理 AMI 生命周期策略的权限

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*::image/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeImageAttribute", "ec2:DescribeVolumes", "ec2:DescribeSnapshots" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DeleteSnapshot", "Resource": "arn:aws:ec2:*::snapshot/*" }, { "Effect": "Allow", "Action": [ "ec2:ResetImageAttribute", "ec2:DeregisterImage", "ec2:CreateImage", "ec2:CopyImage", "ec2:ModifyImageAttribute" ], "Resource": "*" }] }

    有关更多信息,请参阅IAM 用户指南中的创建角色

  2. 向角色添加信任关系。

    1. 在 IAM 控制台中,选择角色

    2. 选择您创建的角色,然后选择信任关系

    3. 选择编辑信任关系,添加以下策略,然后选择更新信任策略

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dlm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

IAM 用户的权限

IAM 用户必须具有以下权限才能使用 Amazon Data Lifecycle Manager。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iam:PassRole", "iam:ListRoles"], "Resource": "arn:aws:iam::123456789012:role/AWSDataLifecycleManagerDefaultRole" }, { "Effect": "Allow", "Action": "dlm:*", "Resource": "*" }] }

有关更多信息,请参阅 IAM 用户指南 中的更改 IAM 用户的权限

加密权限

如果源卷已加密,请确保 Amazon Data Lifecycle Manager 默认角色(AWSDataLifecycleManagerDefaultRoleAWSDataLifecycleManagerDefaultRoleForAMIManagement)有权使用用于加密卷的 KMS 密钥。

如果您为未加密快照或未加密快照支持的 AMI 启用跨区域复制,并选择在目标区域中启用加密,请确保默认角色有权使用在目标区域中执行加密所需的 KMS 密钥。

如果您为加密快照或加密快照支持的 AMI 启用跨区域复制,请确保默认角色有权同时使用源和目标 KMS 密钥。

有关更多信息,请参阅 AWS Key Management Service 开发人员指南中的允许其他账户中的用户使用 KMS 密钥