如何排查使用 Amazon Data Lifecycle Manager 时遇到的问题?

上次更新时间:2020 年 6 月 2 日

我的 Amazon Data Lifecycle Manager 策略处于错误状态,我无法正常创建 Amazon Elastic Block Store (Amazon EBS) 快照,或者我无法跨区域复制快照。该如何排查此类问题?

简短描述

以下是您的生命周期策略处于错误状态或无法创建 EBS 快照的常见原因:

  • 生命周期策略未启用。
  • 策略中的权限不正确。
  • 您正在使用 AWS Identity and Access Management (IAM) 角色,而不是默认的“AWSDataLifecycleManagerDefaultRole”,而且该角色的信任关系有问题。
  • 策略中有重复的标签。
  • 策略中定义的某个标签已被使用。
  • 您的资源已加密。

解决方法

未正常创建快照

如果快照未创建,请验证生命周期策略是否已启用。

1.    打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台

2.    选择 Lifecycle Manager,然后验证策略状态是否为已启用

3.    如果策略未设置为已启用,则依次选择操作修改快照生命周期策略

注意:如果策略状态为错误,请参阅以下部分:DLM 策略处于错误状态

4.    选择启用策略,然后选择更新策略

注意:在创建生命周期策略后,可能需要一个小时的时间才能创建快照。在至少等待一小时后,打开 Amazon EC2 控制台。然后选择快照来验证是否已创建快照。

无法在区域之间复制快照

如果要复制的快照已加密,则用户必须有权访问 AWS Key Management Service (AWS KMS) 中的源和目标客户主密钥 (CMK)。有关更多信息,请参阅确定访问 AWS KMS 客户主密钥

生命周期策略处于错误状态

如果您的生命周期策略处于错误状态,则问题可能出在资源标签、Amazon Data Lifecyle Manager 权限或 IAM 权限。此外,如果您使用的是自定义 IAM 角色,则可能是因为该角色没有附加信任关系。

检查 Amazon CloudWatch 事件,查看导致错误状态的原因。以下是常见的错误和解决方法:

标签键重复

如果您的生命周期策略存在重复的标签,则会出现与下面类似的 CloudTrail 事件。在以下示例中,策略中的标签键名称重复。

CreateSnapshot @2018-12-24T20:25:58.000Z UTC
"errorCode": "Client.InvalidParameterValue",
 "errorMessage": "Duplicate tag key 'Name' specified.", 
    "requestParameters": {
        "volumeId": "vol-xxxxxxxxxxxx",
        "description": "Created for policy: policy-xxxxschedule: First Schedule",      

1.    打开 Amazon EC2 控制台

2.    选择 Lifecycle Manager

3.    选择您的生命周期策略,然后依次选择操作修改生命周期策略

4.    在给创建的 EBS 快照加标签部分,将重复标签上的改为唯一的名称。

5.    选择更新策略

ID 为 vol-xxxxxxxxxxxx 的资源中已定义标签(名称)

如果同一账户中相同资源的另一个生命周期策略中已在使用您的生命周期策略中定义的标签,则会出现与下面类似的 CloudTrail 事件:

CreateSnapshots
---------------------------------------------------------------------------------
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
   "eventTime": "2020-01-xxxxxxxx",
    "eventSource": "ec2.amazonaws.com",
    "eventName": "CreateSnapshots",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "dlm.amazonaws.com",
    "userAgent": "dlm.amazonaws.com",
    "errorCode": "Client.InvalidParameterCombination",
    "errorMessage": "Tag (Name) is already defined in resource id vol-xxxxxxxx.",
    "requestParameters": {
"requestParameters": {
        "CreateSnapshotsRequest": {
            "Description": "Created for policy: policy-xxxxxxxschedule: Default Schedule",
            "InstanceSpecification": {
                "ExcludeBootVolume": false,
                "InstanceId": "i-xxxxxxx"
            },   

卷或实例可以关联多个策略,但策略之间不能重复使用相同的标签。有关更多信息,请参阅 Amazon Data Lifecycle Manager 的注意事项

要纠正此错误,请执行以下操作:

1.    查看您的生命周期策略,找到重复的标签。

2.    使用不同的标签创建新的生命周期策略。或者编辑当前的生命周期策略,为其使用不同的标签。

Client.AuthFailure

如果没有给自定义生命周期策略或 IAM 用户设置正确的权限,则可能出现“Client.AuthFailure”错误。以下示例显示的是由于无法访问密钥而引起的 Client.AuthFailure 错误:

"Client.AuthFailure",
"errorMessage": "The specified keyId
arn:aws:kms:us-west-1:xxxxxxxxxxxxx:key/4ad6a1d7-53ac-45a3-8f08-e6eccc948fdd is not accessible",

有关为 Amazon Data Lifecycle Manager 设置权限的说明,请参阅 Amazon Data Lifecycle Manager 的权限

有关为 IAM 用户设置使用 Amazon Data Lifecycle Manager 的权限的说明,请参阅 IAM 用户的权限


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?