🛡️ Capítulo 3: Escribiendo el Primer Template (IAM Policy)
- hace 15 horas
- 2 Min. de lectura
En este capítulo comenzaremos a construir nuestro primer template. El objetivo será desarrollar una política IAM (IAM Policy), la cual será utilizada posteriormente dentro de la arquitectura de replicación multi-regional en S3.
Este paso es importante porque en AWS prácticamente toda interacción entre servicios depende de permisos correctamente definidos.
🧱 Entendiendo la estructura de un Template
Antes de crear recursos en CloudFormation, primero debemos entender cómo se organiza un template.
Generalmente, un template está compuesto por:
Secciones opcionales,
Ssecciones obligatorias.
🧾 Secciones opcionales
Aunque no son obligatorias, ayudan muchísimo a documentar el template correctamente.

📌 ¿Por qué son importantes?
Permiten:
Documentar el objetivo del template,
Identificar quién lo creó
Relacionarlo con un proyecto específico.
👉 En proyectos reales, esto ayuda bastante cuando la infraestructura comienza a crecer.
⚙️ Secciones obligatorias
En este proyecto trabajaremos principalmente con:
Parameters
La sección Parameters permite recibir valores dinámicos durante el despliegue.

💡 Buenas prácticas
Utilizar el sufijo Parameter,
Definir siempre Description,
Usar Default cuando el template requiera automatización (Despliegue mediante scripts).
🧠 ¿Qué ocurre cuando desplegamos el template?
CloudFormation genera automáticamente inputs configurables usando esos parámetros.
Esto permite reutilizar el mismo template múltiples veces sin modificar el código directamente.

Resources
La sección Resources representa el núcleo del template. Aquí se definen todos los recursos que AWS deberá crear.

📌 Algo importante que aprendí
No necesitas memorizar todas las propiedades de CloudFormation.
AWS ya proporciona documentación oficial y ejemplos base para prácticamente todos los servicios.
En la práctica, muchas veces el flujo termina siendo:
Buscar documentación: "aws <recurso_servicio> cloudformation"
Copiar una base.
Adaptarla.
Simplificarla.
Entender qué hace cada propiedad.
Outputs
La sección Outputs permite exponer valores importantes generados por el template.

🧠 ¿Para qué sirve esto?
Permite compartir información entre distintos templates.
Por ejemplo:
ARNs,
IDs,
nombres de recursos,
referencias reutilizables.
👉 Esto será clave más adelante cuando conectemos múltiples componentes del proyecto.
💻 El primer template del proyecto
El primer template desarrollado corresponde a una política IAM.
Esta política definirá los permisos necesarios para que posteriormente el rol IAM pueda ejecutar correctamente la replicación multi-regional entre buckets S3.
Este template representa el inicio real de la infraestructura como código dentro del proyecto.
🔗 Repositorio del proyecto
Aquí puedes revisar el template completo:
🔁 Enfoque del proyecto
Este desarrollo nace a partir de una implementación manual que anteriormente había realizado usando únicamente la consola de AWS (Post-Linkedin).
Ahora el objetivo es migrar esa lógica hacia:
templates reutilizables,
infraestructura versionada,
automatización,
y mejores prácticas de IaC.
🧠 Idea clave
Antes de automatizar recursos en AWS, primero debes definir correctamente los permisos que conectarán todos los servicios.
Y eso comienza aquí:
👉 con una política IAM bien definida.



Comentarios