Pourquoi ne puis-je pas trouver mes journaux de tâches DataSync dans le groupe de journaux CloudWatch ?

Date de la dernière mise à jour : 14/12/2020

J'ai exécuté une tâche AWS DataSync, mais je ne trouve pas les journaux dans le groupe de journaux Amazon CloudWatch correspondant. Comment puis-je résoudre ce problème ?

Résolution

Confirmez que CloudWatch Logs dispose d'une stratégie de ressources qui permet à DataSync de charger des journaux.

Procédez comme suit pour examiner les stratégies de ressources CloudWatch Logs dans la région AWS de votre agent DataSync :

1.    Exécutez la commande describe-resource-policies à l'aide de l'interface de ligne de commande AWS (AWS CLI) :

aws logs describe-resource-policies --region us-east-1

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

2.    Examinez la sortie de la commande. Si aucune stratégie de ressource n'est configurée, la sortie est similaire à la suivante :

{
    "resourcePolicies": []
}

Important : vérifiez que la stratégie de ressources pour DataSync est activée dans la région AWS appropriée. La stratégie doit se trouver dans la même région que l'agent DataSync que vous utilisez.

Procédez comme suit pour créer une stratégie de ressources qui accorde à DataSync des autorisations pour télécharger les journaux :

1.    Créez un fichier JSON qui accorde à DataSync les autorisations minimales pour télécharger les journaux :

{
    "Statement": [
       {
            "Sid": "DataSyncLogsToCloudWatchLogs",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents",
                "logs:CreateLogStream"
            ],
            "Principal": {
                "Service": "datasync.amazonaws.com"
            },
            "Resource": "*"
        }
    ],
    "Version": "2012-10-17"
}

Vous pouvez nommer le fichier policy.json.

2.    Exécutez la commande put-resource-policy via AWS CLI pour créer une stratégie de ressources à l'aide du fichier JSON :

aws logs put-resource-policy --policy-name trustDataSync --policy-document file://policy.json --region <Region>

Important : définissez la région AWS de votre agent DataSync comme valeur pour --region.

3.    Exécutez la commande describe-resource-policies pour confirmer que la stratégie de ressources a bien été créée :

aws logs describe-resource-policies --region <Region>

4.    Après avoir créé la stratégie de ressources, la sortie de la commande est similaire à la suivante :

{
    "resourcePolicies": [
        {
            "policyName": "trustDataSync",
            "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"DataSyncLogsToCloudWatchLogs\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"datasync.amazonaws.com\"},\"Action\":[\"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\":\"*\"}]}",
            "lastUpdatedTime": 1577448776606
        }
    ]
}

5.    Pour tester la stratégie de ressources, exécutez une tâche DataSync. Quelques minutes après l'exécution de la tâche, vérifiez que le flux de journaux du groupe de journaux CloudWatch correspondant s'affiche.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?