创建 Amazon Data Lifecycle Manager 默认策略 - Amazon EBS

创建 Amazon Data Lifecycle Manager 默认策略

要从实例中创建 EBS 支持的定期 AMI,请使用 EBS 支持的 AMI 的默认策略。要创建所有卷的快照(无论其附加状态如何)或者如果您想要排除特定卷,请使用 EBS 快照的默认策略。

本节介绍如何创建默认策略。

默认策略注意事项

使用默认策略时请记住以下事项:

  • 默认策略不备份具有最近备份(快照或 AMI)的目标资源(实例或卷)。创建频率决定备份哪些资源。只有当卷或实例的最后一个快照或 AMI 的时间超过策略的创建频率时,才会对其进行备份。例如,如果您将创建频率指定为 3 天,则 EBS 快照的默认策略仅在上次卷的快照超过 3 天时才会创建该卷的快照。

  • 默认情况下,除非指定了排除参数,否则默认策略会将该区域的所有实例或卷作为目标。

  • 默认策略将创建最少的唯一快照集。例如,如果您启用 EBS 支持的 AMI 策略和 EBS 快照策略,则该快照策略将不会复制已由 EBS 支持的 AMI 策略备份的卷的快照。

  • 默认策略将仅开始以至少已有 24 小时历史的资源作为目标。

  • 如果您删除卷或终止默认策略作为目标的实例,则 Amazon Data Lifecycle Manager 将根据保留期继续删除其之前创建的备份(快照或 AMI),直至(但不包括)最后一个备份。如果不需要此备份,您必须手动将其删除。

    如果您希望 Amazon Data Lifecycle Manager 删除最后一个备份,则可以启用扩展删除

  • 如果默认策略被删除或进入错误或禁用状态,Amazon Data Lifecycle Manager 将停止删除之前创建的备份(快照或 AMI)。如果您希望 Amazon Data Lifecycle Manager 继续删除备份(包括最后一个备份),则必须在删除策略之前或策略的状态更改为已禁用或已删除之前启用扩展删除

  • 当您创建并启用默认策略时,Amazon Data Lifecycle Manager 会将目标资源随机分配到四小时的时间窗口期。目标资源在其分配的窗口期间以指定的创建频率进行备份。例如,如果策略的创建频率为 3 天,并且目标资源分配给 12:00 - 16:00 的窗口期间,则该资源将每 3 天在 12:00 - 16:00 期间备份一次。

创建 Amazon EBS 快照的默认策略

以下过程演示了如何创建 EBS 快照的默认策略。

Console
创建 EBS 快照的默认策略
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择生命周期管理器,然后选择创建生命周期策略

  3. 对于策略类型,请选择默认策略,然后选择 EBS 快照策略

  4. 对于描述,输入策略的简短描述。

  5. 对于 IAM 角色,请选择有权管理快照的 IAM 角色。

    我们建议您选择默认值以使用 Amazon Data Lifecycle Manager 提供的默认 IAM 角色。但是,您还可以使用之前创建的自定义 IAM 角色。

  6. 对于创建频率,请指定您希望策略运行的频率并创建卷的快照。

    您指定的频率还决定了备份哪些卷。该策略将仅备份在指定频率内未通过任何其他方式备份的卷。例如,如果您将创建频率指定为 3 天,则该策略将仅为过去 3 天内未备份的卷创建快照。

  7. 对于保留期,请指定您希望策略将其创建的快照保留的时长。当快照达到保留阈值时,将被自动删除。保留期必须大于或等于创建频率。

  8. 可选)配置排除参数,以从计划备份中排除特定卷。策略运行时,将不会备份已排除的卷。

    1. 要排除启动卷,请选择排除启动卷。如果您排除启动卷,则该策略将仅备份数据(非启动)卷。换句话说,其不会创建作为启动卷附加到实例的卷的快照。

    2. 要排除特定的卷类型,请选择排除特定卷类型,然后选择要排除的卷类型。该策略将仅备份其余类型的卷。

    3. 要排除具有特定标签的卷,请选择添加标签,然后指定标签键和值。该策略不会创建具有任何指定标签的卷的快照。

  9. 可选)在高级设置中,请指定策略应执行的其他操作。

    1. 要将分配的标签从源卷复制到其快照,请选择从卷复制标签

    2. 禁用扩展删除后:

      • 如果删除了源卷,Amazon Data Lifecycle Manager 会根据保留期继续删除之前创建的快照,直至(但不包括)最后一个快照。如果您希望 Amazon Data Lifecycle Manager 删除所有快照,包括最后一个快照,请选择扩展删除

      • 如果策略被删除或进入 errordisabled 状态,Amazon Data Lifecycle Manager 将停止删除快照。如果您希望 Amazon Data Lifecycle Manager 继续删除快照,包括最后一个快照,请选择扩展删除

      注意

      如果启用“扩展删除”,则可以同时覆盖上述两种行为。

    3. 要将该策略创建的快照复制到其他区域,请选择创建跨区域副本,然后选择最多 3 个目标区域。

      • 如果源快照已加密或默认情况下启用了目标区域的加密功能,则会在目标区域中使用 EBS 加密的默认 KMS 密钥对复制的快照进行加密。

      • 如果源快照未加密且默认情况下禁用目标区域的加密功能,则复制的快照为未加密快照。

  10. 可选)要向策略添加标签,请选择添加标签,然后指定标签键和值。

  11. 选择创建默认策略

    注意

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

AWS CLI
创建 EBS 快照的默认策略

使用 create-lifecycle-policy 命令。您可以通过以下两种方法之一来指定请求参数,具体取决于您的用例或偏好:

  • 方法 1:

    $ aws dlm create-lifecycle-policy \ --state ENABLED | DISABLED \ --description "policy_description" \ --execution-role-arn role_arn \ --default-policy VOLUME \ --create-interval creation_frequency_in_days (1-7) \ --retain-interval retention_period_in_days (2-14) \ --copy-tags | --no-copy-tags \ --extend-deletion | --no-extend-deletion \ --cross-region-copy-targets TargetRegion=destination_region_code \ --exclusions ExcludeBootVolumes=true | false, ExcludeTags=[{Key=tag_key,Value=tag_value}], ExcludeVolumeTypes="standard | gp2 | gp3 | io1 | io2 | st1 | sc1"

    例如,要创建 EBS 快照的默认策略,该策略以该地区所有卷为目标、使用默认 IAM 角色、每天运行(默认)并将快照保留 7 天(默认),您需要指定以下参数:

    $ aws dlm create-lifecycle-policy \ --state ENABLED \ --description "Daily default snapshot policy" \ --execution-role-arn arn:aws:iam::account_id:role/AWSDataLifecycleManagerDefaultRole \ --default-policy VOLUME
  • 方法 2:

    $ aws dlm create-lifecycle-policy \ --state ENABLED | DISABLED \ --description "policy_description" \ --execution-role-arn role_arn \ --default-policy VOLUME \ --policy-details file://policyDetails.json

    其中 policyDetails.json 包含以下内容:

    { "PolicyLanguage": "SIMPLIFIED", "PolicyType": "EBS_SNAPSHOT_MANAGEMENT", "ResourceType": "VOLUME", "CopyTags": true | false, "CreateInterval": creation_frequency_in_days (1-7), "RetainInterval": retention_period_in_days (2-14), "ExtendDeletion": true | false, "CrossRegionCopyTargets": [{"TargetRegion":"destination_region_code"}], "Exclusions": { "ExcludeBootVolume": true | false, "ExcludeVolumeTypes": ["standard | gp2 | gp3 | io1 | io2 | st1 | sc1"], "ExcludeTags": [{ "Key": "exclusion_tag_key", "Value": "exclusion_tag_value" }] } }

创建 EBS-backed AMI 默认策略

以下过程演示了如何创建 EBS 支持的 AMI 的默认策略。

Console
创建 EBS 支持的 AMI 的默认策略
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Lifecycle Manager,然后选择创建生命周期策略

  3. 对于策略类型,请选择默认策略,然后选择由 EBS 支持的 AMI 策略

  4. 对于描述,输入策略的简短描述。

  5. 对于 IAM 角色,请选择有权管理 AMI 的 IAM 角色。

    我们建议您选择默认值以使用 Amazon Data Lifecycle Manager 提供的默认 IAM 角色。但是,您还可以使用之前创建的自定义 IAM 角色。

  6. 对于创建频率,请指定您希望策略运行的频率,并从实例创建 AMI。

    您指定的频率还决定了备份哪些实例。该策略将仅备份在指定频率内未通过任何其他方式备份的实例。例如,如果您将创建频率指定为 3 天,则该策略将仅会从过去 3 天内未备份的实例创建 AMI。

  7. 对于保留期,请指定您希望策略将其创建的 AMI 保留的时长。当 AMI 达到保留阈值时,将会被自动取消注册并删除其关联的快照。保留期必须大于或等于创建频率。

  8. 可选)配置排除参数,以从计划备份中排除特定实例。策略运行时,将不会备份已排除的实例。

    1. 要排除具有特定标签的实例,请选择添加标签,然后指定标签键和值。该策略不会从具有任何指定标签的实例创建 AMI。

  9. 可选)在高级设置中,请指定策略应执行的其他操作。

    1. 要将分配的标签从源实例复制到其 AMI,请选择从实例复制标签

    2. 禁用扩展删除后:

      • 如果源实例终止,Amazon Data Lifecycle Manager 将根据保留期继续取消注册之前创建的 AMI,直至(但不包括)最后一个 AMI。如果您希望 Amazon Data Lifecycle Manager 取消注册所有 AMI,包括最后一个 AMI,请选择扩展删除

      • 如果策略被删除或进入 errordisabled 状态,Amazon Data Lifecycle Manager 将停止取消注册 AMI。如果您希望 Amazon Data Lifecycle Manager 继续取消注册 AMI,包括最后一个 AMI,请选择扩展删除

      注意

      如果启用“扩展删除”,则可以同时覆盖上述两种行为。

    3. 要将该策略创建的 AMI 复制到其他区域,请选择创建跨区域副本,然后选择最多 3 个目标区域。

      • 如果源 AMI 已加密或默认情况下启用了目标区域的加密功能,则会在目标区域中使用 EBS 加密的默认 KMS 密钥对复制的 AMI 进行加密。

      • 如果源 AMI 未加密且默认情况下禁用目标区域的加密功能,则复制的 AMI 为未加密 AMI。

  10. 可选)要向策略添加标签,请选择添加标签,然后指定标签键和值。

  11. 选择创建默认策略

    注意

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

AWS CLI
创建 EBS 支持的 AMI 的默认策略

使用 create-lifecycle-policy 命令。您可以通过以下两种方法之一来指定请求参数,具体取决于您的用例或偏好:

  • 方法 1:

    $ aws dlm create-lifecycle-policy \ --state ENABLED | DISABLED \ --description "policy_description" \ --execution-role-arn role_arn \ --default-policy INSTANCE \ --create-interval creation_frequency_in_days (1-7) \ --retain-interval retention_period_in_days (2-14) \ --copy-tags | --no-copy-tags \ --extend-deletion | --no-extend-deletion \ --cross-region-copy-targets TargetRegion=destination_region_code \ --exclusions ExcludeTags=[{Key=tag_key,Value=tag_value}]

    例如,要创建 EBS 支持的 AMI 的默认策略 [该策略以该地区所有实例为目标、使用默认 IAM 角色、每天运行(默认)并将 AMI 保留 7 天(默认)],您需要指定以下参数:

    $ aws dlm create-lifecycle-policy \ --state ENABLED \ --description "Daily default AMI policy" \ --execution-role-arn arn:aws:iam::account_id:role/AWSDataLifecycleManagerDefaultRoleForAMIManagement \ --default-policy INSTANCE
  • 方法 2:

    $ aws dlm create-lifecycle-policy \ --state ENABLED | DISABLED \ --description "policy_description" \ --execution-role-arn role_arn \ --default-policy INSTANCE \ --policy-details file://policyDetails.json

    其中 policyDetails.json 包含以下内容:

    { "PolicyLanguage": "SIMPLIFIED", "PolicyType": "IMAGE_MANAGEMENT", "ResourceType": "INSTANCE", "CopyTags": true | false, "CreateInterval": creation_frequency_in_days (1-7), "RetainInterval": retention_period_in_days (2-14), "ExtendDeletion": true | false, "CrossRegionCopyTargets": [{"TargetRegion":"destination_region_code"}], "Exclusions": { "ExcludeTags": [{ "Key": "exclusion_tag_key", "Value": "exclusion_tag_value" }] } }