¿El Elastic Load Balancer de AWS es un punto único de falla?

15

Estoy buscando mover nuestra aplicación a Amazon Web Services. El plan es tener todas las instancias de EC2 reflejadas en dos zonas de disponibilidad. Debido a los costos de transferencia de datos, nos quedaremos en una sola región de AWS (Oregón).

Los múltiples AZs eliminan el único punto de falla para nuestros servidores de aplicaciones y bases de datos, pero ¿qué pasa con el ELB? Si tengo un solo ELB que distribuye el tráfico a través de dos AZ, ¿el ELB también está alojado en esos dos AZ?

¿Qué hace Amazon para evitar que el ELB sea un SPoF?

Chris.B
fuente

Respuestas:

13

En esencia, un ELB es solo una colección de instancias EC2. Cuando crea un ELB , especifica las zonas de disponibilidad en las que desea que esté el balanceador de carga. Las instancias para componer el balanceador de carga se crearán en esas zonas. La forma en que evitan un solo punto de falla aquí es devolviendo múltiples direcciones IP cuando realiza una búsqueda de DNS. Por ejemplo:

  • La búsqueda de DNS para website.example.com devuelve CNAME website-elb-12345.eu-west-1.elb.amazonaws.com
  • La búsqueda también devuelve la información del sitio web-elb-12345.eu-west-1.elb.amazonaws.com. Establece que el sitio tiene la dirección IP 1.2.3.4 y la dirección IP 2.3.4.5

Depende del cliente elegir qué dirección IP usar para hacer una conexión. Las direcciones IP no siempre se devolverán en el mismo orden de la búsqueda de DNS. Un cliente podría volver a intentar una dirección IP alternativa si no puede conectarse en el primer intento.

El TTL en los registros DNS para un ELB es de solo 60 segundos, lo que significa que si una instancia de ELB muere y se reemplaza, el DNS se actualizará en todas partes con bastante rapidez.

Ricardo
fuente
Entonces, dado que desplegaré las instancias EC2 de mi aplicación en varias zonas, cuando cree el ELB para esa región, ¿se alojará automáticamente en instancias EC2 distribuidas en esas mismas dos zonas?
Chris.B
Cuando cree el ELB, ya sea a través de la API o la consola, se le pedirá que seleccione las zonas de disponibilidad en las que desea que opere el ELB. Solo necesita seleccionar las mismas zonas de disponibilidad en las que estarán sus instancias.
Richard
3

En realidad, podría ser un SPoF, pero creo que sería un SPoF solo dentro de la misma región.

Es por eso que AWS sugiere utilizar la verificación de estado de la Ruta 53 para detectar y redirigir el tráfico que terminaría en un ELB no saludable.

Puede usar las funciones de comprobación de estado de Amazon Route 53 y de conmutación por error de DNS para mejorar la disponibilidad de las aplicaciones que se ejecutan detrás de Elastic Load Balancers. Route 53 fallará lejos de un equilibrador de carga si no hay instancias EC2 sanas registradas con el equilibrador de carga o si el equilibrador de carga en sí no es saludable .

Fuente: http://aws.amazon.com/elasticloadbalancing/

Alex
fuente
Entonces, ¿hay alguna manera de configurar más de un ELB en una sola región? ¿Tiene uno como primario y otro como standby? ¿O es capaz la Ruta 53 de activar una nueva instancia de ELB?
Chris.B
No creo que Route 53 pueda configurar automáticamente un ELB, tendrías que buscar en la guía del desarrollador.
Alex
1

Puede sortear su único AZ SPoF creando un grupo de autoescalado donde, si su ELB único no cumple con el factor X, ya sea por carga, tiempo de respuesta, etc., se crea un nuevo ELB. Los ELB son esencialmente instancias EC2 que ejecutan código de AWS patentado.

jon deane
fuente
Pensé que el ELB escalaba automáticamente para manejar aumentos en la carga, etc.
Chris.B