AWS Config ルールを使用して非準拠の AWS リソースを修正する手順を実行したところ、修復アクションが「アクションの実行失敗(詳細)」というエラーで失敗しました。エラーの詳細を確認しましたが、問題のトラブルシューティングに必要な情報が不足しています。
解決策
以下の手順で、AWS コマンドラインインターフェイス (AWS CLI) または AWS CloudTrail イベント履歴を使用して、修復アクションの失敗をトラブルシューティングします。
**注:**AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、必ず AWS CLI の最新バージョンを使用するようにしてください。
AWS CLI
失敗した修復アクションに関連するエラー情報を確認するには、AWS CLI で以下のステップを実行します。
-
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-rule、example-region、example-resource-type、example-resource-ID は、ご自身の AWS Config のルール名、AWS リージョン、リソースタイプ、リソース ID に置き換えてください。
-
コマンド出力を確認します。
次の例を参照してください。
{
"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"
}
]
}
]
}
-
StepDetails リストで、エラーメッセージ情報を確認します。
**注:**エラーのタイムスタンプはエポックタイム形式です。タイムスタンプを UTC に変換するには、EpochConverter などの無料のオンラインコンバーターを使用してください。
CloudTrail イベント履歴
失敗した修復アクションに関連するエラー情報を確認するには、CloudTrail コンソールおよび AWS Systems Manager コンソールで次のステップを実行します。
- CloudTrail コンソールを開きます。
- 「Viewing recent CloudTrail management events with the CloudTrail console」の手順を実行します。
- AWS Config が修復アクションを開始すると、StartAutomationExecution API アクションが呼び出されます。[イベント履歴] ページで、イベント名検索属性でフィルタリングしてから、、StartAutomationExecutionを検索します。
- 関連する API イベントを選択します。
- [イベントの詳細] ページの [イベント JSON] で requestID 値をコピーします。
- Systems Manager コンソールを開きます。
- ナビゲーションペインで、[オートメーション] を選択します。
- [オートメーションの実行] ページで [実行 ID] プロパティでフィルタリングし、ステップ 4 でコピーした requestID 値を検索します。
- [実行の詳細] ページで、失敗の詳細が AWS Identity and Access Management (IAM) のアクセス許可、構文、または修復アクションで設定された誤ったパラメータに関連していないかどうかを判断します。これらの詳細を使用して、準拠していないリソースを修正してください。
関連情報
AWS Config コンソールのエラーメッセージをトラブルシューティングする方法を教えてください。
View, update or add, and delete rules (AWS CLI)