

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

# 创建 Amazon Data Lifecycle Manager 默认策略
<a name="default-policies"></a>

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

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

**Topics**
+ [默认策略注意事项](#default-policy-considerations)
+ [创建 Amazon EBS 快照的默认策略](#default-snapshot-policy)
+ [为 EBS 支持的创建默认策略 AMIs](#default-ami-policy)
+ [跨账户和区域启用默认策略](dlm-stacksets.md)

## 默认策略注意事项
<a name="default-policy-considerations"></a>

使用默认策略时请记住以下事项：
+ 默认策略不备份最近有备份（快照或）的目标资源（实例或卷 AMIs）。创建频率决定备份哪些资源。只有当卷或实例的最后一个快照或 AMI 的时间超过策略的创建频率时，才会对其进行备份。例如，如果您将创建频率指定为 3 天，则 EBS 快照的默认策略仅在上次卷的快照超过 3 天时才会创建该卷的快照。
+ 默认情况下，除非指定了排除参数，否则默认策略会将该区域的所有实例或卷作为目标。
+ 默认策略将创建最少的唯一快照集。例如，如果您启用 EBS 支持的 AMI 策略和 EBS 快照策略，则该快照策略将不会复制已由 EBS 支持的 AMI 策略备份的卷的快照。
+ 默认策略将仅开始以至少已有 24 小时历史的资源作为目标。
+ 如果您删除卷或终止默认策略所针对的实例，Amazon Data Lifecycle Manager 将继续根据截至但不包括上次备份的保留期删除之前创建的备份（快照或 AMIs）。如果不需要此备份，您必须手动将其删除。

  如果您希望 Amazon Data Lifecycle Manager 删除最后一个备份，则可以启用*扩展删除*。
+ 如果默认策略被删除或进入错误或禁用状态，Amazon Data Lifecycle Manager 将停止删除之前创建的备份（快照或 AMIs）。如果您希望 Amazon Data Lifecycle Manager 继续删除备份（包括最后一个备份），则必须在删除策略之前或策略的状态更改为已禁用或已删除之前启用*扩展删除*。
+ 当您创建并启用默认策略时，Amazon Data Lifecycle Manager 会将目标资源随机分配到四小时的时间窗口期。目标资源在其分配的窗口期间以指定的创建频率进行备份。例如，如果策略的创建频率为 3 天，并且目标资源分配给 12:00 - 16:00 的窗口期间，则该资源将每 3 天在 12:00 - 16:00 期间备份一次。

## 创建 Amazon EBS 快照的默认策略
<a name="default-snapshot-policy"></a>

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

------
#### [ Console ]

**创建 EBS 快照的默认策略**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**生命周期管理器**，然后选择**创建生命周期策略**。

1. 对于**策略类型**，请选择**默认策略**，然后选择 **EBS 快照策略**。

1. 对于**描述**，输入策略的简短描述。

1. 对于 **IAM 角色**，请选择有权管理快照的 IAM 角色。

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

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

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

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

1. （*可选*）配置**排除参数**，以从计划备份中排除特定卷。策略运行时，将不会备份已排除的卷。

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

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

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

1. （*可选*）在**高级设置**中，请指定策略应执行的其他操作。

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

   1. 禁用**扩展删除**后：
      + 如果删除了源卷，Amazon Data Lifecycle Manager 会根据保留期继续删除之前创建的快照，直至（但不包括）最后一个快照。如果您希望 Amazon Data Lifecycle Manager 删除所有快照，包括最后一个快照，请选择**扩展删除**。
      + 如果策略被删除或进入 `error` 或 `disabled` 状态，Amazon Data Lifecycle Manager 将停止删除快照。如果您希望 Amazon Data Lifecycle Manager 继续删除快照，包括最后一个快照，请选择**扩展删除**。
**注意**  
如果启用“扩展删除”，则可以同时覆盖上述两种行为。

   1. 要将该策略创建的快照复制到其他区域，请选择**创建跨区域副本**，然后选择最多 3 个目标区域。
      + 如果源快照已加密或默认情况下启用了目标区域的加密功能，则会在目标区域中使用 EBS 加密的默认 KMS 密钥对复制的快照进行加密。
      + 如果源快照未加密且默认情况下禁用目标区域的加密功能，则复制的快照为未加密快照。

1. （*可选*）要向策略添加标签，请选择**添加标签**，然后指定标签键和值。

1. 选择**创建默认策略**。
**注意**  
如果发生 `Role with name AWSDataLifecycleManagerDefaultRole already exists` 错误，请参阅 [排查 Amazon Data Lifecycle Manager 问题](dlm-troubleshooting.md) 来了解更多信息。

------
#### [ AWS CLI ]

**创建 EBS 快照的默认策略**  
使用 [ create-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/dlm/create-lifecycle-policy.html) 命令。您可以通过以下两种方法之一来指定请求参数，具体取决于您的用例或偏好：
+ **方法 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 支持的创建默认策略 AMIs
<a name="default-ami-policy"></a>

以下过程向您展示如何为 EBS AMIs 支持的创建默认策略。

------
#### [ Console ]

**为 EBS 支持的创建默认策略 AMIs**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **Lifecycle Manager**，然后选择**创建生命周期策略**。

1. 对于**策略类型**，请选择**默认策略**，然后选择**由 EBS 支持的 AMI 策略**。

1. 对于**描述**，输入策略的简短描述。

1. 对于 **IAM 角色**，请选择有权管理的 IAM 角色 AMIs。

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

1. 对于**创建频率**，请指定您希望策略的运行频率和 AMIs 从您的实例创建的频率。

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

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

1. （*可选*）配置**排除参数**，以从计划备份中排除特定实例。策略运行时，将不会备份已排除的实例。

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

1. （*可选*）在**高级设置**中，请指定策略应执行的其他操作。

   1. 要将分配的标签从源实例复制到其实例 AMIs，请选择**从实例复制标签**。

   1. 禁用**扩展删除**后：
      + 如果源实例终止，Amazon Data Lifecycle Manager 将继续注销之前创建的 AMIs 直到最后一个实例，但不包括基于保留期的最后一个实例。如果您想让 Amazon Data Lifecycle Manager 取消全部注册 AMIs，包括最后一个，请选择**延长删除时间**。
      + 如果策略被删除或进入`error`或`disabled`状态，Amazon Data Lifecycle Manager 将停止注销注册 AMIs。如果您想让 Amazon Data Lifecycle Manager 继续注 AMIs销（包括最后一个注销），请选择**延长删除时间**。
**注意**  
如果启用“扩展删除”，则可以同时覆盖上述两种行为。

   1. 要将该策略 AMIs 创建的复制到其他区域，请选择**创建跨区域副本**，然后最多选择 3 个目标区域。
      + 如果源 AMI 已加密，或者目标区域默认启用了加密，则在目标区域使用默认 KMS 密钥对复制 AMIs 的 EBS 进行加密。
      + 如果源 AMI 未加密，且目标区域默认禁用加密，则副 AMIs 本未加密。

1. （*可选*）要向策略添加标签，请选择**添加标签**，然后指定标签键和值。

1. 选择**创建默认策略**。
**注意**  
如果发生 `Role with name AWSDataLifecycleManagerDefaultRoleForAMIManagement already exists` 错误，请参阅 [排查 Amazon Data Lifecycle Manager 问题](dlm-troubleshooting.md) 来了解更多信息。

------
#### [ AWS CLI ]

**为 EBS 支持的创建默认策略 AMIs**  
使用 [ create-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/dlm/create-lifecycle-policy.html) 命令。您可以通过以下两种方法之一来指定请求参数，具体取决于您的用例或偏好：
+ **方法 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 支持的 AMIs 默认策略创建针对该地区所有实例、使用默认 IAM 角色、每天运行（默认）并保留 AMIs 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"
          }]
      }
  }
  ```

------