Saltar al contenido
Gontzal Bilbao
← proyectos

plataforma · aws

Infraestructura AWS automatizada

Arquitectura multi-tenant desplegada con Terraform, con escalado dinámico y el coste optimizado.

tipo
laboratorio
rol
Diseño de la arquitectura y automatización con Terraform
stack
terraform · lambda · eventbridge · s3 · rds
resultado
Entornos dev, staging y prod reproducibles como código, con hasta un 60 % menos de coste fuera de horario

Monté una arquitectura multi-tenant en AWS gestionada entera con Terraform. Desarrollo, staging y producción se despliegan igual, y los entornos se apagan solos fuera del horario laboral.

El punto de partida

Una plataforma multi-tenant necesita varios entornos que se comporten igual. Montados a mano, divergen entre sí y cuesta reproducirlos.

Además, un entorno encendido cuando nadie lo usa cuesta lo mismo que uno en uso.

Qué hice

Diseñé una arquitectura en varias capas dentro de una VPC privada y la definí entera como código. Cada entorno queda desacoplado de los demás y aislado por cliente. Añadí tareas programadas para recortar coste y mantenimiento.

Cómo lo hice

Red y acceso

VPC propia con subredes públicas y privadas en varias zonas de disponibilidad. NAT Gateways dan salida controlada a las instancias privadas, y un bastion host centraliza el acceso SSH. Route 53 resuelve el DNS interno y público.

Cómputo y tráfico

Balanceadores ALB y ELB, con certificados de ACM, reparten el tráfico entre las APIs. Auto Scaling Groups ajustan las instancias EC2 a la carga. CloudFront sirve la web y los estáticos.

Datos y despliegue

  • RDS multi-tenant (MySQL y PostgreSQL) con backups automáticos y retención en S3.
  • Redis como caché y gestor de sesiones.
  • CodeDeploy y CodePipeline para el despliegue continuo de APIs y webs.
  • S3 para logs, copias y artefactos.

Tareas programadas

EventBridge y Lambda encienden y apagan entornos fuera del horario laboral, rotan backups y limpian logs. Los logs y snapshots antiguos pasan a Glacier Deep Archive. CloudWatch vigila disco, CPU y memoria con alarmas.

Resultado

Los tres entornos se crean desde el mismo código, aislados por cliente y por entorno.

El apagado fuera de horario reduce el coste hasta un 60 %. Los cambios de infraestructura pasan por Terraform con control de versiones y aprobación previa, y los despliegues con CodeDeploy no interrumpen el servicio.

Qué me llevo

Buena parte del ahorro vino de algo simple: apagar lo que nadie usa. Tenerlo todo como código es lo que permite automatizarlo sin miedo a dejar un entorno a medias.

Arquitectura

CloudFront → balanceador → Auto Scaling Group de APIs → RDS y Redis, en subredes privadas de una VPC. Al lado, EventBridge → Lambda para las tareas programadas, y S3 y Glacier para logs y copias.