🏗️ Auto Scaling Group

🏗️ Auto Scaling Group con Terraform

Este lab despliega un Auto Scaling Group (ASG) que lanza instancias EC2 basadas en un Launch Template, asociadas a un Target Group de un Application Load Balancer (ALB).
Cada instancia incluye un user-data que inicia un webserver con branding ReadOnly Friday Auto Scaling.


🧱 Requisitos

Antes de iniciar este lab, debés tener:

  • ✅ La VPC creada en 01_VPC/2_subnets (con IGW y subnets públicas)
  • ✅ Subnets privadas definidas en 01_VPC/3_route_tables
  • ✅ Un Target Group de ALB ya creado en 02_EC2/3_alb_web_entrypoint
  • ✅ Security Group para las instancias backend

🎯 Qué vas a crear

  • Launch Template con Amazon Linux 2 + NGINX
  • Auto Scaling Group (min=1, max=3)
  • Asociado a subnets privadas
  • Conectado al Target Group de un ALB
  • Sin key-pair, sin puertos abiertos
  • Manejo de conexión únicamente vía SSM

🧠 ¿Para qué sirve?

  • Simula un tier backend autoscalable
  • Ideal para arquitectura 3-tier con balanceador de entrada
  • Facilita testing de failover, reemplazo de instancias y escalamiento controlado

📄 Archivos del lab

📁 Terraform:

  • main.tf
  • variables.tf
  • outputs.tf
  • terraform.tfvars.example
  • user_data.sh

📦 Descargar archivos .zip


▶️ Comandos sugeridos

mkdir -p terraform-labs/05_ASG/1_asg_lab
cd terraform-labs/05_ASG/1_asg_lab

# Descargar archivos
curl -O https://aws-terraform-labs.rofriday.com/labs/05_ASG/1_asg_lab/main.tf
curl -O https://aws-terraform-labs.rofriday.com/labs/05_ASG/1_asg_lab/variables.tf
curl -O https://aws-terraform-labs.rofriday.com/labs/05_ASG/1_asg_lab/outputs.tf
curl -O https://aws-terraform-labs.rofriday.com/labs/05_ASG/1_asg_lab/terraform.tfvars.example
curl -O https://aws-terraform-labs.rofriday.com/labs/05_ASG/1_asg_lab/user_data.sh

# Deploy
terraform init
terraform apply -var-file="terraform.tfvars"