Comment puis-je résoudre l'erreur « Log group does not exist » (Le groupe de journaux n'existe pas) pour les journaux de fonction Lambda dans la console CloudWatch ?

Dernière mise à jour: 14/04/2021

Lorsque j'essaie d'afficher les journaux de ma fonction AWS Lambda dans la console Amazon CloudWatch, une erreur « Log group does not exist » (Le groupe de journaux n'existe pas) s'affiche. Comment puis-je corriger ce problème ?

Brève description

S'il n'y a pas de groupe de journaux pour la fonction Lambda lorsque vous essayez d'afficher les journaux de votre fonction, CloudWatch renvoie l'erreur suivante :

"Log group does not exist. The specific log group: <log group name> does not exist in this account or region."

Les journaux sont générés uniquement après la première exécution de la fonction. S'il n'y a pas de groupe de journaux après l'appel de la fonction, c'est généralement en raison d’un problème avec les autorisations AWS Identity and Access Management (IAM) de la fonction.

Pour résoudre l'erreur Le groupe de journaux n'existe pas de CloudWatch, confirmez ce qui suit :

  • Le rôle d'exécution de votre fonction Lambda dispose d'autorisations suffisantes pour écrire des journaux dans CloudWatch.
  • La ressource du groupe de journaux dans la stratégie IAM inclut le nom de votre fonction.

Remarque : pour les problèmes de journalisation liés aux autorisations avec Lambda@Edge, consultez Rôles liés à un service pour Lambda@Edge.

Solution

Dans la console IAM, vérifiez et modifiez la stratégie IAM pour le rôle d'exécution de la fonction Lambda afin que les conditions suivantes soient remplies :

  • Les actions d'écriture CreateLogGroup et CreateLogStream sont autorisées.
    Remarque : si vous n'avez pas besoin d'autorisations personnalisées pour votre fonction, vous pouvez attacher la stratégie gérée AWSlambdabasicExecutionRole. Cette stratégie gérée permet à Lambda d'écrire des journaux dans CloudWatch.
  • La région AWS spécifiée dans l'Amazon Resource Name (ARN) est identique à celle de votre fonction Lambda.
  • Le ressource log-group contient le nom de votre fonction Lambda. Par exemple, si votre fonction s'appelle myLambdaFunction, la ressource log-group associée est /aws/lambda/myLambdaFunction.

Exemple de stratégie JSON qui inclut les autorisations requises d'une fonction Lambda pour écrire des journaux dans CloudWatch

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "arn:aws:logs:region:accountId:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:region:accountId:log-group:/aws/lambda/functionName:*"
            ]
        }
    ]
}

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


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