top of page

📖Capítulo 4: El despliegue del Template en CloudFormation

  • 10 may
  • 3 Min. de lectura

Luego de haber definido correctamente nuestro primer template, ahora llega el momento de utilizar directamente el servicio de AWS CloudFormation. Sin embargo, CloudFormation posee diversos componentes y características que debemos comprender para poder administrar correctamente nuestra infraestructura como código.

En este capítulo revisaremos:

  • el funcionamiento de los Stacks,

  • el comportamiento transaccional de CloudFormation,

  • StackSets,

  • Stack Refactoring,

  • IaC Generator,

  • Infrastructure Composer,

  • y el despliegue inicial de nuestra política IAM.

🟦 El componente core de CloudFormation: el Stack

El componente principal de CloudFormation es el Stack.

El Stack es el encargado de administrar completamente el ciclo de vida de los recursos desplegados dentro de AWS. Una forma sencilla de entenderlo es la siguiente:

  • 📄 el template representa el plano de construcción,

  • 🏗️ los recursos representan la infraestructura creada,

  • ⚙️ y el Stack representa todo el proceso encargado de construir, supervisar y administrar dicha infraestructura.


  • 🧠 ¿Qué hace realmente un Stack?

    El Stack se encarga de:

    • desplegar recursos,

    • gestionar dependencias,

    • supervisar errores,

    • administrar actualizaciones,

    • mantener el estado de la infraestructura,

    • y eliminar recursos cuando corresponda.

    En otras palabras:

    👉 CloudFormation no solo “ejecuta YAML”.

    Administra infraestructura completa.

🟦 Características importantes de los Stacks

🔹 1. Un Stack pertenece a una región y cuenta específica

Cada Stack opera dentro de:

  • una única cuenta AWS,

  • y una única región.

Por ejemplo:

  • us-east-1

  • us-west-2

  • sa-east-1

Esto significa que el alcance operativo de un Stack tradicional es regional. Sin embargo, dentro de una misma cuenta y región podemos crear múltiples Stacks independientes.

🔹2. CloudFormation posee rollback automático

CloudFormation trabaja bajo un enfoque transaccional.

Esto significa que:

👉 si ocurre un error durante el despliegue, el servicio intentará revertir automáticamente los cambios realizados.

Por ejemplo:

  • algunos recursos pueden crearse correctamente,

  • pero si uno posterior falla,

  • CloudFormation ejecutará un rollback para intentar eliminar los recursos creados durante esa ejecución.

Esto ayuda muchísimo a mantener consistencia en la infraestructura.

🔹 3. El Stack administra directamente los recursos

Los recursos desplegados mantienen una relación directa con el Stack que los creó.

Por defecto:

👉 si eliminamos el Stack, CloudFormation también eliminará los recursos administrados por dicho Stack.

Sin embargo, existen excepciones importantes:

  • DeletionPolicy: Retain

  • snapshots automáticos,

  • recursos importados,

  • buckets S3 con objetos,

  • protecciones específicas.

Por ello, no todos los recursos necesariamente serán eliminados en todos los escenarios.

🔹4. Los templates pueden almacenarse en S3

Dependiendo del mecanismo de despliegue utilizado, CloudFormation puede almacenar templates temporalmente en Amazon S3.

Esto ocurre frecuentemente cuando usamos:

  • nested stacks,

  • StackSets,

  • AWS SAM,

  • AWS CDK,

  • despliegues mediante AWS CLI,

  • templates grandes o empaquetados.

Por ello, es bastante común encontrar templates almacenados dentro de buckets S3 durante procesos de despliegue.

🟦 StackSets: despliegues multi-región y multi-cuenta

CloudFormation también incorpora StackSets.

StackSets mantiene el mismo principio operativo de un Stack tradicional, pero elimina parte de sus limitaciones.

Mientras un Stack tradicional opera únicamente:

  • en una región,

  • y en una cuenta específica,

StackSets permite desplegar infraestructura:

  • en múltiples cuentas AWS,

  • en múltiples regiones,

  • utilizando un único template centralizado.

Esto resulta extremadamente útil en arquitecturas empresariales y entornos organizacionales grandes.

🟦 Stack Refactoring

CloudFormation también incorpora capacidades de Stack Refactoring. Esta funcionalidad permite reorganizar recursos existentes entre diferentes Stacks sin necesidad de recrear completamente la infraestructura.

En la práctica, esto permite:

  • separar responsabilidades,

  • dividir templates monolíticos,

  • desacoplar componentes,

  • reorganizar arquitectura IaC,

  • mejorar mantenibilidad.

Conceptualmente, es muy similar a una refactorización tradicional en ingeniería de software.

🟦 IaC Generator e Infrastructure Composer

CloudFormation también posee herramientas modernas enfocadas en acelerar la creación de infraestructura como código.

🔹 IaC Generator

Permite generar templates de CloudFormation a partir de infraestructura creada manualmente desde la consola de AWS.

Es decir:

👉 transforma infraestructura existente en definición IaC reutilizable.

🔹 Infraesturcture Composer

Infrastructure Composer permite diseñar arquitecturas de forma visual y luego generar automáticamente templates CloudFormation.

En lugar de escribir directamente YAML o JSON desde cero:

👉 construimos visualmente los componentes y CloudFormation genera el template correspondiente.


🟦 Reflexión importante sobre estas herramientas

Aunque estas herramientas aceleran muchísimo el desarrollo inicial, existe una limitación importante:

Muchas veces generan templates:

  • demasiado extensos,

  • difíciles de leer,

  • con configuraciones redundantes,

  • dependencias innecesarias,

  • y poca mantenibilidad.


Por ello:

👉 si no comprendemos correctamente las bases de IaC, terminaremos invirtiendo tiempo adicional refactorizando templates generados automáticamente.

En cierta forma, es similar a programar utilizando IA sin comprender realmente los fundamentos.

Las herramientas aceleran el trabajo. Pero el criterio arquitectónico sigue siendo responsabilidad del ingeniero.

🟦 Enfoque utilizado en este proyecto

Para este proyecto trabajaremos inicialmente únicamente con Stacks tradicionales. El objetivo será desplegar progresivamente cada componente de la arquitectura de replicación multi-regional en S3 de forma controlada y entendiendo completamente cada recurso definido.


  • 🧠 Idea clave

    • El template define la infraestructura,pero el Stack administra completamente su ciclo de vida.


Y entender esa diferencia cambia muchísimo la forma en que se comprende CloudFormation.

Accede al capítulo en el repositorio: Proyecto-IaC-Capitulo-4

Comentarios


IngenieriaDatos.jpg

Tomar decisiones sin datos es como navegar en la oscuridad...

En la era digital, los datos son el activo más valioso de las empresas; su correcta recopilación, análisis y aplicación estratégica son clave para impulsar la toma de decisiones informada, la innovación y el éxito empresarial

  • GitHub
  • LinkedIn
  • Youtube

Copyrights © 2026 Brayan Neciosup Bolaños All rights reserved.

bottom of page