¿Cómo funciona la comprobación de estado de Amazon ELB?

¿Cómo funciona la comprobación de estado de Amazon ELB?

Tengo problemas para configurar ELB para mis servidores.

Inicio 2 microinstancias con exactamente la misma configuración e intento realizar el equilibrio de carga. Sin embargo, nunca pasan la verificación de estado (ruta del puerto HTTP 80: "/").

  • Ping está bien en el sitio web. También lo es telnet en 80.

¿Cómo funcionó el chequeo médico? ¿Estoy haciendo algo realmente mal?

EDITAR:

  • Tanto el acceso directo al navegador como GET (a través de curl) funcionan correctamente (estado 200)

Respuesta1

Tengo el mismo problema. Simplemente lo hago verificar TCP:80 como solución provisional (que funciona bien).

Respuesta2

He llegado a la conclusión de que la respuesta, además de ser una respuesta HTTP 200, debe contener ciertos encabezados. Recibí un HTTP 200 devuelto desde mi servidor Tomcat ejecutándose en la instancia que no funciona, pero una página html estática servida por httpd (que también devuelve un código 200) funciona bien. Al observar los encabezados, una de las pocas diferencias fue que el de Tomcat no contenía el tipo de contenido. Sin embargo, no estoy seguro de por qué eso haría la diferencia.

Respuesta3

Supongo que realiza una solicitud HTTP GET a la ruta especificada "/", de cada uno de los servidores y busca un código de respuesta HTTP exitoso (200). ¿Puede realizar con éxito una solicitud GET a http://<backend_server_IP>:80/través de un navegador (o una herramienta CLI como wgeto curl)?

Si la solicitud se atiende exitosamente, lo segundo que debe preguntar es: ¿ha configurado el grupo de seguridad de sus servidores para que el acceso al puerto 80 esté limitado a una dirección de origen o subred en particular? Si es así, deberá agregar el grupo de seguridad de ELB al filtro. El grupo siempre se llama:

amazon-elb/amazon-elb-sg

Por lo tanto, puede agregar esto en el campo 'Fuente' en la sección Grupos de seguridad de la Consola de AWS.

Respuesta4

así que acabo de hacer funcionar la verificación http apuntándola a un archivo html estático (a diferencia de una página php).

'/' no funciona a pesar de que devuelve un estado http válido cuando se usa curl, etc. Sin embargo, '/file.html' pasa la verificación de estado.

información relacionada