SAP-C02

Deep Dive

Todas las guías
Practicar ahora
D2 · Diseño de nuevas soluciones

Alta disponibilidad y escalado: ELB, Auto Scaling y EC2 avanzado

El SAP-C02 espera que diseñes arquitecturas de alta disponibilidad complejas seleccionando correctamente entre los tipos de load balancer, políticas de escalado y estrategias de compra de EC2 para optimizar costo y rendimiento.

Icon-Architecture/48/Arch_Elastic-Load-Balancing_48

Elastic Load Balancing — ALB vs NLB vs GWLB

CaracterísticaALB (Application)NLB (Network)GWLB (Gateway)
Capa OSIL7 — HTTP/HTTPS/gRPCL4 — TCP/UDP/TLSL3 — IP (todos los protocolos)
RoutingPath, host, headers, query, método HTTPIP:Port, solo TCP/UDPN/A — inyección de appliance
LatenciaMilisegundos (L7 processing overhead)Ultra-baja (<1ms), L4 passthroughVariable según appliance
IPs estáticasNo (usa DNS)Sí — IP estática o Elastic IPNo aplica
WebSocketSí nativoSí (TCP)No aplica
gRPCSí nativoNo nativoNo aplica
Preserva IP clienteX-Forwarded-For headerSí nativo (PROXY Protocol)Sí nativo
Target TypesEC2, ECS, Lambda, IPEC2, ECS, IP (on-prem con PrivateLink)Appliances de seguridad de 3ros
Use case principalMicroservicios HTTP, routing avanzado, APIsBaja latencia extrema, TCP/UDP, IPs fijasInspección de tráfico con appliances 3rd party

ALB — funciones avanzadas para el examen

Weighted Target GroupsDistribuye tráfico entre target groups con pesos. Para blue/green o canary entre versiones de una app.
ALB Listener RulesHasta 100 reglas por listener. Enruta por path (/api/* → TG-API), host header (api.example.com → TG-API), query string, método HTTP, headers.
Lambda como TargetALB puede enrutar directamente a Lambda functions. Para apps serverless sin API Gateway.
Sticky SessionsApplication-based cookies: la app define el nombre. Duration-based: ALB crea la cookie. Para apps con estado de sesión en EC2.

NLB — funciones avanzadas para el examen

Cross-Zone LBDistribuye tráfico entre instancias en todas las AZs igualitariamente. En NLB está deshabilitado por defecto (costo de data transfer). En ALB está habilitado siempre.
TLS TerminationNLB puede terminar TLS (con ACM cert) y pasar HTTP al backend. O pass-through TLS al backend para end-to-end encryption.
PrivateLinkNLB como endpoint service para PrivateLink. El consumidor crea un Interface VPC Endpoint que conecta al NLB del proveedor.
Preserve Source IPNLB pasa la IP del cliente directamente al target (sin modificar el paquete). Critical para apps que necesitan la IP del cliente real.
Icon-Architecture/48/Arch_Amazon-EC2-Auto-Scaling_48

Auto Scaling avanzado — políticas y estrategias

Tipos de políticas de escalado

Simple Scaling

Añade/quita N instancias cuando una alarma se dispara. Tiene cooldown period — no escalará de nuevo hasta que termine. Más básico.

Step Scaling

Escala en pasos según la magnitud de la alarma. ej: CPU 70-80% → +1 instancia, CPU 80-90% → +2, CPU >90% → +3. Sin cooldown obligatorio.

Target Tracking

Mantiene una métrica en un valor target (ej: CPU al 50%). ASG escala automáticamente hacia arriba/abajo. Más inteligente y simple de configurar.

Predictive Scaling

ML analiza el historial de uso y escala proactivamente antes de picos previsibles. Se combina con Target Tracking para cargas cíclicas.

Scheduled Scaling

Escala a horas específicas (ej: +10 instancias a las 8am). Para cargas predecibles por horario.

Configuración avanzada de ASG

Warm PoolPre-inicializa instancias en estado parado/en ejecución. Reduce el tiempo de scale-out eliminando el bootstrap time. Para apps con inicialización lenta (Java, ML models).
Instance RefreshRolling update de instancias del ASG con nueva Launch Template. Control de: minHealthyPercentage, checkpointPercentages para canary.
Lifecycle HooksPausa el launch o terminate de instancias para ejecutar acciones customizadas (desregistrar de un servicio, volcar logs, instalar agentes).
Capacity RebalancingPara Spot: detecta instancias en riesgo de interrupción y lanza reemplazos proactivamente antes de la interrupción.
Mixed Instances PolicyCombina múltiples tipos de instancias en el mismo ASG. Aumenta la disponibilidad de Spot. Configura prioridades de tipo de instancia.
Icon-Architecture/48/Arch_Amazon-EC2_48

EC2 avanzado — placement groups y opciones de compra

Cluster Placement Group

Instancias agrupadas en el MISMO rack físico. Latencia de red ultra-baja y máximo throughput entre instancias.

  • Red de 10 Gbps entre instancias (vs 1 Gbps normal)
  • Latencia < 1ms entre instancias del grupo
  • Si el rack falla, todas las instancias fallan
  • No es multi-AZ
  • Para HPC, GPU clusters, ML training distribuido

Spread Placement Group

Instancias distribuidas en racks DISTINTOS (hasta 7 instancias por AZ). Máximo aislamiento de fallos de hardware.

  • Fallo de rack afecta solo una instancia
  • Multi-AZ soportado
  • Máxima disponibilidad por instancia
  • Máximo 7 instancias por AZ
  • Para aplicaciones críticas de instancias individuales
  • ZooKeeper, bases de datos master, HAProxy

Partition Placement Group

Divide instancias en particiones, cada partición en racks distintos. Hasta 7 particiones por AZ, muchas instancias por partición.

  • Escala a cientos de instancias
  • Aislamiento de fallos por partición
  • La app conoce qué partición tiene cada instancia
  • Para workloads distribuidos tolerantes a fallos de rack
  • HDFS, HBase, Cassandra, Kafka

Opciones de compra de EC2 — para arquitecto profesional

TipoDescuento vs On-DemandCompromisoMejor para
On-DemandSin descuento (precio base)Ninguno — paga por segundoCargas impredecibles, dev/test, pruebas de carga
Reserved (Standard)Hasta 72% con 3 años all-upfront1 o 3 años, familia/región/OS fijoProducción estable con uso predecible 24/7
Reserved (Convertible)Hasta 54% con 3 años1 o 3 años, pero puedes cambiar familia/OSProducción estable pero quizás cambies familia de instancia
Savings Plans (Compute)Hasta 66%1 o 3 años, compromiso $ por horaProducción estable, aplica a EC2 + Fargate + Lambda
Savings Plans (EC2 Instance)Hasta 72%1 o 3 años, familia fija en regiónProducción EC2 en familia/región específica
Spot InstancesHasta 90%Ninguno — puede ser interrumpidoBatch, CI/CD, ML training, cargas stateless tolerantes
Dedicated Instances~10% más caro que On-DemandNingunoCumplimiento que requiere HW dedicado (no compartido)
Dedicated HostsMás caro — pagas por host físicoOn-Demand o Reserved (hasta 70% desc)Licencias BYOL (SQL Server, Oracle), compliance estricto
Icon-Architecture/48/Arch_Amazon-EC2_48

Spot Fleet y EC2 Fleet — capacidad diversificada

Spot Fleet

Solicita una mezcla de tipos de instancia y AZs para cumplir con una capacidad target. Maximiza la disponibilidad de Spot al diversificar entre múltiples pools.

Allocation Strategies
lowestPriceInstancias más baratas en ese momento. Mayor riesgo de interrupción.
diversifiedDistribuye la capacidad entre todos los pools especificados. Mayor disponibilidad.
capacityOptimizedElige pools con más capacidad disponible. Menor probabilidad de interrupción. Recomendado.
priceCapacityOptimizedBalance entre precio y capacidad disponible. Mejor opción general.

Spot Interruption — cómo manejarlo

    Interruption Notice2 minutos de aviso antes de la interrupción via metadatos de instancia y EventBridge. El handler debe persistir estado, drenar conexiones y terminar limpiamente.
    HibernationEn vez de terminar, la instancia se hiberna — el estado en RAM se guarda en EBS. Al relanzar retoma donde estaba. Para cargas que pueden retomarse.
    ASG Capacity RebalancingASG lanza instancia de reemplazo antes de que llegue la interrupción. Requiere activar la opción en el ASG.
    Spot con On-Demand baseConfigura un porcentaje base de On-Demand en ASG y el resto Spot. Garantiza capacidad mínima incluso si Spot no está disponible.
Icon-Architecture/48/Arch_Amazon-EC2_48

Capacity Reservations y Dedicated Hosts

On-Demand Capacity Reservations

Reserva capacidad de EC2 en una AZ específica sin compromiso de tiempo. Garantiza disponibilidad para launches críticos (DR drills, traffic spikes planificados).

  • Sin descuento — pagas el precio On-Demand siempre (use la instancia o no)
  • Combinar con Savings Plans para aplicar descuento al uso
  • Útil para DR: garantiza que habrá capacidad disponible en la región DR cuando se necesite

Dedicated Hosts vs Dedicated Instances

Dedicated Instances

Instancias en hardware dedicado a tu cuenta, pero el servidor físico puede cambiar entre reinicios. No puedes ver ni controlar el placement del host. Compliance básico.

Dedicated Hosts

Servidor físico completo dedicado a ti. Visibilidad de número de sockets, cores. Control de placement. Necesario para BYOL de Oracle, SQL Server, Windows Server (licencias por core/socket).

Icon-Architecture/48/Arch_Elastic-Load-Balancing_48

Diseño Multi-AZ — mejores prácticas para arquitecto profesional

Reglas de diseño Multi-AZ

  • Distribuir instancias del ASG igualitariamente entre AZs (ej: 2 instancias mínimo por AZ)
  • ELB distribuye tráfico entre AZs — habilitar cross-zone load balancing
  • Datos en RDS Multi-AZ: standby en AZ diferente, failover automático
  • Subnets públicas y privadas en todas las AZs que uses
  • NAT Gateway: una por AZ (no una single NAT para todas las AZs)
  • ElastiCache con réplicas en múltiples AZs para HA

Anti-patrones comunes

  • Una sola NAT Gateway en us-east-1a: si esa AZ falla, las instancias en us-east-1b pierden acceso a internet
  • EBS compartido entre instancias en diferentes AZs: EBS es zonal, no puede montarse cross-AZ
  • ASG con solo una AZ: si esa AZ falla, el ASG no puede lanzar instancias en otras
  • RDS sin Multi-AZ en producción: un fallo de hardware requiere restore manual desde backup
  • Session state en memoria de EC2 sin Sticky Sessions: un usuario puede perder su sesión en el siguiente request
Icon-Architecture/48/Arch_Amazon-EC2_48

Trampas frecuentes del examen

Trampa: "Cluster Placement Group garantiza alta disponibilidad"

Realidad: FALSO. Cluster Placement Group maximiza el rendimiento de red agrupando instancias en el mismo rack — lo opuesto a HA. Si el rack falla, todas las instancias fallan. Para HA usa Spread Placement Group.

Trampa: "Reserved Instances se aplican automáticamente a cualquier instancia EC2"

Realidad: Depende del tipo. Standard Reserved Instances se aplican solo a instancias que coincidan exactamente (familia, AZ, OS). Convertible RIs tienen más flexibilidad. Savings Plans Compute se aplican más ampliamente (EC2 + Fargate + Lambda).

Trampa: "Dedicated Instances y Dedicated Hosts son equivalentes"

Realidad: Diferentes. Dedicated Instances garantizan que no hay otros tenants en el mismo servidor físico, pero no controlas qué servidor. Dedicated Hosts te dan el servidor físico específico — necesario para BYOL que licencian por socket/core.

Trampa: "ALB Cross-Zone Load Balancing tiene costo adicional"

Realidad: ALB tiene Cross-Zone LB habilitado por defecto y SIN costo extra. NLB tiene Cross-Zone LB deshabilitado por defecto y tiene costo de data transfer entre AZs si se habilita.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una empresa de análisis financiero ejecuta jobs de ML de 6 horas que procesan datos históricos. Los jobs pueden recomenzar desde checkpoints guardados en S3 si se interrumpen. El equipo quiere minimizar costos manteniendo alta disponibilidad para completar los jobs. ¿Cuál es la configuración óptima de EC2?

Inicia sesión para llevar tu progreso.