Comment éliminer l'erreur « Error loading Log Streams » (Erreur de chargement des flux de journaux) pour les journaux de la fonction Lambda dans la console CloudWatch ?

Date de la dernière mise à jour : 29/07/2019

Lorsque j'essaie d'afficher les journaux de ma fonction AWS Lambda dans la console Amazon CloudWatch, je reçois le message d'erreur suivant : « There was an error loading Log Streams. Please try again by refreshing this page » (Une erreur s'est produite lors du chargement des flux de journaux. Veuillez réessayer en actualisant cette page). Comment éliminer cette erreur ?

Brève description

Cette erreur se produit lorsque vous tentez d' afficher les journaux Lambda dans CloudWatch en utilisant AWS Management Console et que le groupe de journaux n'existe pas. Les journaux sont générés uniquement après la toute première exécution de la fonction. S'il n'existe aucun groupe de journaux, cela implique qu'il existe généralement un problème lié aux autorisations de la fonction AWS Identity and Access Management (IAM).

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

Solution

Vérifiez que votre rôle d'exécution de la fonction Lambda dispose des autorisations suffisantes pour écrire des journaux dans CloudWatch, et que la ressource log-group dans la stratégie IAM contient le nom de votre fonction.

Dans la console IAM, vérifiez et modifiez la stratégie IAM du rôle d'exécution pour que :

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

À titre de référence, voici un exemple de document de stratégie JSON avec les autorisations requises :

{
    "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 ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?