🏗️ 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.tfvariables.tfoutputs.tfterraform.tfvars.exampleuser_data.sh
▶️ 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"