July 31, 2025

ELB

📘 ¿Qué es ELB?

Elastic Load Balancing es un servicio que distribuye automáticamente el tráfico de red o de aplicaciones entre múltiples instancias de destino (EC2, IPs, Lambda, etc.), garantizando:

  • 🔄 Balanceo de carga

  • 📈 Escalabilidad

  • 🛡️ Alta disponibilidad

  • 🔒 Seguridad (SSL/TLS)


🧩 Tipos de Load Balancer

TipoUso principalNivelProtocolos
ALB (Application LB)Aplicaciones HTTP/HTTPS (web, API)Capa 7HTTP, HTTPS
NLB (Network LB)Bajo nivel, alta performance, TCP/UDPCapa 4TCP, TLS, UDP, TCP_UDP
CLB (Classic LB - legado)EC2 clásicos (obsoleto en nuevos diseños)Capa 4 y 7HTTP, HTTPS, TCP, SSL
GWLB (Gateway LB)Inspección de tráfico con appliancesCapa 3/4IP

💡 Recomendación: Para nuevas arquitecturas usa ALB o NLB, según el caso.


🧠 ¿Cómo funciona?

           Cliente

         ┌─────────┐
         │   ELB   │ ← Balancea tráfico (HTTP, TCP, etc.)
         └─────────┘
        ↙     ↓      ↘
   Instancia A  Instancia B  Lambda (en ALB)

⚙️ Características principales

FuncionalidadALBNLBCLB
Balanceo HTTP/HTTPS
Balanceo TCP/TLS
Content-based routing✅ (path, host)
WebSocket support
IP targeting
Soporte para Lambda
Sticky sessions (cookies)
WAF integration
TLS offloading

🧰 Targets posibles

  • EC2 (en grupos Auto Scaling o manual)

  • IP addresses privadas (por VPC)

  • Lambda functions (solo en ALB)

  • Containers en ECS / Fargate


🔒 Seguridad

  • Soporta SSL/TLS

  • Integración con AWS Certificate Manager (ACM) para certificados gestionados

  • Seguridad por:

    • Security Groups

    • Subnets privadas/públicas

    • WAF (Web Application Firewall) con ALB


📊 Monitoreo

  • Amazon CloudWatch:

    • Request count

    • Latency

    • Target response time

    • HTTP 4XX / 5XX

  • Access logs:

    • Envío a Amazon S3

    • Contienen detalles del tráfico

  • Health checks:

    • Detecta instancias no saludables y las excluye del balanceo

🔄 Auto Scaling + ELB

ELB se integra automáticamente con Auto Scaling Groups, permitiendo:

  • Escalado automático de instancias

  • Inclusión/exclusión automática en el balanceador

  • Health checks sincronizados


🧪 Ejemplo de reglas en ALB (Content-based routing)

/path/api/*  → Target Group A (microservicio API)
/images/*    → Target Group B (contenedor S3 estático)
default      → Target Group C (frontend React)

📦 Precios (estimado)

RecursoPrecio
ALBPor hora de uso + por GB procesado
NLBMás barato por conexión sostenida
CLB (legado)Similar a ALB pero con menos funcionalidades

🧠 Preguntas tipo certificación

  1. ¿Qué tipo de ELB permite enrutar por path o dominio?

    • ✅ ALB
  2. ¿Cuál es el load balancer ideal para conexiones TCP de alto rendimiento?

    • ✅ NLB
  3. ¿Puedes usar Lambda como destino en un ELB?

    • ✅ Sí, con ALB
  4. ¿Cómo protege ALB contra ataques web comunes?

    • ✅ Integración con AWS WAF
  5. ¿Qué realiza el health check?

    • ✅ Verifica la disponibilidad de los targets (EC2, Lambda, etc.)

🧱 Arquitectura recomendada

Internet

Application Load Balancer (ALB)

Auto Scaling Group con instancias EC2 o ECS

Base de datos (RDS, DynamoDB)

O para alta performance:

Internet

Network Load Balancer (NLB)

EC2 o appliances de red (firewalls, proxies)

📚 Recursos útiles