为支持的用户创建 Amazon Data Lifecycle Manager 自定义策略 EBS AMIs - Amazon EBS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为支持的用户创建 Amazon Data Lifecycle Manager 自定义策略 EBS AMIs

以下过程向您展示如何使用 Amazon Data Lifecycle Manager 自动执行EBS由支持的AMI生命周期。

创建AMI生命周期策略

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

Console
创建 AMI策略
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,依次选择 Elastic Block StoreLifecycle Manager,然后选择创建生命周期策略

  3. “选择策略类型” 屏幕上,选择 “EBS支持的AMI策略”,然后选择 “下一步”。

  4. 目标资源部分,对于目标资源标签,选择标识要备份的卷或实例的资源标签。策略只备份具有指定标签键和值对的资源。

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

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

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

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

  9. 实例重启部分,指明是否应在创建实例之前AMI重启实例。为了防止目标实例重启,请选择。选择可能会导致数据一致性问题。要在AMI创建实例之前重启实例,请选择。选择此选项可确保数据一致性,但可能导致多个目标实例同时重新启动。

  10. 选择下一步

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

    1. 计划详细信息部分中,执行以下操作:

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

      2. 频率和相关字段中配置策略运行之间的间隔。

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

      3. 对于开始时间,请指定策略开始运行策略的时间。第一次策略运行在计划时间之后的一小时内开始。您必须按照hh:mmUTC格式输入时间。

      4. 对于保留类型,请指定按计划AMIs创建的保留策略。

        您可以AMIs根据他们的总人数或年龄来保留。

        对于基于计数的保留,范围为 11000。达到最大数量后,当创建新计数时,最旧AMI的计数将被注销。

        对于基于存在时间的保留,范围是 1 天到 100 年。在每个保留期AMI到期后,它将被注销。

        注意

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

    2. 为配置标记。AMIs

      标记部分中,请执行以下操作:

      1. 要将所有用户定义的标签从源实例复制到计划AMIs创建的标签,请选择从源实例复制标记

      2. 默认情况下,由计划AMIs创建的会自动使用源实例的 ID 进行标记。要防止发生此自动标记,请在变量标签中,删除 instance-id:$(instance-id) 平铺。

      3. 要指定要分配给由此计划AMIs创建的其他标记,请选择添加标记

    3. 配置AMI弃用。

      要在不应再使用AMIs时将其弃用,请在 “AMI弃用” 部分中选择 “为此计划启用AMI弃用”,然后指定弃用规则。AMIAMI弃用规则指定何AMIs时弃用。

      如果计划使用基于计数的AMI保留期,则必须指定AMIs要弃用的最早保留的数量。弃用计数必须小于或等于计划的AMI留存计数,并且不能大于 1000。例如,如果将计划配置为最多保留 5 个AMIs,则可以将计划配置为弃用最AMIs旧的 5 个。

      如果计划使用基于年龄的AMI保留期,则必须指定不推荐使用的期限。AMIs弃用计数必须小于或等于计划的AMI保留期,并且不能超过 10 年(120 个月、520 周或 3650 天)。例如,如果计划配置AMIs为保留 10 天,则可以将计划配置为在创建AMIs后最多 10 天后弃用。

    4. 配置跨区域复制。

      要将计划AMIs创建的复制到不同的区域,请在跨区域复制部分中,选择启用跨区域复制。您最多可以复制AMIs到账户中的三个其他区域。您必须为每个目标区域指定单独的跨区域复制规则。

      对于每个目标地区,您可以指定以下内容:

      • AMI副本的保留政策。保留期限过期后,将自动取消注册目标区域中的副本。

      • AMI副本的加密状态。如果源AMI已加密,或者默认启用加密,则复制的内容始终AMIs处于加密状态。如果源AMI未加密且默认情况下加密处于禁用状态,则可以选择启用加密。如果您未指定KMS密钥,AMIs则在每个目标区域使用默认KMS密钥进行EBS加密。如果您为目标区域指定KMS密钥,则所选IAM角色必须有权访问该KMS密钥。

      • AMI副本的弃用规则。弃用期限到期后,该AMI副本将自动弃用。弃用期限必须小于或等于副本保留期限,并且不能超过 10 年。

      • 是从源端复制所有标签还是不复制标签AMI。

      注意

      不要超过每个区域的并发AMI副本数。

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

    6. 添加所需计划之后,请选择查看策略

  12. 查看策略摘要,然后选择创建策略

    注意

    如果发生 Role with name AWSDataLifecycleManagerDefaultRoleForAMIManagement already exists 错误,请参阅 解决 Amazon Data Lifecycle Manager 问题 来了解更多信息。

Command line

使用create-lifecycle-policy命令创建AMI生命周期策略。对于 PolicyType,请指定 IMAGE_MANAGEMENT

注意

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

示例 1:基于年龄的留存和AMI弃用

此示例创建了一个AMI生命周期策略,该策略在production不重启目标实例的情况下创建AMIs标签密钥为且值为的所有实例。purpose该政策包括一个时间表,该时间表创建了AMI每天的日程安排 01:00UTC. 该政策将保留2数AMIs天,日复一日地将其弃用。1它还会将标签从源实例复制到AMIs其创建的。

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

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

{ "PolicyType": "IMAGE_MANAGEMENT", "ResourceTypes": [ "INSTANCE" ], "TargetTags": [{ "Key": "purpose", "Value": "production" }], "Schedules": [{ "Name": "DailyAMIs", "TagsToAdd": [{ "Key": "type", "Value": "myDailyAMI" }], "CreateRule": { "Interval": 24, "IntervalUnit": "HOURS", "Times": [ "01:00" ] }, RetainRule":{ "Interval" : 2, "IntervalUnit" : "DAYS" }, DeprecateRule": { "Interval" : 1, "IntervalUnit" : "DAYS" }, "CopyTags": true } ], "Parameters" : { "NoReboot":true } }

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

{ "PolicyId": "policy-9876543210abcdef0" }
示例 2:基于计数的保留和跨区域AMI复制的弃用

此示例创建了一个AMI生命周期策略,该策略创建AMIs标签键值为的所有实例,production并重新启动目标实例。purpose该策略包括一个时间表,该计划从开始AMI每6小时创建一次17:30UTC。该政策保留3AMIs并自动弃用最旧的。2 AMIs它还具有跨区域复制规则,可以复制AMIs到最旧的副本us-east-1、保留2AMI副本并自动弃用最旧的副本。AMI

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

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

{ "PolicyType": "IMAGE_MANAGEMENT", "ResourceTypes" : [ "INSTANCE" ], "TargetTags": [{ "Key":"purpose", "Value":"production" }], "Parameters" : { "NoReboot": true }, "Schedules" : [{ "Name" : "Schedule1", "CopyTags": true, "CreateRule" : { "Interval": 6, "IntervalUnit": "HOURS", "Times" : ["17:30"] }, "RetainRule":{ "Count" : 3 }, "DeprecateRule":{ "Count" : 2 }, "CrossRegionCopyRules": [{ "TargetRegion": "us-east-1", "Encrypted": true, "RetainRule":{ "IntervalUnit": "DAYS", "Interval": 2 }, "DeprecateRule":{ "IntervalUnit": "DAYS", "Interval": 1 }, "CopyTags": true }] }] }

AMI生命周期策略的注意事项

以下一般注意事项适用于创建AMI生命周期策略:

  • AMI生命周期策略仅针对与策略位于同一区域的实例。

  • 第一次AMI创建操作将在指定开始时间后的一小时内开始。随后的AMI创建操作将在预定时间的一小时内开始。

  • 当 Amazon Data Lifecycle Manager 注销注册时AMI,它会自动删除其备份快照。

  • 目标资源标签区分大小写。

  • 如果您从策略所针对的实例中移除目标标签,Amazon Data Lifecycle Manager 将不再管理标准AMIs中的现有标签;如果不再需要它们,则必须手动将其删除。

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

  • 在下次运行策略时,备份中将自动包含在创建策略后挂载到目标实例的新卷。策略运行时挂载到实例的所有卷都包括在内。

  • 如果您使用基于 cron 的自定义时间表创建策略,且该计划配置为仅创建一个AMI,则当达到保留阈值AMI时,该策略不会自动取消注册。AMI如果不再需要,则必须手动取消注册。

  • 如果您创建的保留期短于创建频率的基于年龄的策略,Amazon Data Lifecycle Manager 将始终保留最后一个策略,AMI直到创建下一个策略为止。例如,如果基于年龄的策略AMI每月创建一个保留期为七天的策略,那么 Amazon Data Lifecycle Manager 会将每个策略保留一个月,即使保留期AMI为七天。

  • 对于基于计数的策略,Amazon Data Lifecycle Manager 在尝试AMIs根据保留政策注销最旧的策略之前,始终AMI根据创建频率进行创建。

  • 成功取消注册AMI并删除其关联的备份快照可能需要几个小时。如果亚马逊数据生命周期管理器(Amazon Data L AMI ifecycle Manager)在成功注销先前创建的内容AMI之前创建了下一个数据AMIs,则您可以暂时保留超过您的留存计数的数量。

终止策略针对的实例时应注意以下注意事项:

  • 如果您终止了保留计划为基于计数的策略所针对的实例,则该策略将不再管理先前从AMIs已终止的实例中创建的实例。AMIs如果不再需要它们,则必须提前手动注销它们。

  • 如果您终止了具有基于年龄的保留计划的策略所针对的实例,则该策略将继续取消注册AMIs之前按照定义的时间表从已终止的实例创建的实例,直至但不包括最后一个实例。AMI如果不再需要最后一个,AMI则必须手动取消注册。

以下注意事项适用于AMI政策和AMI弃用:

  • 如果您增加具有基于计数的留存时间表的AMI弃用次数,则更改将应用于该计划创建的所有AMIs(现有和新的)。

  • 如果您延长了具有基于年龄的留存时间表的AMI弃用期,则更改仅适用于新AMIs计划。现有AMIs不受影响。

  • 如果您从计划中删除AMI弃用规则,Amazon Data Lifecycle Manager 将不会取消AMIs该计划之前已弃用的弃用规则。

  • 如果您减少了某个计划的AMI弃用次数或期限,Amazon Data Lifecycle Manager 将不会取消AMIs该计划之前已弃用的弃用次数或期限。

  • 如果您手动弃用了由AMI策略创建的AMI,Amazon Data Lifecycle Manager 将不会覆盖该弃用。

  • 如果您手动取消之前已被AMI政策弃用的弃用AMI,Amazon Data Lifecycle Manager 将不会覆盖取消的操作。

  • 如果由多个相互冲突的计划创建,并且其中一个或多个计划没有AMI弃用规则,则 Amazon Data Lifecycle Manager 不会弃用该规则。AMI AMI

  • 如果是由多个相互冲突的计划创建AMI的,并且所有这些计划都有AMI弃用规则,则 Amazon Data Lifecycle Manager 将使用导致最新弃用日期的弃用规则。

以下注意事项适用于AMI策略和回收站

  • 如果 Amazon Data Lifecycle Manager 在达到策略的保留阈值时取消注册并将其发送到回收站,然后您手动将其AMI从回收站恢复,则在不再需要AMI时必须手动取消注册。AMIAmazon Data Lifecycle Manager 将不再管理AMI。

  • 如果您手动注销由策略创建的AMI,且该策略达到保留阈值时AMI位于回收站中,Amazon Data Lifecycle Manager 将不会取消注册。AMIAMIs当它们在回收站中时,Amazon Data Lifecycle Manager 无法进行管理。

    如果在AMI达到策略的保留阈值之前从回收站中恢复,Amazon Data Lifecycle Manager 将在达到策略的保留阈值AMI时取消注册。

    如果在达到策略的AMI保留阈值后从回收站中恢复,Amazon Data Lifecycle Manager 将不再取消注册。AMI如果不再需要 AMI,则必须手动将其删除。

以下注意事项适用于处于错误状态的AMI策略:

  • 对于具有基于年龄的保留时间表的策略AMIs,如果设置为在策略处于该error状态时到期,则会无限期保留。您必须AMIs手动取消注册。重新启用策略后,Amazon Data Lifecycle Manager 将在保留期到期后恢复注销注册AMIs。

  • 对于保留时间表基于计数的策略,该策略在状态下停止创建和取消注册AMIs。error当您重新启用策略时,Amazon Data Lifecycle Manager 会恢复创建AMIs,并在达到保留阈值后恢复注销注册AMIs。

以下注意事项适用于AMI策略和禁用 AMIs

  • 如果您禁用AMI了由 Amazon Data Lifecycle Manager 创建AMI的,而该快照在达到保留阈值时被禁用,则亚马逊数据生命周期管理器将取消注册AMI并删除其关联的快照。

  • 如果您禁用AMI了由 Amazon Data Lifecycle Manager 创建的,并手动存档其关联的快照,并且这些快照在达到保留阈值时被存档,则亚马逊数据生命周期管理器将不会删除这些快照,也不会再对其进行管理。

以下注意事项适用于AMI政策和AMI注销保护

  • 如果您为由亚马逊数据生命周期管理器创建AMI的手动启用注销保护,并且在达到AMI保留阈值时仍处于启用状态,则亚马逊数据生命周期管理器将不再管理该AMI保护。如果不再需要其底层快照,则必须手动取消注册AMI并删除其底层快照。

其他 资源

有关更多信息,请参阅 “使用亚马逊数据生命周期AMI管理器自动执行亚马逊EBS快照和管理” 博 Amazon 客。