Quiero solucionar los errores 502 y 503 que recibo al asociar una función de AWS Lambda@Edge a una distribución de Amazon CloudFront.
Resolución
La función de Lambda@Edge devuelve un error 502
El error «502» se produce cuando la función de Lambda@Edge devuelve una respuesta mal formada o incluye contenido que no es válido. La estructura de objetos de la respuesta debe coincidir con la estructura de eventos de Lambda@Edge.
Para resolver el error «502», haz lo siguiente:
- Comprueba que la función de Lambda@Edge devuelva un objeto JSON válido.
- Asegúrate de que la respuesta incluya todos los campos obligatorios según el tipo de evento.
- Verifica que los objetos de la respuesta sean válidos y sigan la estructura esperada.
- Comprueba si tu función periférica ha agregado un encabezado HTTP no permitido.
- Elimina los encabezados de solo lectura.
- Asegúrate de que la función de Lambda@Edge no supere el tamaño del cuerpo de la solicitud de 1 MB para los eventos de solicitud de origen o de 40 KB para los eventos de solicitud del visor.
- Comprueba si hay caracteres o valores en los campos de respuesta que no sean válidos.
Para obtener más información, consulta Prueba y depuración de funciones de Lambda@Edge y Restricciones de Lambda@Edge.
La función de Lambda@Edge devuelve un error 503
El error «503» se produce cuando hay excepciones o errores no controlados en el código de la función.
Para resolver este problema, agrega instrucciones de registro, como console.log()), en la función de Lambda@Edge para escribir en Registros de Amazon CloudWatch. Revisa los registros de CloudWatch en la región de AWS en la que CloudFront ejecuta la función.
Para obtener más información, consulta Four steps for debugging your content delivery on AWS (Cuatro pasos para depurar la entrega de contenido en AWS) y Solucionar problemas de ejecución en Lambda.
Lambda bloquea la ejecución de la función cuando se supera la cuota de Lambda@Edge. Consulta las métricas de CloudWatch de Lambda@Edge para ver si hay problemas, como el exceso de ejecuciones simultáneas en cada región de AWS y el exceso de funciones.