Módulo 5 · Cómputo: máquinas e instancias/Lección 34
Balanceadores de carga
La recepción que reparte visitantes entre varios servidores sanos. ALB, NLB y Gateway Load Balancer.
Una sola instancia es un punto único de falla: si se cae o se satura, tu aplicación se cae con ella. La solución es tener varias, y entonces aparece un problema nuevo: alguien tiene que decidir a cuál va cada visitante.
Elastic Load Balancing (ELB) es el servicio administrado que hace ese trabajo. Recibe el tráfico en un solo nombre, lo reparte entre servidores sanos en varias zonas de disponibilidad y escala solo. AWS se encarga de que el propio balanceador sea altamente disponible.
Qué hace un balanceador
- Un solo punto de entrada: los clientes usan el nombre DNS del balanceador, no la IP de cada servidor.
- Reparte la carga: ningún servidor se satura mientras otros están ociosos.
- Revisa la salud: solo envía tráfico a destinos que responden bien.
- Usa varias AZs: si una zona falla, sigue enviando a las otras.
- Protege a los servidores: los destinos pueden estar en subredes privadas, sin IP pública.
Listeners, grupos de destino y health checks
- 1
Listener
Escucha en un protocolo y un puerto, por ejemploHTTPS:443. Es la ventanilla de la recepción. - 2
Reglas
Deciden a qué grupo de destino va cada solicitud. En un ALB pueden mirar la ruta, el dominio o los encabezados. - 3
Grupo de destino (target group)
La lista de destinos que atienden: instancias EC2, direcciones IP, contenedores o, en un ALB, funciones Lambda. - 4
Health check
El balanceador llama cada cierto tiempo a una ruta, por ejemplo/health. Si un destino falla varias veces seguidas, lo marca como no saludable y deja de enviarle tráfico.
Los tres tipos
| Criterio | |||
|---|---|---|---|
| Capa | 7 (aplicación) | 4 (transporte) | 3 (red) |
| Protocolos | HTTP, HTTPS, gRPC, WebSockets | TCP, UDP, TLS | Todo el tráfico IP, con GENEVE hacia los equipos |
| Decide por | Ruta, dominio (host), encabezados, parámetros, método | Protocolo, IP y puerto de la conexión | El flujo; mantiene cada flujo en el mismo equipo |
| Fuerte en | Microservicios, sitios y APIs web | IP estática por zona, rendimiento muy alto y latencia muy baja | Pasar el tráfico por firewalls o sistemas de detección de terceros |
| Analogía | Recepcionista que pregunta a qué viene | Portón que solo mira la placa | Control de seguridad obligatorio |
Con un ALB, /api/* puede ir a un grupo de destino y /imagenes/* a otro, o tienda.ejemplo.com a uno y blog.ejemplo.com a otro, todo con un solo balanceador. También redirige HTTP a HTTPS y se integra con AWS WAF. El NLB, en cambio, no mira el contenido: reparte conexiones. Su ventaja es una IP estática por zona (a la que puedes asociar una Elastic IP) y un volumen muy alto. El Classic Load Balancer es la generación anterior; no lo uses para cosas nuevas.
Varias zonas y el balanceo entre zonas
El balanceador tiene un nodo en cada zona de disponibilidad que habilitas; el ALB exige al menos dos. Con el balanceo entre zonas (cross-zone) activado, cada nodo reparte entre los destinos de todas las zonas. Sin él, cada nodo reparte solo dentro de su zona.
Un ejemplo de la documentación de AWS: dos destinos en la zona A y ocho en la B. Con cross-zone, cada uno de los diez recibe 10 % del tráfico. Sin cross-zone, cada nodo recibe la mitad y la reparte en su zona: los dos de la A reciben 25 % cada uno y los ocho de la B, 6,25 %.
HTTPS con AWS Certificate Manager
El balanceador puede encargarse del cifrado: recibe HTTPS, descifra y envía la solicitud a los destinos. Así los servidores no manejan certificados. El certificado lo pides en AWS Certificate Manager (ACM) y lo asocias al listener HTTPS. ACM renueva solo los certificados que emite, mientras la validación del dominio siga vigente, así que no tienes que perseguir fechas de vencimiento. Si tus políticas exigen cifrado hasta el servidor, el balanceador puede volver a cifrar hacia los destinos.
Quiz
Pon a prueba lo que aprendiste
0 de 5 correctas · 5 sin responder
1.Una aplicación web debe enviar /api/* a un grupo de servidores y /imagenes/* a otro. ¿Qué balanceador usas?
2.Un juego en línea usa UDP, necesita latencia muy baja y que los clientes se conecten a direcciones IP fijas. ¿Qué eliges?
3.¿Qué hace un balanceador con un destino que falla su health check?
4.Una empresa quiere que todo el tráfico de su VPC pase por un firewall virtual de un tercero, de forma transparente y escalable. ¿Qué usa?
5.¿Dónde obtienes el certificado TLS para un listener HTTPS de un ALB?