Comment résoudre les problèmes d'échec des actions de correction dans AWS Config ?

Dernière mise à jour : 17/02/2021

J'ai suivi les instructions pour corriger les ressources AWS non conformes à l'aide de règles AWS Config. Toutefois, l'action de correction a échoué et la console AWS Config a affiché le message d'erreur de statut d'action suivant : « Échec de l'exécution de l'action (détails) ». J'ai ouvert la page Details (Détails), mais elle ne contient pas suffisamment d'informations pour résoudre le problème.

Résolution

Suivez ces instructions pour résoudre les problèmes d'échec des actions de correction à l'aide de l'interface de ligne de commande AWS (AWS CLI) ou de l'historique des événements AWS CloudTrail.

Remarque : Si vous recevez des erreurs lors de l'exécution des commandes AWS CLI, assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

AWS CLI

1.    Exécutez la commande AWS CLI pour describe-remediation-execution-status pour obtenir un message d'erreur, des informations d'état et des horodatages plus détaillés concernant les étapes d'action de correction, comme dans l'exemple suivant :

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

Remarque : Remplacez example-rule, example-region, example-resource-type et example-resource-ID par le nom de votre règle de configuration, votre région, votre type de ressource et votre ID de ressource AWS Config.

2.    Le résultat obtenu doit être similaire à ce qui suit :

{
    "RemediationExecutionStatuses": [
        {
            "ResourceKey": {
                "resourceType": "AWS::EC2::Volume",
                "resourceId": "vol-0b399a24561582586"
            },
            "State": "FAILED",
            "StepDetails": [
                {
                    "Name": "createDocumentStack",
                    "State": "FAILED",
                    "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.",
                    "StartTime": 1560680582.675,
                    "StopTime": 1560680582.884
                },
                {
                    "Name": "detachVolume",
                    "State": "PENDING"
                },
                {
                    "Name": "deleteCloudFormationTemplate",
                    "State": "PENDING"
                }
            ],
            "InvocationTime": 1560680582.419,
            "LastUpdatedTime": 1560680583.67
        }
    ]
}

3.    Dans la liste StepDetails, notez le message d'erreur et la cause de l'échec.

Historique des événements CloudTrail

1.    Ouvrez la console AWS CloudTrail.

2.    Suivez les instructions relatives à l'Affichage des événements CloudTrail dans la console CloudTrail.

3.    L'action de l'API StartAutomationExecution est appelée lorsque AWS Config lance une action de correction. Filtrez le nom de l'événement avec l'API StartAutomationExecution et, dans la page de détails de l'événement, copiez le requestID.

4.    Ouvrez la console AWS Systems Manager, puis choisissez Automation (Automatisation) dans le volet de navigation.

5.    Collez le requestID dans le champ de recherche Automation document (Document d'automatisation).

6.    Ensuite, recherchez l'action effectuée par la correction. Vérifiez si l'erreur est liée aux autorisations AWS Identity and Access Management (IAM), à des problèmes de syntaxe ou à la configuration de paramètres incorrects dans l'action de correction.