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

Dernière mise à jour : 19/07/2022

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 politiques de ressources CloudWatch Logs dans la région AWS de votre agent DataSync :

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

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

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

Remarque : chaque compte AWS est autorisé à utiliser jusqu'à 10 politiques de ressources par région pour CloudWatch Logs. Si vous dépassez cette limite, vous recevez un message d'erreur lors de la création de votre politique de ressources.

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

{
  "resourcePolicies": []
}

Important : vérifiez que la politique de ressources pour DataSync est activée dans la région AWS appropriée. La politique 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 politique de ressources a bien été créée :

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

Remarque : chaque compte AWS est autorisé à utiliser jusqu'à 10 politiques de ressources par région pour CloudWatch Logs. Si vous dépassez cette limite, vous recevez un message d'erreur lors de la création de votre politique de ressources. Utilisez la commande put-resource-policy pour vérifier si vous avez atteint la limite.

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 ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?