Herramienta gratuita

CloudFormation a diagrama

Pega una plantilla de CloudFormation en YAML o JSON, una plantilla de AWS SAM o la salida de cdk synth, y obtén un diagrama de arquitectura de AWS editable. Los recursos se convierten en tarjetas dentro de su VPC y sus subredes, y Ref, GetAtt y DependsOn se convierten en conexiones. No necesitas cuenta para probarlo.

Resultado de ejemplo

Diagrama de ejemplo dibujado a partir de un ejemplo de CloudFormation
Prueba un ejemploApp web en una VPC (YAML)API de pedidos con SAMSalida de CDK synth (JSON)

Cómo funciona

  1. Pega o suelta tu plantilla

    Un template.yaml o template.json tal como lo despliegas, con etiquetas cortas como !Ref y !Sub, o la plantilla que genera cdk synth. Los comentarios y las formas largas Fn:: no son problema.

  2. Mira tu stack

    Cada recurso se convierte en una tarjeta de su servicio de AWS. Las VPC y subredes se convierten en marcos alrededor de lo que se ejecuta en ellas, y las referencias entre recursos, en conexiones.

  3. Ábrelo en Archboard

    Guárdalo como un diagrama nuevo para reorganizar las tarjetas, añadir notas, compartir un enlace o exportarlo en SVG y PNG. Para registrarte basta una cuenta de Google o GitHub.

Qué se dibuja a partir de una plantilla de CloudFormation

El diagrama se construye con la sección Resources de tu plantilla y con estas propiedades:

  • ResourcesType

    Las entradas de Resources, como tarjetas según su Type, por ejemplo AWS::Lambda::Function o AWS::RDS::DBInstance. Los tipos de enlace, como los event source mappings, las suscripciones de SNS y las reglas de entrada de los grupos de seguridad, se convierten en conexiones, y los recursos personalizados aparecen como tarjetas genéricas.

  • !Ref!GetAtt!Sub

    Una conexión allí donde una propiedad apunta a otro recurso con Ref, Fn::GetAtt o un nombre dentro de Fn::Sub, en forma corta o larga. Las referencias dentro de Fn::If se dibujan discontinuas, porque las decide una condición.

  • DependsOn

    Las entradas de DependsOn, tanto si nombran un solo recurso como si enumeran varios, como conexiones discontinuas, salvo que una referencia ya conecte esos dos recursos. Un DependsOn hacia un recurso que no se dibuja, como AWS::EC2::VPCGatewayAttachment, no añade ninguna conexión.

  • VpcIdSubnetId

    Las VPC como marcos que contienen sus subredes, y los recursos ubicados mediante VpcId, SubnetId, SubnetIds o VpcConfig: dentro de su subred, o en el marco de la VPC si abarcan varias subredes.

  • EventsConnectors

    Los eventos de las funciones SAM, como conexiones desde la ruta de la API, etiquetada por ejemplo POST /orders, o desde la cola, el bucket, el stream o la regla que inicia la función. Las programaciones se convierten en tarjetas de disparador, y los Connectors, en conexiones Read o Write.

  • aws:cdk:path

    En la salida de cdk synth, las tarjetas toman nombres legibles de aws:cdk:path en lugar de los ID lógicos generados, los constructs con dos o más recursos se convierten en marcos, y CDKMetadata y los recursos auxiliares propios de CDK se ocultan.

  • AWS::CloudFormation::Stack

    Cada stack anidado como una sola tarjeta, conectado desde los recursos que recibe como parámetros y hacia los recursos que leen sus salidas.

Plantillas de AWS SAM

Una plantilla con Transform: AWS::Serverless-2016-10-31 se lee tal como está escrita, sin ejecutar sam build. Las funciones, API, API HTTP, tablas simples, máquinas de estado y aplicaciones anidadas tienen su propia tarjeta, una API que SAM crea a partir de un evento de función también aparece como tarjeta, y los recursos referenciados en Policies se conectan con su función. Globals solo contiene ajustes comunes, así que no se dibuja.

Qué deja fuera un diagrama de CloudFormation

  • Los valores de los parámetros y sus valores por defecto, Mappings, Outputs y el resultado de Conditions: se dibujan todos los recursos, incluso los que una condición omitiría, y no se muestran los valores de las propiedades.
  • Los recursos dentro de un stack anidado o de una aplicación SAM, porque no se descarga la plantilla hija indicada en TemplateURL o Location. Los valores importados de otros stacks con Fn::ImportValue se cuentan, pero no se dibujan.
  • Las macros y transformaciones distintas de SAM, y los bucles Fn::ForEach: no se expande nada, así que un bucle ForEach aparece como una sola tarjeta de marcador de posición.
  • El estado del stack, la deriva, los costes o qué servicios se llaman entre sí en tiempo de ejecución. El diagrama muestra cómo la plantilla conecta los recursos, no el tráfico real.

Preguntas sobre diagramas de CloudFormation

¿Lee plantillas en YAML y en JSON?

Sí. Una plantilla YAML con etiquetas cortas como !Ref, !GetAtt y !Sub, la misma plantilla escrita con claves Fn:: y su versión en JSON dan el mismo diagrama. Los comentarios y la línea AWSTemplateFormatVersion no son problema.

¿Puedo visualizar una plantilla de AWS SAM?

Sí. Pega template.yaml tal cual, antes de sam build o sam deploy. Los eventos de cada función se convierten en conexiones desde API, colas, buckets, streams y programaciones, los Connectors, en conexiones Read o Write, y una API implícita tiene su propia tarjeta.

¿Cómo visualizo una app de AWS CDK?

Ejecuta cdk synth y pega la plantilla que imprime, o suelta desde la carpeta cdk.out el archivo con el nombre de tu stack, por ejemplo MyStack.template.json. Las tarjetas toman el nombre de su ruta de construct, los constructs más grandes se convierten en marcos y los metadatos de CDK se ocultan. Tu código de CDK en sí, en TypeScript, Python u otro lenguaje, no se lee.

¿Qué pasa con los stacks anidados?

Cada recurso AWS::CloudFormation::Stack es una sola tarjeta, conectada a los recursos que recibe como parámetros y a los recursos que leen sus salidas con Fn::GetAtt. Su plantilla hija no se descarga; pega esa plantilla por separado para ver su contenido.

¿Qué pasa al abrir el diagrama en Archboard?

La vista previa de esta página no se guarda. Cuando eliges «Abrir en Archboard», el diagrama que ves, con sus tarjetas, marcos, nombres y conexiones, se guarda como un diagrama nuevo en tu espacio de trabajo, donde puedes reorganizarlo, anotarlo, compartirlo o exportarlo. Es un punto de partida: los cambios posteriores en tu plantilla no actualizan el diagrama.

¿El visualizador de CloudFormation es gratuito?

Sí. Pegar una plantilla y ver el diagrama no requiere cuenta. Para abrirlo en Archboard basta una cuenta gratuita.

Abre un lienzo en un minuto

Inicia sesión con Google o GitHub. Gratis para un asiento. Mejora el plan cuando se una el equipo.