Saltar al contenido
← Catálogo
Redes y entrega de contenidoFundamental

Elastic Load Balancing

Elastic Load Balancing (ELB)

Reparte el tráfico entrante entre varios destinos sanos y retira del reparto a los que dejan de responder.

En palabras simples

Es la persona que organiza la fila en el banco: mira qué cajas están abiertas y atendiendo, y manda a cada quien a la que puede atenderle.

Cuándo aplicarlo

Cuando hay más de una instancia, contenedor o función atendiendo la misma aplicación, y hace falta un punto de entrada único que reparta y detecte fallos.

  • ▸Distribuir peticiones entre varias instancias EC2 idénticas
  • ▸Terminar HTTPS en un punto y dejar el certificado fuera de la aplicación
  • ▸Enrutar por ruta o por dominio hacia servicios distintos de un mismo clúster
  • ▸Permitir despliegues sin interrupción, sacando destinos del reparto uno a uno

Vocabulario mínimo

Application Load Balancer
Trabaja en capa 7: entiende HTTP y puede enrutar según la ruta, el dominio o las cabeceras.
Network Load Balancer
Trabaja en capa 4: reparte TCP y UDP con latencia mínima y millones de conexiones.
Grupo de destino
El conjunto de instancias, direcciones IP, contenedores o funciones Lambda que reciben el tráfico.
Comprobación de estado
La petición periódica que decide si un destino sigue sano. Si falla, deja de recibir tráfico.
Oyente (listener)
El puerto y protocolo por el que el balanceador escucha, con las reglas que aplican a ese tráfico.

Costo y capa gratuita

Cómo se cobra
Una tarifa por hora de balanceador encendido más un cargo por unidades de capacidad consumidas. Se paga aunque no llegue tráfico.
Capa gratuita
750 horas al mes de un Application Load Balancer o un Network Load Balancer, con 15 GB de datos procesados, durante los primeros 12 meses.

Cuidado con los créditos

  • ⚠Un balanceador olvidado tras un taller: es de los recursos que más silenciosamente consumen créditos.
  • ⚠Poner un balanceador delante de una sola instancia en un proyecto pequeño: cuesta más que la instancia.
  • ⚠Varios balanceadores donde bastaría uno con reglas de enrutamiento por ruta o por dominio.

Descripción

El balanceador es la pieza que convierte varias máquinas en un solo servicio. Sin él, cada instancia tendría su propia dirección y alguien tendría que decidir a mano a cuál conectarse — y qué hacer cuando una se cae.

Hace dos trabajos a la vez. Reparte el tráfico, sí, pero sobre todo comprueba la salud de cada destino y saca del reparto al que deja de responder. Esa segunda función es la que permite desplegar sin cortar el servicio y sobrevivir a la pérdida de una instancia.

Cómo funciona

  1. Creas el balanceador en subredes de al menos dos zonas de disponibilidad.
  2. Defines un oyente: por ejemplo, HTTPS en el puerto 443, con un certificado de ACM.
  3. Registras un grupo de destino con las instancias, direcciones IP o contenedores que atienden.
  4. Configuras la comprobación de estado: una ruta que devuelva 200 cuando la aplicación está bien.
  5. El balanceador reparte solo entre los destinos sanos, y reincorpora los que se recuperan.

Manos a la obra

  • Lanza dos instancias t3.micro con un servidor web que muestre su propio identificador.
  • Crea un Application Load Balancer con un grupo de destino que incluya a las dos.
  • Recarga la URL del balanceador varias veces y observa cómo alternan las respuestas.
  • Detén el servidor web de una instancia y comprueba que deja de recibir tráfico en segundos.
  • Borra el balanceador y las instancias al terminar: el balanceador cobra por hora.

Ejemplo visual

Un punto de entrada, varios destinos sanosHTTPSreparteexcluidaVisitanteLoad BalancerHTTPSAmazon EC2sanaAmazon EC2sanaAmazon EC2no responde
Un punto de entrada, varios destinos sanosLos visitantes llegan por HTTPS a un Application Load Balancer, que termina el cifrado con un certificado de AWS Certificate Manager y reparte las peticiones entre tres instancias de Amazon EC2 registradas en su grupo de destino. El balanceador comprueba periódicamente la salud de cada instancia y deja de enviar tráfico a la que falla, hasta que vuelve a responder correctamente. Para el visitante existe un solo servicio, aunque detrás haya varias máquinas intercambiables.

Combinado con un grupo de escalado automático, el balanceador es lo que hace que reemplazar una instancia sea un no evento: se retira del reparto, se termina y entra otra en su lugar.

Cuándo NO es la mejor opción

  • Amazon CloudFront — si el contenido es estático o cacheable, la CDN evita que la petición llegue siquiera a la aplicación.
  • Amazon API Gateway — si lo que publicas es una API con autenticación, límites de uso y funciones Lambda detrás.
  • AWS Global Accelerator — si el reparto debe ocurrir entre regiones y no entre destinos de una misma región.

Se usa junto con

Aparece en certificaciones

  • AWS Certified Cloud Practitioner
  • AWS Certified Solutions Architect – Associate
  • AWS Certified SysOps Administrator – Associate