Validación de Arquitecturas con AWS CloudFormation Designer
Resumen
¿Qué es AWS CloudFormation Designer y cómo nos beneficia?
AWS CloudFormation Designer es una herramienta fundamental para arquitectos y desarrolladores de software. Permite crear y visualizar arquitecturas y recursos en AWS de manera gráfica, facilitando la validación de la infraestructura antes de implementarla. La capacidad de mostrar gráficamente los recursos y sus conexiones es crucial para evitar errores costosos y facilitar el trabajo colaborativo. Utilizar CloudFormation Designer es altamente recomendando durante la fase de planificación de cualquier proyecto en la nube.
¿Cómo cargar un stack en AWS CloudFormation Designer?
Para cargar un stack en CloudFormation Designer, necesitas un repositorio con el código de tu proyecto. A continuación, te comparto un proceso básico para llevar a buen término esta tarea:
Clona el repositorio: Utiliza Git para clonar el repositorio que contiene el código de tu aplicación.
git clone <url_del_repositorio>
Accede a AWS Console: Inicia sesión en tu cuenta de AWS y dirígete a CloudFormation.
Selecciona Designer: Busca la opción de Designer en el menú superior izquierdo y da click.
Carga tu Stack:
Selecciona la opción para cargar un template.
Navega a la ubicación de tu stack maestro en el repositorio clonado.
Haz click en "Abrir".
Visualiza tu Stack: Al seleccionar ver en Designer, podrás observar gráficamente la estructura de tu stack. Las conexiones entre los diferentes componentes como Lambda, DynamoDB, y API Gateway se mostrarán para ayudarte a validar la arquitectura deseada.
¿Cómo se diferencian los stack simples y los stack anidados?
La principal diferencia entre stack simples y anidados se encuentra en cómo se organizan y despliegan los recursos:
Stack Simple: Todos los recursos están definidos en un solo template. Esto simplifica la visualización y es útil para proyectos pequeños o cuando deseas ver todas las conexiones en un solo lugar. Sin embargo, esta simplificación puede volverse compleja en proyectos más grandes.
Stack Anidado: Estos utilizan múltiples templates menores que representan diferentes partes de la aplicación. Cada sub-stack es una porción de la aplicación y solo se cargan las relaciones entre ellos al visualizar en Designer. Esto division permite un mayor control y organización.
¿Cuándo usar AWS CloudFormation Designer en proyectos reales?
CloudFormation Designer es ideal para la validación de arquitecturas antes del despliegue. Las visualizaciones gráficas proporcionan una confirmación visual que puede prevenir errores y optimizar configuraciones. Sin embargo, para la creación de templates, es preferible escribir el código directamente. Esto mejora la comprensión del código subyacente y ofrece un mayor control sobre los detalles implementados.
Motiva a los desarrolladores a integrarlo en su flujo de trabajo regular, sobre todo al inicio de un nuevo proyecto, para alinear expectativas con el diseño deseado. ¡Continúa explorando y optimizando tus proyectos con Designer para alcanzar nuevos niveles de éxito en AWS!
Uno de los detalles que he encontrado con el Designer de AWS es que muchas veces no detecta errores, y marca que el template es válido, por ejm el más reciente que me pasó es que al crear en una plantilla de cloudformation un stack con un dashboard en formato YAML, el body del dashboard es en formato JSON y solo me mostró errores cuando intenté crear el stack, así que para validar prefiero directamente en cloudformation cargando el template.
Por cierto, en la misma opción de Designer, se tiene una sesión de Templates de Ejemplo que permiten un fácil uso de las plantillas y customizarlas para crear arquitecturas nuevas, creo que esto ayuda mucho para las validaciones de despliegues de arquitectura en ambientes productivos.
Hola Chicos. \n
AWS CloudFormation ha tenido varios Cambios durante estos anhios que han pasado desde que este curso fue Grabado '+5 yrs' , Designer ahora se llama :
InfraStructure Composer . El esta dentro del DashBoard de CloudFormation @Menu Izquierdo en la Nueva UI.
El Constructuro de Infrestructura es ahora IaC Composer .
De Caulquier manera la Logica que @CarlosZambrano nos explica sigue siendo la misma, @pesar de los multiples cambios de la GUI durante eestos anhios.
El Ejercicio de esta Clase Bien que se puede hacer como lo da el profesor.
PD: Muy Buen Maestro @CarlosZambrano y el curso prevalece a pesar del tiempo .
echo "Nunca Pares de Aprender!\n";
Si, lo bueno de este curso es que mantiene las bases y la excencia del curso.
La validación de arquitecturas con AWS CloudFormation Designer es una práctica esencial para asegurar que tu infraestructura como código esté correctamente estructurada antes del despliegue. A continuación te explico cómo funciona y cómo puedes usarla efectivamente:
✅ ¿Qué es AWS CloudFormation Designer?
Es una herramienta visual integrada en la consola de AWS que te permite:
Diseñar arquitecturas con componentes de AWS arrastrando y soltando.
Visualizar relaciones entre recursos (como Lambda, S3, API Gateway, etc.).
Validar plantillas YAML o JSON.
Editar código y diagrama en tiempo real.
🧰 ¿Cómo Validar una Arquitectura en CloudFormation Designer?
🔹 1. Accede a CloudFormation Designer
Ve a la consola de AWS.
Navega a CloudFormation.
En el panel izquierdo, haz clic en Designer.
🔹 2. Cargar o crear una plantilla
Puedes:
Subir una plantilla .yaml o .json.
Escribir directamente en el editor.
Arrastrar recursos desde el panel izquierdo.
🔹 3. Validar la plantilla
Una vez que hayas construido o cargado tu infraestructura:
✅ Haz clic en el botón “Actions” → “Validate Template”.
Si es válida, verás un mensaje de éxito.
Si tiene errores, te mostrará una lista detallada de problemas como:
Designer te marcará:
“Unrecognized property 'BucktName'”, y te dirá la línea exacta.
📊 Ventajas de Usar CloudFormation Designer
VentajaDescripciónVisualizaciónVes gráficamente la arquitectura.Detección temprana de erroresAhorra tiempo en pruebas.Edición bidireccionalPuedes editar tanto el código como el diagrama.Documentación automáticaPuedes exportar la arquitectura como imagen.
🎯 Consejos Prácticos
Usa nombres descriptivos para recursos (por ejemplo, LambdaProcesaOrdenes en vez de Lambda1).
Agrupa parámetros y salidas con Metadata -> AWS::CloudFormation::Interface.
Verifica las referencias cruzadas (!Ref, !GetAtt) estén bien conectadas.
Utiliza Stack anidados para organizar arquitecturas grandes.
como corregir el archivo si tiene errors? a todos les funciono el master file?
The following resource types are not supported for resource import: AWS::Lambda::Permission
Si funciono correctamente. Pero recomiendo igual, buscar otros templates o crear diseños propios para asegurar el conocimiento
al cargar el archivo master.yml
genera un error que soporta el resource import:
The following resource types are not supported for resource import: AWS::Lambda::Permission
y si se lo retiro obviamente ya a decir que el resource debe contener un TYpe Member.
como corregir el archivo si tiene errors? a todos les funciono el master file?
se utiliza par avalidar architecturas antes de hacer el deploy. y no se usan para realizar el template. OK
si
interesante :)
interesante lab
creating a stack using the Designer
proyecto VOtanet en un stack simple
Un buen recurso pero debemos ser minuciosos con su uso.
¿Alguna idea de para que sirve el LambdaPolicyS3?, ya que no está agregado a algún rol o recurso, y el bucket de S3 de donde se toma el código de la Lamda ya estaba creado