Ya sabes qué es un balanceador y cuándo usar ALB o NLB. Ahora vamos a abrir la caja y ver sus tres componentes internos: los listeners (qué tráfico escucha), las reglas (cómo decide) y los Target Groups (a qué servidores envía). Entender estas tres piezas es entender cómo funciona realmente un balanceador.

El recorrido de una petición

Cuando un usuario visita tu web a través del balanceador, su petición pasa por tres etapas:

Usuario ──► [ LISTENER ] ──► [ REGLAS ] ──► [ TARGET GROUP ] ──► Servidor
           "escucho el      "decido a       "grupo de
            puerto 443"      dónde va"        servidores"

Veamos cada pieza.

  1. Listener: qué tráfico escucha el balanceador

Un listener (oyente) es una «puerta abierta» del balanceador que escucha en un puerto concreto. Por ejemplo:

  • Un listener en el puerto 80 escucha el tráfico HTTP.
  • Un listener en el puerto 443 escucha el tráfico HTTPS (seguro).
Balanceador
 ├── Listener puerto 80  (HTTP)  → normalmente redirige a HTTPS
 └── Listener puerto 443 (HTTPS) → atiende las peticiones seguras

Analogía: los listeners son como las distintas líneas de teléfono de una empresa. Una línea para ventas (puerto 80), otra para soporte (puerto 443). Cada una escucha y, según quién llame, lo deriva al departamento correcto.

Un patrón muy habitual: el listener del puerto 80 (HTTP) redirige automáticamente al 443 (HTTPS) para forzar conexiones seguras.

  1. Target Group: el grupo de servidores destino

Un Target Group (grupo de destino) es una lista de servidores (instancias EC2, contenedores, funciones Lambda...) que reciben el tráfico. El balanceador no envía las peticiones a servidores sueltos, sino a un Target Group, que es quien agrupa los destinos.

Target Group "servidores-web"
 ├── Servidor 1  ✓ sano
 ├── Servidor 2  ✓ sano
 └── Servidor 3  ✗ no responde  ← el balanceador NO le envía tráfico

Los health checks: la magia de la alta disponibilidad

Aquí está una de las claves más importantes: cada Target Group hace health checks (comprobaciones de salud). Periódicamente, el balanceador «pregunta» a cada servidor si está bien (por ejemplo, haciendo una petición a una URL como /health).

  • Si el servidor responde correctamente → está «sano», recibe tráfico.
  • Si no responde (se ha caído, está saturado...) → se marca «no sano» y el balanceador deja de enviarle peticiones automáticamente, hasta que se recupere.

Esto es lo que da la alta disponibilidad del subcapítulo 13.1. Gracias a los health checks, si un servidor falla, los usuarios nunca llegan a él: el balanceador los redirige a los servidores sanos sin que nadie note el problema. Sin health checks, el balanceador seguiría enviando gente a un servidor caído.

  1. Reglas: cómo decide el balanceador

Las reglas (rules) conectan listeners con Target Groups. En un ALB (que es inteligente, capa 7), las reglas pueden mirar el contenido de la petición para decidir a qué Target Group enviarla:

Listener 443 (HTTPS)
 ├── Regla: si la ruta es /api/*   → Target Group "servidores-api"
 ├── Regla: si la ruta es /imagenes/* → Target Group "servidores-estaticos"
 └── Regla por defecto             → Target Group "servidores-web"

Esto es el enrutamiento inteligente que mencionamos en el subcapítulo 13.1: un mismo balanceador puede repartir el tráfico a distintos grupos de servidores según la URL, el dominio, las cabeceras, etc.

Cómo encaja todo: un ejemplo

Imagina una tienda online. El recorrido de una petición a https://tienda.com/api/productos:

  1. Listener del puerto 443 (HTTPS) recibe la petición.
  2. Una regla ve que la ruta empieza por /api/ → la envía al Target Group servidores-api.
  3. El Target Group servidores-api tiene 3 servidores; 2 están sanos. Envía la petición a uno de los sanos.
  4. Ese servidor responde, y la respuesta vuelve al usuario por el mismo camino.
Usuario → Listener 443 → Regla (/api/*) → Target Group API → Servidor sano

Tabla resumen

Componente Qué hace Analogía
Listener Escucha un puerto (80, 443...) Línea de teléfono
Regla Decide a qué Target Group enviar Recepcionista que deriva
Target Group Grupo de servidores destino, con health checks Departamento con sus empleados
Health check Comprueba si cada servidor está sano Pasar lista de presentes

Lo que debes recordar

  • Una petición recorre tres etapas: Listener (escucha un puerto) → Reglas (deciden el destino) → Target Group (servidores que responden).
  • El listener escucha en un puerto (80 para HTTP, 443 para HTTPS); es habitual redirigir 80 → 443.
  • El Target Group agrupa los servidores destino y hace health checks: si un servidor no responde, deja de recibir tráfico automáticamente. Esto es lo que da la alta disponibilidad.
  • Las reglas (en el ALB) permiten enrutamiento inteligente por ruta, host o cabeceras hacia distintos Target Groups.

En el siguiente subcapítulo veremos la otra mitad de la magia: cómo crear y eliminar servidores automáticamente según la demanda, con los Auto Scaling Groups.

Cloud, AWS & Terraform — De cero a experto

Capítulo 1 · Qué es el cloud computing

Capítulo 2 · El mercado cloud y los grandes proveedores

Capítulo 3 · Regiones, zonas de disponibilidad y edge

Capítulo 4 · Cómputo: EC2

Capítulo 5 · Almacenamiento: S3

Capítulo 6 · Redes: VPC

Capítulo 7 · Identidad y acceso: IAM

Capítulo 8 · Bases de datos gestionadas

Capítulo 9 · Por qué Infraestructura como Código

Capítulo 10 · HCL: el lenguaje de Terraform

Capítulo 11 · Providers y estado

Capítulo 12 · Tu primera infraestructura real en Terraform

Capítulo 13 · Balanceo de carga y autoescalado

Capítulo 14 · Serverless con Lambda

Capítulo 15 · Mensajería y eventos

Capítulo 16 · Entrega de contenido y DNS

Capítulo 17 · Contenedores en AWS

Capítulo 18 · Módulos: reutilización y composición

Capítulo 19 · Workspaces y gestión de entornos

Capítulo 20 · Backends remotos y locking

Capítulo 21 · Testing de infraestructura

Capítulo 22 · Terraform en CI/CD

Capítulo 23 · Seguridad en profundidad

Capítulo 24 · Observabilidad: logs, métricas y trazas

Capítulo 25 · Optimización de costes

Capítulo 26 · Alta disponibilidad y disaster recovery

Capítulo 27 · Well-Architected Framework de AWS

Capítulo 28 · Arquitecturas serverless a escala

Capítulo 29 · Plataformas de datos en AWS

Capítulo 30 · Multi-cuenta y landing zones

Capítulo 31 · Platform Engineering e Internal Developer Platform

Capítulo 32 · Certificaciones AWS relevantes

Capítulo 33 · Proyectos para consolidar lo aprendido

Capítulo 34 · Recursos y comunidad

© Copyright 2024. Todos los derechos reservados