Código de estado HTTP 503 (Servicio no disponible) - Amazon CloudFront

Código de estado HTTP 503 (Servicio no disponible)

El código de estado HTTP 503 (Servicio no disponible) suele indicar un problema de desempeño en el servidor de origen. En casos excepcionales, indica que CloudFront no puede satisfacer temporalmente una solicitud debido a restricciones de recursos en una ubicación periférica.

Si utiliza Lambda@Edge o CloudFront Functions, puede que el problema se deba a un error de ejecución o a un error de superación de límite de Lambda@Edge.

El servidor de origen no tiene capacidad suficiente para soportar la tasa de solicitudes

Cuando un servidor de origen no está disponible o no puede atender solicitudes entrantes, devuelve un código de estado HTTP 503 (servicio no disponible). En ese caso, CloudFront devuelve el error al usuario. Para resolver este problema, pruebe lo siguiente:

  • Si utiliza Amazon S3 como servidor de origen:

    • puede realizar al 3500 solicitudes PUT/COPY/POST/DELETE o 5500 solicitudes GET/HEAD por segundo y prefijo de Amazon S3 dividido. Cuando Amazon S3 devuelve una respuesta 503 Slow Down, normalmente indica una tasa de solicitudes excesiva con respecto a un prefijo de Amazon S3 específico.

      Como las tasas de solicitud se aplican por prefijo en un bucket de S3, los objetos deben distribuirse entre varios prefijos. A medida que la tasa de solicitudes de los prefijos aumenta gradualmente, Amazon S3 se escala para gestionar las solicitudes de cada uno de los prefijos por separado. Como resultado, la tasa general de solicitudes que gestiona el bucket es un múltiplo del número de prefijos.

    • Para obtener más información, consulte Optimizar el rendimiento de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.

  • Si utiliza Elastic Load Balancing como servidor de origen:

    • Asegúrese de que sus instancias de backend puedan responder a las comprobaciones de estado.

    • Asegúrate de que el equilibrador de carga y las instancias de backend puedan gestionar la carga.

    Para obtener más información, consulte:

  • Si utiliza un origen personalizado:

    • Revise los registros la aplicación para garantizar que su origen cuenta con suficientes recursos, como memoria, CPU y tamaño de disco.

    • Si utiliza Amazon EC2 como backend, asegúrese de que el tipo de instancia cuente con los recursos apropiados para responder adecuadamente a las solicitudes entrantes. Para obtener más información, consulte Tipos de instancia en la Guía del usuario de Amazon EC2.

  • Si utiliza API Gateway:

    • Este error está relacionado con la integración del backend cuando la API de API Gateway no puede recibir una respuesta. El servidor backend:

      • Podría estar sobrecargado por encima de su capacidad y no puede procesar las solicitudes de nuevos clientes.

      • Podría estar en mantenimiento temporal.

    • Para resolver este error, consulte los registros de las aplicaciones de API Gateway para determinar si hay algún problema con la capacidad del backend, la integración o algún otro problema.

CloudFront ha causado el error debido a las restricciones de recursos en la ubicación de borde

Recibirá este error en la improbable situación de que CloudFront no pueda dirigir las solicitudes hacia la siguiente mejor ubicación periférica disponible y, por tanto, no pueda satisfacer una solicitud. Este es un error común al realizar pruebas de carga en la distribución de CloudFront. Para ayudar a evitarlo, siga las instrucciones de Pruebas de carga de CloudFront para evitar errores 503 (Capacidad superada).

Si esto ocurre en su entorno de producción, póngase en contacto con AWS Support.

Error de ejecución de la Lambda@Edge o CloudFront Function

Si utiliza Lambda@Edge o CloudFront Functions, un código de estado HTTP 503 puede indicar que la función de ha devuelto un error de ejecución.

Para obtener más información acerca de cómo identificar y resolver errores de Lambda@Edge, consulte Prueba y depuración de funciones de Lambda@Edge.

Para obtener más información acerca de las pruebas de CloudFront Functions, consulte Prueba de funciones.

Superación del límite de Lambda@Edge

Si utiliza Lambda@Edge, un código de estado HTTP 503 puede indicar que Lambda ha devuelto un error. Esto podría deberse a una de las siguientes causas:

  • El número de ejecuciones de la función superó una de las cuotas que Lambda establece para restringir las ejecuciones en una Región de AWS (ejecuciones simultáneas o frecuencia de invocación).

  • La función superó la cuota de tiempo de espera de la función Lambda.

Para obtener más información sobre las cuotas de Lambda@Edge, consulte Cuotas de Lambda@Edge. Para obtener más información acerca de cómo identificar y resolver errores de Lambda@Edge, consulte Prueba y depuración de funciones de Lambda@Edge. También puede consultar las cuotas del servicio Lambda en la Guía para desarrolladores de AWS Lambda.