如何對使用 Amazon Data Lifecycle Manager 的問題進行疑難排解?

2 分的閱讀內容
0

我的 Amazon Data Lifecycle Manager 政策處於錯誤狀態,或在快照方面未如預期般執行。如何對這些問題進行疑難排解?

簡短描述

以下是您的生命週期政策處於錯誤狀態或者無法建立或複製 Amazon Elastic Block Store (Amazon EBS) 快照的常見原因:

  • 生命週期政策未開啟。
  • 政策的權限不正確。
  • 您使用的是 AWS 身分和存取管理 (IAM) 角色,而不是預設的 AWSDataLifecycleManagerDefaultRole,而且存在信任關係的問題。
  • 政策上有重複的標籤。
  • 政策中定義的標籤已在使用中。
  • 您的資源已加密。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確定您使用的是最新的 AWS CLI 版本

快照未如預期般建立

如果快照未建立,請確認生命週期政策已開啟。

1.    開啟 Amazon Elastic Compute Cloud (Amazon EC2) 主控台

2.    選取 Lifecycle Manager,然後確認政策狀態已設定為啟用

3.    如果政策未設定為 啟用,請選擇動作 > 修改快照生命週期政策

**注意:**如果政策狀態為 錯誤,請參閱下一節 DLM 政策處於錯誤狀態

4.    選取 啟用政策,然後選取更新政策

**注意:**在建立生命週期政策後,最長可能需要一小時才可建立快照。在至少過了一個小時之後,開啟 Amazon EC2 主控台。然後,選取 快照以確認是否正在建立快照。

無法在區域之間複製快照

如果複製的快照已加密,則使用者必須能夠存取來源和目標 AWS Key Management Service (AWS KMS) 金鑰。如需詳細資訊,請參閱 確定 AWS KMS 金鑰的存取權限

生命週期政策處於錯誤狀態

處於錯誤狀態的生命週期政策可能是由下列一或多個問題所造成:

  • 您的資源標籤有問題。
  • Amazon Data Lifecycle Manager 權限不正確。
  • IAM 權限不正確。

此外,如果您使用自訂 IAM 角色,信任關係可能不會附加至該角色。

透過檢查 Amazon CloudWatch Events,檢視造成錯誤狀態之原因的相關資訊。以下是常見的錯誤和解決方法:

重複的標籤鍵

如果生命週期政策中有重複的標籤,則會出現類似下列內容的 CloudTrail 事件。在下列範例中,標籤鍵 Name 在政策中重複。

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 中定義

如果生命週期政策中定義的標籤已在不同的生命週期政策中使用,則在以下情況下可能會遇到問題:

  1. 生命週期策略位於同一帳戶中,且
  2. 生命週期政策適用於相同的資源。

在此情況下,系統會顯示類似下列內容的 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 使用者的權限


相關資訊

Amazon Data Lifecycle Manager API 參考

AWS CLI 命令參考 - dlm

AWS 官方
AWS 官方已更新 1 年前