SAA-C03

Deep Dive

Practicar ahora
D2 · Arquitecturas resilientes

Alta disponibilidad: ASG, ELB y Multi-AZ

La arquitectura estándar de alta disponibilidad en AWS es: ELB + Auto Scaling Group + Multi-AZ. Este patrón aparece en el 26% del examen (D2). Necesitas distinguir entre alta disponibilidad (Multi-AZ) y escalado de rendimiento (más instancias/réplicas).

Icon-Architecture/48/Arch_Amazon-EC2-Auto-Scaling_48

Auto Scaling Groups

Un Auto Scaling Group (ASG) mantiene un conjunto de instancias EC2 ajustando automáticamente la capacidad según demanda. Garantiza que siempre haya el número correcto de instancias para manejar la carga.

Minimum

Número mínimo de instancias. Siempre activas aunque no haya demanda.

Desired

Número actual objetivo. ASG intentará mantener siempre este número.

Maximum

Número máximo. No se superará aunque la demanda sea mayor.

Launch Template (recomendado sobre Launch Configuration)

Launch Template define:

  • AMI (imagen de la instancia)
  • Tipo de instancia (t3.medium, m5.large...)
  • Key pair para SSH
  • Security Groups
  • User data (script de arranque)
  • IAM Instance Profile

Ventajas vs Launch Configuration

  • Versionado — múltiples versiones
  • Soporte para Spot + On-Demand mixtos
  • Atributos heredados de otra template
  • AWS recomienda LT sobre LC
Icon-Architecture/48/Arch_Amazon-EC2-Auto-Scaling_48

Tipos de escalado

Target Tracking Policy

Recomendado

El tipo más sencillo. Defines un target metric (ej: CPU al 50%) y AWS ajusta las instancias automáticamente para mantener ese valor.

Cuándo: Default para la mayoría de casos. Ej: "Mantener CPU promedio al 60%".

Step Scaling Policy

Define pasos de escalado según el valor de una métrica. Más control que Target Tracking.

Cuándo: "Si CPU > 70%, añadir 2 instancias. Si CPU > 90%, añadir 4 instancias."

Scheduled Scaling

Programa cambios de capacidad en fechas/horas conocidas. Para patrones predecibles.

Cuándo: "Aumentar a 10 instancias los lunes a las 8am; reducir a 2 a las 8pm."

Predictive Scaling

Machine Learning analiza el historial y escala proactivamente antes de que llegue el tráfico.

Cuándo: "Tráfico pico predecible diariamente a las 12pm y 6pm."

Icon-Architecture/48/Arch_Elastic-Load-Balancing_48

Elastic Load Balancing: ALB, NLB y GLB

LBCapa OSIProtocoloCaracterísticas claveCuándo usar
ALBL7HTTP/S, WebSocket, gRPCPath/host-based routing, sticky sessions, lambdas como target, WAF integrationWeb apps, microservicios, APIs REST
NLBL4TCP, UDP, TLSLatencia ultra-baja, IPs estáticas, targets por IP, preserva IP clienteGaming, IoT, VoIP, tráfico TCP/UDP de alto rendimiento
GLBL3/L4IP (GENEVE tunnel)Enruta tráfico a appliances virtuales (firewalls, IDS/IPS)Seguridad de red con appliances de terceros

Truco examen

ALB = L7 HTTP. NLB = L4 TCP/UDP + IPs estáticas. Si el escenario menciona "protocol non-HTTP", "static IPs" o "preserve client IP" — elige NLB. Si menciona "path routing", "host-based routing" o "microservices" — elige ALB.

Icon-Architecture/48/Arch_Amazon-EC2_48

Multi-AZ — alta disponibilidad

Multi-AZ = tolerancia a fallos de zona de disponibilidad. Si una AZ falla, el tráfico/datos se redirigen automáticamente a otra AZ. Es HA (High Availability), no escalado.

Multi-AZ en RDS

  • Replicación síncrona a Standby en otra AZ
  • Standby NO sirve lecturas (no es Read Replica)
  • Failover automático en < 2 minutos
  • Mismo endpoint DNS — la app no cambia config
  • RPO ≈ 0 segundos (síncrono)

Multi-AZ con ASG + ALB

  • ASG distribuye instancias entre AZs automáticamente
  • ALB enruta solo a instancias healthy
  • Si AZ-a falla, ASG lanza más instancias en AZ-b
  • Cross-Zone Load Balancing distribuye uniformemente
  • No requiere configuración extra — es el comportamiento default
Icon-Architecture/48/Arch_Amazon-EC2_48

Health checks y reemplazos automáticos

ASG Health Check

El ASG verifica la salud de sus instancias. Si una instancia falla, la termina y lanza una nueva automáticamente. Puede usar EC2 status checks o ELB health checks.

ELB health check es más completo que EC2 check — detecta problemas a nivel de aplicación, no solo de VM.

Connection Draining (Deregistration Delay)

Cuando el ALB va a deregistrar una instancia (ej: scale-in), espera a que las conexiones activas terminen antes de terminarla.

Default: 300 segundos. Reducir para instancias que procesan requests cortos. Aumentar para requests de larga duración.

Diagrama: arquitectura 3-tier Multi-AZ

Route 53 + CloudFront + ALB + ASG Multi-AZ + RDS Multi-AZ.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una aplicación web tiene un ALB con un Auto Scaling Group. Durante una actualización de código, el equipo quiere reemplazar instancias gradualmente sin downtime. ¿Qué tipo de update debería usar el ASG?