Outil gratuit

CloudFormation en diagramme

Collez un modèle CloudFormation en YAML ou JSON, un modèle AWS SAM ou la sortie de cdk synth, et obtenez un diagramme d’architecture AWS modifiable. Les ressources deviennent des cartes dans leur VPC et leurs sous-réseaux, et Ref, GetAtt et DependsOn deviennent des liens. Aucun compte n’est nécessaire pour essayer.

Exemple de résultat

Exemple de diagramme tiré d’un exemple CloudFormation
Essayer un exempleApplication web dans un VPC (YAML)API de commandes SAMSortie de CDK synth (JSON)

Comment ça marche

  1. Collez ou déposez votre modèle

    Un template.yaml ou template.json tel que vous le déployez, avec les balises courtes comme !Ref et !Sub, ou le modèle produit par cdk synth. Les commentaires et les formes longues Fn:: sont acceptés.

  2. Voyez votre stack

    Chaque ressource devient une carte pour son service AWS. Les VPC et sous-réseaux deviennent des cadres autour de ce qui s’y exécute, et les références entre ressources deviennent des liens.

  3. Ouvrez-le dans Archboard

    Enregistrez-le comme nouveau diagramme pour réorganiser les cartes, ajouter des notes, partager un lien ou l’exporter en SVG et PNG. Un compte Google ou GitHub suffit pour s’inscrire.

Ce qui est dessiné à partir d’un modèle CloudFormation

Le diagramme provient de la section Resources de votre modèle et de ces propriétés :

  • ResourcesType

    Les entrées de Resources, sous forme de cartes selon leur Type, comme AWS::Lambda::Function ou AWS::RDS::DBInstance. Les types de liaison comme les event source mappings, les abonnements SNS et les règles d’entrée des groupes de sécurité deviennent des liens, et les ressources personnalisées apparaissent comme des cartes génériques.

  • !Ref!GetAtt!Sub

    Un lien partout où une propriété pointe vers une autre ressource avec Ref, Fn::GetAtt ou un nom dans Fn::Sub, en forme courte ou longue. Les références dans Fn::If sont en pointillés, car une condition en décide.

  • DependsOn

    Les entrées DependsOn, qu’elles nomment une seule ressource ou en listent plusieurs, sous forme de liens en pointillés, sauf si une référence relie déjà les deux mêmes ressources. Un DependsOn vers une ressource non dessinée, comme AWS::EC2::VPCGatewayAttachment, n’ajoute aucun lien.

  • VpcIdSubnetId

    Les VPC sous forme de cadres contenant leurs sous-réseaux, et les ressources placées via VpcId, SubnetId, SubnetIds ou VpcConfig : dans leur sous-réseau, ou dans le cadre du VPC lorsqu’elles s’étendent sur plusieurs sous-réseaux.

  • EventsConnectors

    Les événements des fonctions SAM, sous forme de liens depuis la route d’API, étiquetée par exemple POST /orders, ou depuis la file, le bucket, le flux ou la règle qui déclenche la fonction. Les planifications deviennent des cartes de déclenchement, et les Connectors des liens Read ou Write.

  • aws:cdk:path

    Pour la sortie de cdk synth, les cartes prennent des noms lisibles tirés de aws:cdk:path au lieu des identifiants logiques générés, les constructs de deux ressources ou plus deviennent des cadres, et CDKMetadata ainsi que les ressources auxiliaires propres à CDK sont masquées.

  • AWS::CloudFormation::Stack

    Chaque stack imbriquée sous forme d’une seule carte, reliée depuis les ressources passées en paramètres et vers les ressources qui lisent ses sorties.

Modèles AWS SAM

Un modèle avec Transform: AWS::Serverless-2016-10-31 est lu tel qu’il est écrit, sans lancer sam build. Les fonctions, API, API HTTP, tables simples, machines à états et applications imbriquées ont leur propre carte, une API que SAM crée à partir d’un événement de fonction apparaît aussi comme une carte, et les ressources référencées dans Policies sont reliées à leur fonction. Globals ne contient que des réglages communs, il n’est donc pas dessiné.

Ce qu’un diagramme CloudFormation laisse de côté

  • Les valeurs et valeurs par défaut des paramètres, Mappings, Outputs et le résultat des Conditions : chaque ressource est dessinée, même celle qu’une condition ferait sauter, et les valeurs des propriétés ne sont pas affichées.
  • Les ressources d’une stack imbriquée ou d’une application SAM, car le modèle enfant indiqué par TemplateURL ou Location n’est pas récupéré. Les valeurs importées d’autres stacks avec Fn::ImportValue sont comptées, pas dessinées.
  • Les macros et transformations autres que SAM, ainsi que les boucles Fn::ForEach : rien n’est développé, donc une boucle ForEach apparaît comme une seule carte d’espace réservé.
  • L’état de la stack, la dérive, les coûts, ou quels services s’appellent entre eux à l’exécution. Le diagramme montre comment le modèle relie les ressources, pas le trafic réel.

Questions sur les diagrammes CloudFormation

Les modèles YAML et JSON sont-ils lus tous les deux ?

Oui. Un modèle YAML avec des balises courtes comme !Ref, !GetAtt et !Sub, le même modèle écrit avec des clés Fn:: et sa version JSON donnent le même diagramme. Les commentaires et la ligne AWSTemplateFormatVersion sont acceptés.

Puis-je visualiser un modèle AWS SAM ?

Oui. Collez template.yaml tel quel, avant sam build ou sam deploy. Les événements de chaque fonction deviennent des liens depuis les API, files, buckets, flux et planifications, les Connectors deviennent des liens Read ou Write, et une API implicite a sa propre carte.

Comment visualiser une application AWS CDK ?

Lancez cdk synth et collez le modèle affiché, ou déposez depuis le dossier cdk.out le fichier qui porte le nom de votre stack, par exemple MyStack.template.json. Les cartes prennent le nom de leur chemin de construct, les constructs plus grands deviennent des cadres et les métadonnées CDK sont masquées. Votre code CDK lui-même, en TypeScript, Python ou un autre langage, n’est pas lu.

Que deviennent les stacks imbriquées ?

Chaque ressource AWS::CloudFormation::Stack est une seule carte, reliée aux ressources qu’elle reçoit en paramètres et aux ressources qui lisent ses sorties avec Fn::GetAtt. Son modèle enfant n’est pas récupéré ; collez ce modèle séparément pour voir son contenu.

Que se passe-t-il quand j’ouvre le diagramme dans Archboard ?

L’aperçu de cette page n’est pas enregistré. Quand vous choisissez « Ouvrir dans Archboard », le diagramme affiché, avec ses cartes, cadres, noms et liens, est enregistré comme nouveau diagramme dans votre espace de travail : vous pouvez le réorganiser, l’annoter, le partager ou l’exporter. C’est un point de départ : les modifications ultérieures de votre modèle ne mettent pas le diagramme à jour.

Le visualiseur CloudFormation est-il gratuit ?

Oui. Coller un modèle et voir le diagramme ne demande aucun compte. Pour l’ouvrir dans Archboard, un compte gratuit suffit.

Ouvrez un canevas en une minute

Connectez-vous avec Google ou GitHub. Gratuit pour un siège. Passez à un forfait supérieur quand l'équipe vous rejoint.