Comment résoudre les erreurs 500, 502 et 503 causées par les fonctions Lambda@Edge dans CloudFront ?

Lecture de 3 minute(s)
0

J'ai associé la fonction AWS Lambda@Edge à une distribution Amazon CloudFront. Maintenant, je reçois des erreurs 500, 502 ou 503. Comment puis-je résoudre ces erreurs ?

Brève description

Les erreurs Lambda@Edge 500, 502 et 503 indiquent ce qui suit :

  • Le code d'état HTTP 500 indique que la fonction Lambda a renvoyé une erreur d'exécution.

  • Le code d'état HTTP 502 indique que la réponse de la fonction Lambda était incorrectement formée ou incluait un contenu non valide.

  • Le code d'état HTTP 503 indique que CloudFront est limité en raison des quotas de services Lambda (anciennement appelés limites).

Consultez les sections suivantes pour connaître les causes de ces erreurs et savoir comment les résoudre.

Solution

La fonction Lambda@Edge renvoie une erreur 500

Une erreur d'exécution 500 se produit lorsque CloudFront ne reçoit pas de réponse de Lambda. Cela se produit parce qu'il y a des exceptions non gérées dans la fonction, qu'il y a une erreur dans le code ou qu'il s'agit d'un environnement d'exécution non pris en charge.

Pour résoudre l'erreur 500 générée par Lambda@Edge, vous devez déboguer votre code en ajoutant des instructions de journalisation pour les fonctions Lambda. Pour en savoir plus, consultez Quatre étapes pour déboguer votre diffusion de contenu sur AWS et examinez les informations sous I – Erreurs d'exécution. Ces instructions de journalisation écrivent des messages dans les fichiers journaux CloudWatch qui surveillent l'exécution de la fonction CloudFront. Vous pouvez examiner ces instructions dans les fichiers journaux CloudWatch pour vérifier que la fonction fonctionne correctement.

Pour plus d'informations, consultez Erreurs de fonction Lambda dans Node.js et Erreurs de fonction Lambda dans Python.

La fonction Lambda@Edge renvoie une erreur 502

Après l'exécution de la fonction, CloudFront reçoit une réponse de Lambda. Une erreur 502 est renvoyée si la structure d'objet de la réponse n'est pas conforme à la structure d'événement Lambda@Edge. Une erreur 502 est également renvoyée si la réponse contient des en-têtes non valides ou d'autres champs non valides.

Pour résoudre l'erreur 502 générée par Lambda@Edge, vérifiez la fonction Lambda@Edge pour les problèmes courants suivants :

  • Objet JSON renvoyé
  • Champs obligatoires manquants
  • La réponse contient un objet qui n'est pas valide
  • L'ajout ou la mise à jour n'est pas autorisé ou il existe des en-têtes en lecture seule
  • Dépassement de la taille de corps maximale
  • Les caractères ou les valeurs ne sont pas valides

Pour plus d'informations, consultez Test et débogage des fonctions Lambda@Edge et Restrictions sur les fonctions Edge.

La fonction Lambda@Edge renvoie une erreur 503

Le service Lambda limite les exécutions dans chaque région et renvoie une erreur 503 si vous dépassez le quota.

Pour résoudre l'erreur 503, vérifiez les métriques et les fichiers journaux CloudWatch de Lambda@Edge pour les problèmes courants suivants :

  • Exécutions simultanées par région
  • Quotas de fonctions atteints

Pour plus d'informations, consultez Quotas sur Lambda@Edge.

Remarque : vous devez examiner les fichiers journaux CloudWatch dans la région appropriée pour voir les fichiers journaux créés lorsque CloudFront a exécuté la fonction Lambda.


Informations connexes

Bonnes pratiques de conception Lambda@Edge

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans