Je souhaite résoudre les erreurs 502 et 503 qui s’affichent lorsque j'associe une fonction AWS Lambda@Edge à une distribution Amazon CloudFront.
Résolution
La fonction Lambda@Edge renvoie une erreur 502
L'erreur « 502 » se produit lorsque la fonction Lambda@Edge renvoie une réponse incorrectement formée ou que la fonction Lambda@Edge inclut un contenu non valide. La structure d'objet de la réponse doit correspondre à la structure de l'événement Lambda@Edge.
Pour résoudre l’erreur « 502 », procédez comme suit :
- Vérifiez que la fonction Lambda@Edge renvoie un objet JSON valide.
- Assurez-vous que la réponse inclut tous les champs obligatoires en fonction du type d'événement.
- Vérifiez que les objets de la réponse sont valides et suivent la structure attendue.
- Vérifiez si votre fonction Edge a ajouté un en-tête HTTP non autorisé.
- Supprimez les en-têtes en lecture seule.
- Assurez-vous que la fonction Lambda@Edge ne dépasse pas la taille du corps de requête de 1 Mo pour les événements de demande d'origine ou de 40 Ko pour les événements de demande de visualisation.
- Vérifiez que les champs de réponse ne contiennent pas de caractères ou de valeurs non valides.
Pour plus d'informations, consultez la section Tester et déboguer les fonctions Lambda@Edge et Restrictions sur Lambda@Edge.
La fonction Lambda@Edge renvoie une erreur 503
L'erreur « 503 » se produit lorsqu'il existe des exceptions ou des erreurs non gérées dans le code de fonction.
Pour résoudre ce problème, ajoutez des instructions de journalisation, par exemple console.log()), dans votre fonction Lambda@Edge pour écrire dans Amazon CloudWatch Logs. Consultez les journaux CloudWatch dans la région AWS où CloudFront exécute la fonction.
Pour plus d'informations, consultez les sections Quatre étapes pour déboguer la diffusion de votre contenu sur AWS et Résoudre les problèmes d'exécution dans Lambda.
Lambda bloque l'exécution de la fonction lorsque vous dépassez le quota de Lambda@Edge. Consultez les métriques Lambda@Edge CloudWatch pour détecter les problèmes, tels que le dépassement des exécutions simultanées dans chaque région AWS et le dépassement des fonctions.