Outil gratuit
Terraform en diagramme
Collez des fichiers Terraform .tf ou la sortie de terraform show -json et obtenez un diagramme d’architecture modifiable : les VPC, sous-réseaux et groupes de ressources deviennent des cadres, les ressources des cartes, et les références des liens. Aucun compte n’est nécessaire pour essayer.
Exemple de résultat
Comment ça marche
Collez ou déposez votre Terraform
Un fichier .tf, plusieurs fichiers d’un même module, ou le JSON que terraform show -json affiche pour un plan enregistré ou pour votre state. Pas besoin de terraform init.
Voyez l’architecture
Chaque ressource devient une carte selon son type : calcul, base de données ou file d’attente, par exemple. Les réseaux, sous-réseaux et groupes de ressources deviennent des cadres autour des ressources qu’ils contiennent.
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 du code Terraform
Le diagramme est construit à partir de ces blocs et arguments de votre configuration :
resourcedataLes ressources, sous forme de cartes selon leur type. Les ressources de liaison comme aws_lb_target_group_attachment deviennent des liens, les réglages comme aws_s3_bucket_versioning se replient dans leur bucket, et les data sources sont ignorées, sauf si des ressources y sont placées.
depends_onUn lien pour chaque référence d’une ressource vers une autre, comme aws_iam_role.app.arn, y compris dans les chaînes, les heredocs et les locals. depends_on ajoute un lien en pointillés, sauf si une référence relie déjà les deux ressources ou si la cible est un utilitaire masqué comme time_sleep.
vpc_idsubnet_idLe placement via vpc_id et subnet_id : une ressource dans un seul sous-réseau se place dans ce sous-réseau, une ressource répartie sur plusieurs sous-réseaux d’un VPC dans le cadre du VPC, et les ressources Azure dans leur groupe de ressources.
modulesourceChaque bloc module sous forme de carte. Les modules connus du registry, comme terraform-aws-modules/vpc/aws, eks et rds, deviennent le cadre réseau, le cluster ou la base de données qu’ils créent, et les ressources qui utilisent les sous-réseaux du module VPC se placent dans ce cadre.
resource_changesAvec un plan JSON, chaque carte de ressource indique ce que le plan va lui faire : + créer, ~ modifier, − supprimer ou ± remplacer. Les ressources que le plan ne change pas ne portent aucune marque, pas plus que les cadres comme les VPC et les sous-réseaux, ni les réglages repliés dans une carte.
awsazurermgoogleLes ressources AWS, Azure et Google Cloud, réunies dans un même diagramme si vous utilisez plusieurs fournisseurs. Les types sans carte dédiée apparaissent comme des cartes génériques qui affichent le type de ressource.
Visualiser un plan Terraform
Le plan JSON donne le diagramme le plus complet : count et for_each deviennent de vrais nombres d’instances, les modules révèlent leurs ressources et les cartes de ressources sont marquées avec leur changement prévu. Lancez ces deux commandes là où vous lancez d’habitude terraform plan, puis collez le JSON :
Crée un plan et l’enregistre dans plan.out sans rien appliquer.
terraform plan -out plan.outAffiche le plan enregistré en JSON. Collez la sortie, ou redirigez-la vers plan.json et déposez ce fichier ici.
terraform show -json plan.out
Ce qu’un diagramme Terraform laisse de côté
- Les valeurs des variables et des locals, les fichiers .tfvars, les tags, user_data et les autres valeurs d’attributs. Les cartes portent les noms littéraux comme bucket ou function_name, ou à défaut le nom de la ressource dans votre code.
- L’expansion de count et for_each dans les fichiers .tf : la configuration n’est pas évaluée, donc une ressource avec count = 3 est une seule carte marquée ×3, et une ressource avec for_each est marquée ×N. Collez un plan JSON pour obtenir les vrais nombres d’instances.
- Le contenu des modules distants : les modules du registry et de Git ne sont pas téléchargés. Un module qui ne fait pas partie des modules connus reste une seule carte, et le plan JSON montre les ressources qu’il contient.
- L’état réel du cloud, la dérive, les coûts, ou quels services s’appellent entre eux à l’exécution. Le diagramme montre comment votre configuration relie les ressources, pas le trafic.
Questions sur les diagrammes Terraform
Faut-il coller des fichiers .tf ou un plan JSON ?
Les fichiers .tf sont le moyen le plus rapide de voir la structure de votre code, sans rien exécuter avant. Le plan JSON est plus complet, car Terraform l’a déjà résolu : les nombres sont réels, les modules sont développés et les cartes de ressources affichent leur changement prévu. Utilisez .tf pour un aperçu rapide et le plan JSON pour relire un changement.
Puis-je ajouter plusieurs fichiers .tf à la fois ?
Oui. Déposez plusieurs fichiers .tf, ou tout un dossier de module : ils sont lus ensemble, comme Terraform lit tous les fichiers .tf d’un répertoire. Vous pouvez aussi coller les fichiers l’un après l’autre dans la zone de texte. Les entrées JSON, comme un plan ou un fichier de state, sont lues un fichier à la fois.
Quels fournisseurs cloud sont pris en charge ?
AWS, Azure et Google Cloud. Les types de ressources courants correspondent à des cartes comme calcul, fonction, base de données, file d’attente, équilibreur de charge ou DNS, et les réseaux, sous-réseaux et groupes de ressources deviennent des cadres. Les ressources Kubernetes et Helm apparaissent comme des cartes génériques, et les fournisseurs utilitaires comme random, time et null_resource sont masqués.
Puis-je visualiser un state Terraform ?
Oui. Collez la sortie de terraform show -json pour votre state actuel, ou déposez un fichier terraform.tfstate brut. Le diagramme montre les types, noms et dépendances des ressources, et un nom marqué sensitive est remplacé par le nom de la ressource dans votre code. Un fichier .tfvars n’est pas accepté, car il ne contient que des valeurs de variables.
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 code Terraform ne mettent pas le diagramme à jour.
Le visualiseur Terraform est-il gratuit ?
Oui. Coller du code Terraform 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.