自动化快照生命周期 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

自动化快照生命周期

以下程序说明了如何使用 Amazon Data Lifecycle Manager 来自动执行 Amazon EBS 快照生命周期。

使用以下过程之一创建快照生命周期策略。

New console

要创建快照策略

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,依次选择 Elastic Block StoreLifecycle Manager (生命周期管理器),然后选择 Create lifecycle policy (创建生命周期策略)。

  3. Select policy type (选择策略类型) 页面,选择 EBS snapshot policy (EBS 快照策略),然后选择 Next (下一步)

  4. Target Resources (目标资源) 部分,执行以下操作:

    1. 对于 Target resource types (目标资源类型),选择要备份的资源的类型。选择 Volume 创建各个卷的快照,或选择 Instance 从挂载到实例的卷创建多卷快照。

    2. (仅限 Amazon Outpost 客户)对于 Target resource location (目标资源位置),指定源资源的位置。

      • 如果源资源位于某个 Amazon 区域中,请选择 Amazon 区域。Amazon Data Lifecycle Manager 仅备份当前区域中所有具有匹配目标标签的指定类型资源。如果资源位于某个区域中,则由策略创建的快照将存储在同一区域中。

      • 如果源资源位于您的账户中的 Outpost 上,请选择 Amazon Outpost。Amazon Data Lifecycle Manager 将备份您的账户中所有 Outpost 上具有匹配目标标签的全部指定类型资源。如果资源位于 Outpost 上,则策略创建的快照可以存储在资源所在同一区域或 Outpost 上。

      • 如果您的账户中没有任何 Outposts,此选项将被隐藏,且已为您选择 Amazon 区域。

    3. 对于 Target resource tags (目标资源标签),选择标识要备份的卷或实例的资源标签。策略只备份具有指定标签键和值对的资源。

  5. 对于 Description (描述),输入策略的简短描述。

  6. 对于 IAM role (IAM 角色),选择一个有权管理快照以及描述卷和实例的 IAM 角色。要使用 Amazon Data Lifecycle Manager 提供的默认角色。请选择 Default role (默认角色)。或者,要使用您之前创建的自定义 IAM 角色,请选择 Choose another role (选择其他角色),然后选择要使用的角色。

  7. 对于 Policy tags (策略标签),选择要应用于生命周期策略的标签。您可以使用这些标签对策略进行标识和分类。

  8. 对于创建后的策略状态,选择启用策略,以在下次计划时间启动策略运行,或者选择禁用策略,以禁止策略运行。如果您现在不启用该策略,则该策略仅在创建后手动启用之后开始创建快照。

  9. 选择 Next (下一步)

  10. Configure schedule (配置计划) 页面配置策略计划。一个策略最多可以有 4 个计划。计划 1 是强制要求的计划。计划 2、3、4 是可选计划。对于您添加的每个策略计划,请执行以下操作:

    1. Schedule details (计划详细信息) 部分执行以下操作:

      1. 对于 Schedule name (计划名称),请指定计划的描述性名称。

      2. Frequency (频率) 和相关字段中配置策略运行之间的间隔。您可以按每日、每周、每月或每年计划配置策略运行。或者,选择 Custom cron expression (自定义 Cron 表达式) 以指定不超过一年的间隔时间。有关更多信息,请参阅 Amazon CloudWatch Events 用户指南 中的 Cron 表达式

      3. 对于 Starting at (开始于),指定计划开始运行策略的时间。第一次策略运行在计划时间之后的一小时内开始。时间必须输入 hh:mm UTC 格式。

      4. 对于 Retention type (保留类型),指定计划创建的快照的保留策略。您可以根据其总计数或存在时间保留快照。

        对于基于计数的保留,范围为 11000。在达到最大计数后,将在创建新快照时删除最早的快照。

        对于基于存在时间的保留,范围是 1 天到 100 年。在每个快照的保留期过期后,将删除它。

        注意

        所有计划必须具有相同的保留类型。您只能为“计划 1”指定保留类型。计划 2、3、4 会继承计划 1 的保留类型。每个计划都可以有自己的保留计数或期限。

      5. (仅限 Amazon Outposts 客户)对于 Snapshot destination (快照目标),指定策略创建的快照的目标位置。

        • 如果策略以区域中的资源为目标,则须在同一区域中创建快照。Amazon已选定您的区域。

        • 如果策略的目标是 Outpost 上的资源,您可以选择在源资源所在同一 Outpost 上创建快照,或者在与 Outpost 关联的区域中创建快照。

        • 如果您的账户中没有任何 Outposts,此选项将被隐藏,且已为您选择 Amazon 区域。

    2. 请在 Tagging (标记) 部分执行以下操作:

      1. 要将所有用户定义的标签从源卷复制到计划创建的快照,请选择 Copy tags from source (从源复制标记)

      2. 要指定分配给由该计划创建的快照的其他标签,请选择 Add tags (添加标签)

    3. 要为计划创建的快照启用快速快照还原,请在 Fast snapshot restore (快速快照还原) 部分选择 Enable fast snapshot restore (启用快速快照还原)。如果您启用快速快照还原,则必须选择要在其中启用该功能的可用区。如果计划使用基于时间的保留计划,则必须指定为每个快照启用快速快照还原的时间段。如果计划使用基于计数的保留,您必须指定要启用快速快照还原的最大快照数。

      如果计划在 Outpost 上创建快照,则无法启用快速快照还原。存储在 Outpost 上的本地快照不支持快速快照还原。

      注意

      对于为特定可用区中快照启用的快速快照还原,您需要按每分钟支付费用。收费按比例计算,最少 1 小时。

    4. 要将计划创建的快照复制到 Outpost 或其他区域,请在 Cross-Region copy (跨区域复制) 部分选择 Enable cross-Region copy (启用跨区域复制)

      如果计划在区域中创建快照,则您可以将快照复制到账户中最多三个其他区域 或 Outpost。您必须为每个目标区域或 Outpost 指定单独的跨区域复制规则。

      对于每个区域或 Outpost,您可以选择不同的保留策略,还可以选择复制所有标签还是不复制任何标签。如果源快照已加密或默认启用加密,则会加密已复制的快照。如果源快照未加密,您可以启用加密。如果未指定 KMS 密钥,则会在每个目标区域中使用 EBS 加密的默认 KMS 密钥 对快照进行加密。如果您为目标区域指定 KMS 密钥,则选定的 IAM 角色必须具有对 KMS 密钥 的访问权限。

      注意

      您必须确保没有超过每个区域的并发快照副本数。

      如果策略在 Outpost 上创建快照,则无法将快照复制到区域或另一个 Outpost,并且跨区域复制设置不可用。

    5. Cross-account sharing (跨账户共享) 中,将策略配置为自动共享计划创建的快照与其他 Amazon 账户。执行以下操作:

      1. 要启用与其他 Amazon 账户共享,请选择 Enable cross-account sharing (启用跨账户共享)

      2. 要添加要与之共享快照的账户,请选择 Add account (添加账户),输入 12 位 Amazon 账户 ID,然后选择 Add (添加)

      3. 要在特定时间段后自动取消共享快照,请选择 Unshare automatically (自动取消共享)。如果您选择自动将共享快照取消共享,则自动取消快照共享前的持续时间不能超过策略保留其快照的期限。例如,如果策略的保留配置可将快照保留 5 天,则您可以将策略配置为在最多 4 天的时间后自动取消快照共享。这适用于采用基于存在时间和基于计数的快照保留配置的策略。

        如果不启用自动取消共享,快照将一直共享直至删除。

    6. 要添加其他计划,请选择位于页面顶部的 Add another schedule (添加其他计划)。每个其他计划请按照本主题之前所述填写字段。

    7. 添加所需计划之后,请选择 Review policy (查看策略)

  11. 查看策略摘要,然后选择 Create policy (创建策略)

Old console

要创建快照策略

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,依次选择 Elastic Block StoreLifecycle Manager (生命周期管理器),然后选择 Create lifecycle policy (创建生命周期策略)。

  3. 根据需要,为您的策略提供以下信息:

    • Description (描述)—策略的描述。

    • Policy type (策略类型)—要创建的策略的类型。选择 EBS snapshot policy (EBS 快照策略)

    • Resource type (资源类型) – 要备份的资源的类型。选择 Volume 创建各个卷的快照,或选择 Instance 从挂载到实例的卷创建多卷快照。

    • Resource location (资源位置) – 要备份的资源的位置。如果源资源位于某个 Amazon 区域中,请选择 Amazon 区域。如果源资源位于您的账户中的 Outpost 上,请选择 Amazon Outpost。如果您选择 Amazon Outpost,Amazon Data Lifecycle Manager 将备份您的账户中所有 Outpost 上具有匹配目标标签的全部指定类型资源。

      如果您的账户中没有任何 Outpost,则默认情况下会选择 Amazon 区域

      注意

      如果资源位于某个区域中,则由策略创建的快照将存储在同一区域中。如果资源位于 Outpost 上,则策略创建的快照可以存储在资源所在同一区域或 Outpost 上。

    • Target with these tags (具有这些标签的目标)— 标识要备份的卷或实例的资源标签。策略只备份具有指定标签键和值对的资源。

    • Policy tags (策略标签) – 要应用于生命周期策略的标签。

  4. 对于 IAM role (IAM 角色),请选择有权创建、删除和描述快照以及描述卷和实例的 IAM 角色。Amazon 提供默认角色,或者您可以创建自定义 IAM 角色。

  5. 添加策略计划。计划 1 是强制要求的计划。计划 2、3、4 是可选计划。对于您添加的每个策略计划,请指定以下信息:

    • Schedule name (计划名称)— 计划的名称。

    • Frequency (频率)— 策略运行之间的间隔。您可以按每日、每周、每月或每年计划配置策略运行。或者,选择 Custom cron expression (自定义 Cron 表达式) 以指定不超过一年的间隔时间。有关更多信息,请参阅 Amazon CloudWatch Events 用户指南 中的 Cron 表达式

    • Starting at (开始于)hh:mm UTC—计划开始运行策略的时间。第一次策略运行在计划时间之后的一小时内开始。

    • Retention type (保留类型) – 您可以根据其总计数或存在时间保留快照。对于基于计数的保留,范围为 1 到 1000。在达到最大计数后,将在创建新快照时删除最早的快照。对于基于存在时间的保留,范围是 1 天到 100 年。在每个快照的保留期过期后,将删除它。保留期应大于或等于间隔。

      注意

      所有计划必须具有相同的保留类型。您只能为“计划 1”指定保留类型。计划 2、3、4 会继承计划 1 的保留类型。每个计划都可以有自己的保留计数或期限。

    • Snapshot destination (快照目标) – 指定策略创建的快照的目标。要在源资源所在同一 Amazon 区域中创建快照,请选择 Amazon 区域。要在 Outpost 上创建快照,请选择 Amazon Outpost

      如果策略以区域中的资源为目标,则将在同一区域中创建快照,且无法在 Outpost 中创建快照。

      如果策略的目标是 Outpost 上的资源,则可以在源资源所在同一 Outpost 上创建快照,或者在与 Outpost 关联的区域中创建快照。

    • Copy tags from source (从源复制标记) – 选择是否将所有用户定义的标签从源卷复制到此计划创建的快照。

    • Variable tags (变量标签) – 如果源资源是实例,则可以选择使用以下变量标签自动标记您的快照:

      • instance-id—源实例的 ID。

      • timestamp – 策略运行的日期和时间。

    • Additional tags (其他标签) – 指定要分配给此计划创建的快照的任何其他标签。

    • Fast snapshot restore (快速快照还原) – 选择是否为此计划创建的所有快照启用快速快照还原。如果您启用快速快照还原,则必须选择要在其中启用该功能的可用区。对于为特定可用区中快照启用的快速快照还原,您需要按每分钟支付费用。收费按比例计算,最少 1 小时。您还可以指定可为快速快照还原启用的最大快照数。

      如果策略在 Outpost 上创建快照,则无法启用快速快照还原。存储在 Outpost 上的本地快照不支持快速快照还原。

    • Cross region copy (跨区域复制) – 如果策略在区域中创建快照,则您可以将快照复制到账户中最多三个其他区域 或 Outpost。您必须为每个目标区域或 Outpost 指定单独的跨区域复制规则。

      对于每个区域或 Outpost,您可以选择不同的保留策略,还可以选择复制所有标签还是不复制任何标签。如果源快照已加密或默认启用加密,则会加密已复制的快照。如果源快照未加密,您可以启用加密。如果未指定 KMS 密钥,则会在每个目标区域中使用 EBS 加密的默认 KMS 密钥 对快照进行加密。如果您为目标区域指定 KMS 密钥,则选定的 IAM 角色必须具有对 KMS 密钥 的访问权限。

      您必须确保没有超过每个区域的并发快照副本数。

      如果策略在 Outpost 上创建快照,则无法将快照复制到区域或另一个 Outpost,并且跨区域复制设置不可用。

  6. 对于创建后的策略状态,选择启用策略,以在下次计划时间启动策略运行,或者选择禁用策略,以禁止策略运行。

  7. 选择创建策略

Command line

可使用 create-lifecycle-policy 命令创建快照生命周期策略。对于 PolicyType,请指定 EBS_SNAPSHOT_MANAGEMENT

注意

为简化语法,以下示例使用包含策略详细信息的 JSON 文件 policyDetails.json

示例 1 —快照生命周期策略

此示例创建的快照生命周期策略可创建标签键 costcenter 的值为 115 的所有卷的快照。该策略包含两个计划。第一个计划在每天 3:00 UTC 创建快照。第二个计划在每周五 17:00 UTC 创建一个周快照。

aws dlm create-lifecycle-policy --description "My volume policy" --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json

以下是 policyDetails.json 文件的示例。

{ "PolicyType": "EBS_SNAPSHOT_MANAGEMENT", "ResourceTypes": [ "VOLUME" ], "TargetTags": [{ "Key": "costcenter", "Value": "115" }], "Schedules": [{ "Name": "DailySnapshots", "TagsToAdd": [{ "Key": "type", "Value": "myDailySnapshot" }], "CreateRule": { "Interval": 24, "IntervalUnit": "HOURS", "Times": [ "03:00" ] }, "RetainRule": { "Count": 5 }, "CopyTags": false }, { "Name": "WeeklySnapshots", "TagsToAdd": [{ "Key": "type", "Value": "myWeeklySnapshot" }], "CreateRule": { "CronExpression": "cron(0 17 ? * FRI *)" }, "RetainRule": { "Count": 5 }, "CopyTags": false } ]}

成功后,此命令将返回新创建的策略的 ID。下面是示例输出。

{ "PolicyId": "policy-0123456789abcdef0" }

示例 2—自动执行 Outpost 资源的本地快照的快照生命周期策略

此示例创建一个快照生命周期策略,该策略创建所有 Outpost 中带有 team=dev 标记的卷的快照。该策略在源卷所在的同一 Outpost 上创建快照。该策略从 12 UTC 开始每 00:00 小时创建一次快照。

aws dlm create-lifecycle-policy --description "My local snapshot policy" --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json

以下是 policyDetails.json 文件的示例。

{ "PolicyType": "EBS_SNAPSHOT_MANAGEMENT", "ResourceTypes": "VOLUME", "ResourceLocations": "OUTPOST", "TargetTags": [{ "Key": "team", "Value": "dev" }], "Schedules": [{ "Name": "on-site backup", "CreateRule": { "Interval": 12, "IntervalUnit": "HOURS", "Times": [ "00:00" ], "Location": [ "OUTPOST_LOCAL" ] }, "RetainRule": { "Count": 1 }, "CopyTags": false } ]}

示例 3—在区域中创建快照并将其复制到 Outpost 的快照生命周期策略

以下示例策略创建带 team=dev 标记的卷的快照。快照在源卷所在的同一区域中创建。从 12 UTC 开始,每 00:00 小时创建一次快照,并保留最多 1 个快照。该策略还会将快照复制到 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0,使用默认加密 KMS 密钥 对复制的快照进行加密,并将副本保留 1 个月。

aws dlm create-lifecycle-policy --description "Copy snapshots to Outpost" --state ENABLED --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole --policy-details file://policyDetails.json

以下是 policyDetails.json 文件的示例。

{ "PolicyType": "EBS_SNAPSHOT_MANAGEMENT", "ResourceTypes": "VOLUME", "ResourceLocations": "CLOUD", "TargetTags": [{ "Key": "team", "Value": "dev" }], "Schedules": [{ "Name": "on-site backup", "CopyTags": false, "CreateRule": { "Interval": 12, "IntervalUnit": "HOURS", "Times": [ "00:00" ], "Location": "CLOUD" }, "RetainRule": { "Count": 1 }, "CrossRegionCopyRules" : [ { "Target": "arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0", "Encrypted": true, "CopyTags": true, "RetainRule": { "Interval": 1, "IntervalUnit": "MONTHS" } }] } ]}