📖 Capítulo 2: El template, la base para desplegar infraestructura en AWS (sin escribir código aún)
- hace 3 días
- 2 Min. de lectura
🟨 Introducción
Después de entender qué es Infraestructura como Código (IaC) y cómo funciona a nivel conceptual, el siguiente paso natural es responder una pregunta clave:
¿Dónde se define realmente la infraestructura?
La respuesta está en un elemento fundamental dentro de AWS CloudFormation: el template. En este post, voy a desglosar qué es, cómo funciona y qué enfoques existen para estructurarlo correctamente.
🟨 El template: la base de todo en IaC
En AWS CloudFormation, el template es el archivo donde definimos toda la infraestructura.
Aquí especificamos:
Qué recursos vamos a crear (EC2, S3, IAM, etc.)
Qué configuración tendrá cada uno
Cómo se relacionan entre sí
Sin este archivo, simplemente no hay despliegue posible.
🟨 Formatos disponibles: YAML vs JSON
CloudFormation permite trabajar con dos formatos:
🔹 JSON
Formato ampliamente conocido
Usado en múltiples contextos técnicos
🔹 YAML (Formato utilizado en el proyecto)
Más legible
Más limpio visualmente
Similar a herramientas como Docker
Es más fácil de leer
Reduce ruido visual
Permite entender mejor la estructura
Eso sí, requiere cuidado con:
La indentación
La estructura correcta
🟨 Enfoques para estructurar templates
Una de las decisiones más importantes al trabajar con IaC es:
¿Cómo organizar los templates?
Existen dos enfoques principales:
Templates anidados (varios recursos)
Un solo template puede contener múltiples recursos:
EC2
S3
IAM
VPC
Esto permite centralizar la infraestructura.
Templates individuales (un recurso por archivo)
Cada template define un solo recurso, esto facilita:
Aislamiento
Mantenimiento
Reutilización

🟨 Mi enfoque: agrupar por servicio
En lugar de elegir uno de los dos extremos, opté por un enfoque intermedio:
Agrupar templates por servicio
Ejemplos:
Un template para IAM (roles, policies, permisos)
Un template para S3 (buckets relacionados)
✅ Ventajas de este enfoque:
Mejor organización
Mayor claridad conceptual
Evita duplicación innecesaria
Escala mejor según la complejidad
⚠️ Importante:
Este enfoque no es rígido, y la forma en que estructuras tus templates dependerá de:
La complejidad del sistema
La cantidad de recursos
El nivel de modularidad que necesites
🟨 ¿Cómo definir un recurso sin memorizar todo?
Una de las dudas más comunes es:
¿Tengo que aprender todas las propiedades de cada servicio de AWS?.
La respuesta es no, debido a que utilizaremos la documentación oficial de AWS
CloudFormation, la cuál contiene:
Definición completa de cada recurso
Propiedades disponibles
Ejemplos de templates
Por ejemplo, si buscamos: "aws iam role cloudformation", encontraremos:
Estructura del recurso
Propiedades requeridas
Ejemplo listo para usar
🟨 Flujo práctico de trabajo
A partir de esto, el proceso cambia completamente:
Buscar el recurso en la documentación
Tomar la plantilla base
Adaptarla al caso de uso
Eliminar lo innecesario
Construir sobre esa base
🟨 Conclusión:
El mayor aprendizaje hasta este punto es:
No necesitas memorizar todo
Necesitas entender cómo leer y usar la documentación
El template no es solo un archivo, sino, el punto donde la teoría se convierte
en infraestructura real. Y entenderlo bien… hace toda la diferencia.




Comentarios