Inicio > Cursos > AWS para Developers > ALB y Auto Scaling
AWS para DevelopersInfraestructura y RedesLección 6 de 12

ALB y Auto Scaling

Cuando tu app crece, un solo servidor ya no alcanza: se satura con muchas visitas, y si se cae, se cae todo el sitio. La solución es tener varios servidores y repartir las visitas entre ellos (balanceador de carga), y que se creen o se borren solos según la demanda (Auto Scaling).

Application Load Balancer (ALB): • Distribuye trafico HTTP/HTTPS entre varias instancias EC2 • Health checks: verifica que cada instancia este sana • Target Group: grupo de instancias que reciben trafico • Listener: regla que define en que puerto escucha (80, 443) • Puede rutear por path: /api → servidores API, /web → servidores web

Auto Scaling Group (ASG): • Escala automaticamente el numero de instancias segun demanda • Minimo, deseado y maximo de instancias • Launch Template: plantilla de como crear nuevas instancias • Politicas de escalado: por CPU, conexiones, horario, etc.

# Crear Target Group
aws elbv2 create-target-group \
  --name mi-app-targets \
  --protocol HTTP --port 80 \
  --vpc-id vpc-0abc123 \
  --health-check-path /health \
  --health-check-interval-seconds 30

# Crear Application Load Balancer
aws elbv2 create-load-balancer \
  --name mi-app-alb \
  --subnets subnet-publica-1a subnet-publica-1b \
  --security-groups sg-0abc123 \
  --type application

# Crear listener (puerto 80)
aws elbv2 create-listener \
  --load-balancer-arn arn:aws:elbv2:...:loadbalancer/app/mi-app-alb/... \
  --protocol HTTP --port 80 \
  --default-actions Type=forward,TargetGroupArn=arn:aws:elbv2:...:targetgroup/mi-app-targets/...

# Crear Launch Template
aws ec2 create-launch-template \
  --launch-template-name mi-app-template \
  --launch-template-data '{"ImageId":"ami-0c02fb55","InstanceType":"t3.small","SecurityGroupIds":["sg-0abc123"]}'

# Crear Auto Scaling Group
aws autoscaling create-auto-scaling-group \
  --auto-scaling-group-name mi-app-asg \
  --launch-template LaunchTemplateName=mi-app-template,Version='$Latest' \
  --min-size 2 --max-size 10 --desired-capacity 2 \
  --target-group-arns arn:aws:elbv2:...:targetgroup/mi-app-targets/... \
  --vpc-zone-identifier "subnet-1a,subnet-1b"
ConsejoSiempre usa al menos 2 Availability Zones para alta disponibilidad. Si una zona cae, la otra sigue sirviendo trafico.
← VPC y Redes SegurasRDS: Bases de Datos Administradas →

Practica esta lección

Resuelve los ejercicios del curso de AWS para Developers en la app, gratis y con corrección automática.

Empezar a practicar