HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

Terraform avanzado: módulos, estado remoto y CI/CD

6h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Terraform

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Curso avanzado de Terraform orientado a perfiles que gestionan infraestructura en producción y necesitan escalar sus proyectos de forma sostenible. El alumno aprende a diseñar módulos reutilizables con interfaces tipadas y documentadas, configurar el estado remoto con S3 y DynamoDB para trabajo en equipo, diseñar estrategias de gestión de entornos (workspaces vs. estructura de directorios), integrar Terraform en pipelines CI/CD con validación automática en pull requests, gestionar secretos sin exponerlos en el código y evaluar y refactorizar bases de código que han acumulado deuda técnica. Al finalizar, el participante será capaz de diseñar y mantener una arquitectura Terraform de nivel producción para un equipo de ingeniería.

Al finalizar el curso, el participante será capaz de:

  • Diseñar módulos Terraform reutilizables con variables tipadas, outputs documentados y restricciones de versión
  • Configurar un backend remoto con S3 y DynamoDB para gestionar el estado de Terraform en equipo con locking
  • Diseñar una estrategia de gestión de entornos con workspaces o estructura de directorios justificando los trade-offs
  • Integrar Terraform en un pipeline CI/CD con plan automático en pull request y apply tras merge
  • Implementar gestión segura de secretos en Terraform sin exponer valores en código ni en el state file
  • Evaluar y refactorizar una base de código Terraform para eliminar duplicación y mejorar la mantenibilidad
  1. Módulos Terraform reutilizables Cuándo y cómo extraer un módulo; estructura estándar de ficheros (main.tf, variables.tf, outputs.tf); variables de entrada con tipo, descripción, valor por defecto y validación personalizada; outputs documentados; restricciones de versión del proveedor con required_providers; publicar y consumir módulos desde el Terraform Registry o repositorios privados
  2. Estado remoto y trabajo en equipo Problemas del estado local en equipos: conflictos y desincronización; backend S3 con versioning y cifrado; tabla DynamoDB para locking del state; configurar el bloque backend en Terraform; migrar el estado local a remoto con terraform init -migrate-state; gestión de permisos IAM para el backend
  3. Gestión de entornos Workspaces: cuándo son suficientes y cuándo no; estructura de directorios por entorno con módulos compartidos; trade-offs: workspaces para entornos simétricos, directorios para entornos con diferencias estructurales; promoter pattern: mismo módulo desplegado en dev, staging y prod con variables distintas
  4. CI/CD con Terraform Jobs de PR: fmt-check, validate y plan publicado como comentario; jobs de merge: apply con el plan guardado del PR; OIDC entre el pipeline y AWS IAM para credenciales temporales sin claves de larga duración; herramientas: GitHub Actions, Atlantis, Terraform Cloud
  5. Secretos y seguridad Riesgos de secretos en el state file y en el código HCL; uso de random_password y AWS Secrets Manager para generar y almacenar contraseñas fuera del código; data sources para leer secretos de Secrets Manager o SSM Parameter Store; cifrado del state file con SSE-KMS; marca sensitive en variables y outputs
  6. Refactorización de proyectos Terraform Anti-patrón del módulo raíz monolítico; separación en stacks con state files independientes; referencias entre stacks con terraform_remote_state; bloques moved para renombrar recursos sin destruirlos; terraform state mv para mover recursos entre stacks; métricas de calidad de una base de código Terraform
  • Terraform CLI 1.5+ instalado localmente
  • Cuenta AWS con permisos para crear S3, DynamoDB, IAM roles y EC2
  • Repositorio Git con GitHub Actions (o GitLab CI) para las prácticas de CI/CD
  • AWS CLI instalado y configurado
  • Editor de código con extensión de Terraform (VS Code + HashiCorp Terraform)

→ TFM02 — Terraform con AWS: despliegue y ciclo de cambios (Intermedio, 6h)

  • Implementar recursos AWS en HCL y gestionar el ciclo de vida de una instancia EC2
  • Aplicar cambios incrementales de forma segura con plan → apply
  • Interpretar el impacto de los cambios (in-place vs. recreación) en el plan de Terraform