es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El AWS ELB devuelve de manera aleatoria una respuesta 504/503.

Tenemos una aplicación de interfaz de usuario implementada en el servidor web Apache, dentro de una instancia EC2 (t2.small). Tenemos 2 instancias de este tipo detrás de ELB (equilibrador de carga clásico) en 2 zonas de disponibilidad. Desde el navegador se realiza una solicitud para obtener recursos de javascript y CSS del servidor, sin embargo, a veces, la solicitud de red para obtener estos recursos falla, arrojando un tiempo de espera 504 y a veces 503. Cuando actualizamos la página varias veces, a veces obtenemos un 504/503 y luego en la siguiente actualización carga bien.
No veo ningún error en los registros de acceso de Apache ni nada útil en los registros de ELB.
Se devuelve el siguiente encabezado de respuesta para el tiempo de espera 504, que no veo para la respuesta 2xx:
“server: awselb/2.0”.
También he intentado mantener solo una instancia, pero aún así se reproduce este problema.
Se agradecen cualquier puntero de depuración. TIA

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Posibles soluciones para errores de tiempo de espera 504/503 en la infraestructura AWS

    Pueden existir múltiples razones para los errores de tiempo de espera 504/503 en esta infraestructura. Algunas de las posibles soluciones que se pueden probar son:

    1. Aumentar el límite de tiempo de espera: Lo primero que se puede probar es aumentar el límite de tiempo de espera para el balanceador de carga utilizando el parámetro idle timeout. Además, compruebe si el valor del tiempo de espera de la comprobación de estado de salud es correcto, ya que también puede provocar este tipo de errores.
    2. Optimizar la utilización de recursos de las instancias EC2: La instancia t2.small puede no ser suficiente para manejar la carga. Pruebe a aumentar el tamaño de la instancia o a utilizar grupos de escalado automático para añadir instancias dinámicamente cuando aumente la carga.

    3. Comprobar los grupos de seguridad: Asegurarse de que los grupos de seguridad asociados a las instancias no tengan ninguna restricción en los puertos y protocolos que su aplicación está utilizando.

    4. Comprobar la resolución de DNS: Asegurarse de que la resolución de DNS funciona correctamente entre el navegador y el balanceador de carga. Si la resolución de DNS no está funcionando correctamente, esto puede provocar problemas de conectividad.

    5. Activar el registro de acceso: Activar el registro de acceso para el balanceador de carga para capturar información detallada sobre las solicitudes de los clientes y los tiempos de respuesta del servidor. Esta información podría ayudar a identificar problemas y proporcionar una pista sobre la causa raíz.

    6. Monitorizar el rendimiento de la red: Trate de monitorizar el rendimiento de la red de las infraestructuras como las instancias EC2 y los balanceadores de carga. Los servicios de AWS como Amazon CloudWatch, VPC flow logs y AWS X-Ray pueden ayudar a monitorizar e identificar problemas relacionados con la red.

    7. Comprobar problemas de dependencia de la aplicación y de terceros: Según el contexto del problema dado, no se está notando ningún error desde los registros de acceso de Apache o los registros de ELB. Por lo tanto, existe una probabilidad potencial de que las solicitudes de red estén fallando debido a problemas dentro de la aplicación o de un servicio de terceros que se está llamando.

    Con suerte, estos puntos de depuración ayudarán a solucionar el problema y proporcionar una solución.

Comments are closed.