Journaux des fonctions Edge - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Journaux des fonctions Edge

Vous pouvez utiliser Amazon CloudWatch Logs pour obtenir les journaux de vos fonctions périphériques, à la fois Lambda @Edge et CloudFront Functions. Vous pouvez accéder aux journaux à l'aide de la CloudWatch console ou de l'API CloudWatch Logs.

Important

Nous vous recommandons d'utiliser les journaux pour comprendre la nature des demandes concernant votre contenu, et non comme un compte rendu complet de toutes les demandes. CloudFront fournit des journaux des fonctions de pointe dans les meilleures conditions. L’entrée du journal pour une demande particulière peut être fournie bien après le traitement réel de la demande et, dans de rares cas, une entrée du journal peut ne pas être fournie du tout. Quand une entrée de journal est omise des journaux de fonctions de périphérie, le nombre d'entrées des journaux de fonctions de périphérie ne correspond pas à l'utilisation qui apparaît dans les rapports d'utilisation et de facturation AWS .

Journaux Lambda@Edge

Lambda @Edge envoie automatiquement des journaux de fonctions à Logs, créant ainsi des flux de CloudWatch journaux dans l' Régions AWS endroit où les fonctions sont invoquées. Lorsque vous créez ou modifiez une fonction dans AWS Lambda, vous pouvez soit utiliser le nom du groupe de CloudWatch journaux par défaut, soit le personnaliser.

  • Le nom du groupe de journaux par défaut <FunctionName> est /aws/lambda/<FunctionName> où se trouve le nom que vous avez spécifié lors de la création de la fonction. Lors de l'envoi de journaux à CloudWatch, Lambda @Edge ajoute automatiquement le us-east-1 préfixe au nom de la fonction, de sorte que le nom du groupe de journaux soit. /aws/lambda/us-east-1.<FunctionName> Ce préfixe correspond à l' Région AWS endroit où la fonction a été créée. Ce préfixe fait toujours partie du nom du groupe de journaux, même dans les autres régions où la fonction est invoquée.

  • Si vous spécifiez un nom de groupe de journaux personnalisé/MyLogGroup, tel que Lambda @Edge n'ajoutera pas le préfixe Region. Le nom du groupe de journaux reste le même dans toutes les autres régions où la fonction est invoquée.

Note

Si vous créez un groupe de journaux personnalisé et que vous spécifiez le même nom que celui par défaut/aws/lambda/<FunctionName>, Lambda @Edge ajoute le us-east-1 préfixe au nom de la fonction.

Outre la personnalisation du nom du groupe de journaux, les fonctions Lambda @Edge prennent en charge les formats de journal JSON et en texte brut, ainsi que le filtrage au niveau du journal. Pour plus d'informations, consultez la section Configuration des contrôles de journalisation avancés pour la fonction Lambda dans le Guide du AWS Lambda développeur.

Note

Lambda@Edge limite les journaux en fonction du volume de la demande et de la taille des journaux.

Vous devez consulter les fichiers CloudWatch journaux dans la région appropriée pour voir les fichiers journaux de vos fonctions Lambda @Edge. Pour voir les régions dans lesquelles votre fonction Lambda @Edge est exécutée, consultez les graphiques des métriques de la fonction dans la CloudFront console. Les métriques sont affichées pour chaque région . Sur la même page, vous pouvez choisir une région et afficher les fichiers journaux pour cette région afin de pouvoir rechercher des problèmes.

Pour en savoir plus sur l'utilisation des CloudWatch journaux avec les fonctions Lambda @Edge, consultez les rubriques suivantes :

CloudFront Journaux de fonctions

Si le code d'une CloudFront fonction contient des console.log() instructions, CloudFront Functions envoie automatiquement ces lignes de journal à CloudWatch Logs. S'il n'y a aucune console.log() déclaration, rien n'est envoyé à CloudWatch Logs.

CloudFront Functions crée toujours des flux de journaux dans la région de l'est des États-Unis (Virginie du Nord) (us-east-1), quel que soit l'emplacement périphérique sur lequel la fonction a été exécutée. Le nom du groupe de journaux est au format /aws/cloudfront/function/<FunctionName>, où <FunctionName> est le nom que vous avez donné à la fonction lors de sa création. Le nom du flux de journal est au format YYYY/M/D/UUID.

Voici un exemple de message de journal envoyé à CloudWatch Logs. Chaque ligne commence par un identifiant qui identifie de manière unique une CloudFront demande. Le message commence par une START ligne qui inclut l'ID CloudFront de distribution et se termine par une END ligne. Entre les lignes START et END se trouvent les lignes de journal générées par les instructions console.log() de la fonction.

U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADAXZZ U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== Example function log output U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
Note

CloudFront Functions envoie des journaux CloudWatch uniquement pour les fonctions de la LIVE phase qui s'exécutent en réponse aux demandes et réponses de production. Lorsque vous testez une fonction, CloudFront elle n'envoie aucun journal à CloudWatch. Le résultat du test contient des informations sur les erreurs, l'utilisation du calcul et les journaux de fonctionnement (console.log()instructions), mais ces informations ne sont pas envoyées à CloudWatch.

CloudFront Functions utilise un rôle lié à un service AWS Identity and Access Management (IAM) pour envoyer les journaux aux CloudWatch journaux de votre compte. Un rôle lié à un service est un rôle IAM directement lié à un. Service AWS Les rôles liés au service sont prédéfinis par le service et incluent toutes les autorisations dont le service a besoin Services AWS pour appeler d'autres personnes à votre place. CloudFront Functions utilise le rôle AWSServiceRoleForCloudFrontLoggerlié au service. Pour plus d'informations sur ce rôle, consultez Rôles liés à un service pour Lambda@Edge (Lambda@Edge utilise le même rôle lié au service).

Lorsqu'une fonction échoue en raison d'une erreur de validation ou d'exécution, les informations sont enregistrées dans des journaux standard et des journaux en temps réel. Pour obtenir des informations spécifiques sur l'erreur, consultez les x-edge-result-type x-edge-detailed-result-type champsx-edge-response-result-type, et.