AWS Config で失敗した修復アクションをトラブルシューティングする方法を教えてください。

所要時間2分
0

AWS Config ルールを使用して非準拠の AWS リソースを修正する手順を実行したところ、修復アクションが「アクションの実行失敗(詳細)」というエラーで失敗しました。エラーの詳細を確認しましたが、問題のトラブルシューティングに必要な情報が不足しています。

解決策

以下の手順で、AWS コマンドラインインターフェイス (AWS CLI) または AWS CloudTrail イベント履歴を使用して、修復アクションの失敗をトラブルシューティングします。

**注:**AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、必ず AWS CLI の最新バージョンを使用するようにしてください。

AWS CLI

失敗した修復アクションに関連するエラー情報を確認するには、AWS CLI で以下のステップを実行します。

  1. describe-remediation-execution-status AWS CLI コマンドを実行して、より詳細なエラーメッセージ、状態情報、および修復アクションステップのタイムスタンプを取得します。
    次の例を参照してください。

    aws configservice describe-remediation-execution-status \
      --config-rule-name example-rule \
      --region example-region \
      --resource-keys resourceType=example-resource-type,resourceId=example-resource-ID

    **注:**コマンドの example-ruleexample-regionexample-resource-typeexample-resource-ID は、ご自身の AWS Config のルール名、AWS リージョン、リソースタイプ、リソース ID に置き換えてください。

  2. コマンド出力を確認します。
    次の例を参照してください。

    {
      "RemediationExecutionStatuses": [
        {
          "InvocationTime": 1560680582.419,
          "LastUpdatedTime": 1560680583.67,
          "ResourceKey": {
            "resourceId": "vol-0b399a24561582586",
            "resourceType": "AWS::EC2::Volume"
          },
          "State": "FAILED",
          "StepDetails": [
            {
              "ErrorMessage": "Automation Step Execution fails when it is creating a CloudFormation stack.
    Get Exception from CreateStack API of cloudformation Service. Exception Message from CreateStack API:
    [User: arn:aws:sts::xxxxx:assumed-role/config-remediation-sshpublic-role-zkga0ot3/config-remediation-sshpublic is not authorized to perform: cloudformation:CreateStack on resource: arn:aws:cloudformation:eu-west-2:xxxxx:stack/DetachEBSVolumeStack2f6d3590-ea2c-424a-97ea-045749f07164/*
    (Service: AmazonCloudFormation; Status Code: 403; Error Code: AccessDenied; Request ID: b8f41dd6-9020-11e9-897d-f9719db1a9e6)].
    Please refer to Automation Service Troubleshooting Guide for more diagnosis details.",
              "Name": "createDocumentStack",
              "StartTime": 1560680582.675,
              "State": "FAILED",
              "StopTime": 1560680582.884
            },  
            {
              "Name": "detachVolume",
              "State": "PENDING"
            },
            {  
              "Name": "deleteCloudFormationTemplate",
              "State": "PENDING"
            }
          ]
        }
      ]
    }
  3. StepDetails リストで、エラーメッセージ情報を確認します。
    **注:**エラーのタイムスタンプはエポックタイム形式です。タイムスタンプを UTC に変換するには、EpochConverter などの無料のオンラインコンバーターを使用してください。

CloudTrail イベント履歴

失敗した修復アクションに関連するエラー情報を確認するには、CloudTrail コンソールおよび AWS Systems Manager コンソールで次のステップを実行します。

  1. CloudTrail コンソールを開きます。
  2. Viewing recent CloudTrail management events with the CloudTrail console」の手順を実行します。
  3. AWS Config が修復アクションを開始すると、StartAutomationExecution API アクションが呼び出されます。[イベント履歴] ページで、イベント名検索属性でフィルタリングしてからStartAutomationExecutionを検索します。
  4. 関連する API イベントを選択します。
  5. [イベントの詳細] ページの [イベント JSON] で requestID 値をコピーします。
  6. Systems Manager コンソールを開きます。
  7. ナビゲーションペインで、[オートメーション] を選択します。
  8. [オートメーションの実行] ページで [実行 ID] プロパティでフィルタリングし、ステップ 4 でコピーした requestID 値を検索します。
  9. [実行の詳細] ページで、失敗の詳細が AWS Identity and Access Management (IAM) のアクセス許可、構文、または修復アクションで設定された誤ったパラメータに関連していないかどうかを判断します。これらの詳細を使用して、準拠していないリソースを修正してください。

関連情報

AWS Config コンソールのエラーメッセージをトラブルシューティングする方法を教えてください。

View, update or add, and delete rules (AWS CLI)

AWS公式
AWS公式更新しました 8ヶ月前