Kostenloses Tool
Terraform als Diagramm
Fügen Sie Terraform-Dateien (.tf) oder die Ausgabe von terraform show -json ein und erhalten Sie ein bearbeitbares Architekturdiagramm: VPCs, Subnetze und Ressourcengruppen werden zu Rahmen, Ressourcen zu Karten und Referenzen zu Verbindungen. Zum Ausprobieren brauchen Sie kein Konto.
Beispielausgabe
So funktioniert es
Terraform einfügen oder ablegen
Eine .tf-Datei, mehrere Dateien desselben Moduls oder das JSON, das terraform show -json für einen gespeicherten Plan oder Ihren State ausgibt. Kein terraform init nötig.
Architektur ansehen
Jede Ressource wird zu einer Karte für ihre Art, etwa Compute, Datenbank oder Queue. Netzwerke, Subnetze und Ressourcengruppen werden zu Rahmen um die Ressourcen, die darin liegen.
In Archboard öffnen
Speichern Sie es als neues Diagramm, um Karten umzuordnen, Notizen zu ergänzen, einen Link zu teilen oder als SVG und PNG zu exportieren. Für die Registrierung genügt ein Google- oder GitHub-Konto.
Was aus Terraform-Code gezeichnet wird
Das Diagramm entsteht aus diesen Blöcken und Argumenten Ihrer Konfiguration:
resourcedataRessourcen als Karten für ihren Typ. Verbindende Ressourcen wie aws_lb_target_group_attachment werden zu Verbindungen, Einstellungen wie aws_s3_bucket_versioning werden in ihren Bucket eingeklappt, und Data Sources entfallen, sofern keine Ressourcen darin liegen.
depends_onEine Verbindung für jede Referenz von einer Ressource auf eine andere, etwa aws_iam_role.app.arn, auch innerhalb von Strings, Heredocs und locals. depends_on ergibt eine gestrichelte Verbindung, außer wenn schon eine Referenz die beiden Ressourcen verbindet oder das Ziel ein ausgeblendeter Helfer wie time_sleep ist.
vpc_idsubnet_idPlatzierung über vpc_id und subnet_id: Eine Ressource in einem Subnetz liegt in diesem Subnetz, eine über mehrere Subnetze einer VPC verteilte Ressource im VPC-Rahmen, und Azure-Ressourcen liegen in ihrer Ressourcengruppe.
modulesourceJeder module-Block als Karte. Bekannte Registry-Module wie terraform-aws-modules/vpc/aws, eks und rds werden zu dem Netzwerkrahmen, Cluster oder der Datenbank, die sie erzeugen, und Ressourcen, die die Subnetze des VPC-Moduls nutzen, liegen in diesem Rahmen.
resource_changesMit Plan-JSON zeigt jede Ressourcenkarte, was der Plan mit der Ressource vorhat: + erstellen, ~ ändern, − löschen oder ± ersetzen. Ressourcen, die der Plan nicht ändert, tragen keine Markierung, ebenso wenig Rahmen wie VPCs und Subnetze oder Einstellungen, die in eine Karte eingeklappt sind.
awsazurermgoogleRessourcen von AWS, Azure und Google Cloud, bei mehreren Providern gemeinsam in einem Diagramm. Typen ohne eigene Karte erscheinen als generische Karten, die den Ressourcentyp zeigen.
Terraform-Plan visualisieren
Plan-JSON liefert das vollständigste Diagramm: count und for_each werden zu echten Instanzzahlen, Module zeigen ihre Ressourcen, und Ressourcenkarten sind mit ihrer geplanten Änderung markiert. Führen Sie diese beiden Befehle dort aus, wo Sie sonst terraform plan ausführen, und fügen Sie dann das JSON ein:
Erstellt einen Plan und speichert ihn in plan.out, ohne etwas anzuwenden.
terraform plan -out plan.outGibt den gespeicherten Plan als JSON aus. Fügen Sie die Ausgabe ein oder leiten Sie sie in plan.json um und legen Sie die Datei hier ab.
terraform show -json plan.out
Was ein Terraform-Diagramm weglässt
- Werte von Variablen und locals, .tfvars-Dateien, tags, user_data und andere Attributwerte. Karten tragen literale Namen wie bucket oder function_name, sonst den Ressourcennamen aus Ihrem Code.
- Die Expansion von count und for_each in .tf-Dateien: Die Konfiguration wird nicht ausgewertet, daher ist eine Ressource mit count = 3 eine einzige Karte mit ×3, und eine mit for_each trägt ×N. Für echte Instanzzahlen fügen Sie Plan-JSON ein.
- Der Inhalt entfernter Module: Registry- und Git-Module werden nicht heruntergeladen. Ein Modul, das nicht zu den bekannten gehört, bleibt eine Karte, und Plan-JSON zeigt die Ressourcen darin.
- Der Live-Zustand der Cloud, Drift, Kosten oder welche Services sich zur Laufzeit gegenseitig aufrufen. Das Diagramm zeigt, wie Ihre Konfiguration Ressourcen verknüpft, nicht den Traffic.
Fragen zu Terraform-Diagrammen
Soll ich .tf-Dateien oder Plan-JSON einfügen?
.tf-Dateien zeigen am schnellsten die Struktur Ihres Codes, und vorher muss nichts laufen. Plan-JSON ist vollständiger, weil Terraform es bereits aufgelöst hat: Anzahlen sind echt, Module sind aufgeklappt, und Ressourcenkarten zeigen ihre geplante Änderung. Nehmen Sie .tf für einen schnellen Überblick und Plan-JSON, wenn Sie eine Änderung prüfen.
Kann ich mehrere .tf-Dateien auf einmal hinzufügen?
Ja. Legen Sie mehrere .tf-Dateien oder einen ganzen Modulordner ab, dann werden sie zusammen gelesen, so wie Terraform alle .tf-Dateien eines Verzeichnisses liest. Sie können die Dateien auch nacheinander in das Feld einfügen. JSON-Eingaben wie ein Plan oder eine State-Datei werden einzeln gelesen.
Welche Cloud-Anbieter werden unterstützt?
AWS, Azure und Google Cloud. Gängige Ressourcentypen werden Karten wie Compute, Funktion, Datenbank, Queue, Load Balancer oder DNS zugeordnet, und Netzwerke, Subnetze und Ressourcengruppen werden zu Rahmen. Kubernetes- und Helm-Ressourcen erscheinen als generische Karten, Hilfs-Provider wie random, time und null_resource werden ausgeblendet.
Kann ich Terraform-State visualisieren?
Ja. Fügen Sie die Ausgabe von terraform show -json für Ihren aktuellen State ein oder legen Sie eine rohe terraform.tfstate-Datei ab. Das Diagramm zeigt Ressourcentypen, Namen und Abhängigkeiten; ein als sensitive markierter Name wird durch den Ressourcennamen aus Ihrem Code ersetzt. Eine .tfvars-Datei wird nicht angenommen, weil sie nur Variablenwerte enthält.
Was passiert, wenn ich das Diagramm in Archboard öffne?
Die Vorschau auf dieser Seite wird nicht gespeichert. Wenn Sie „In Archboard öffnen“ wählen, wird das angezeigte Diagramm mit Karten, Rahmen, Namen und Verbindungen als neues Diagramm in Ihrem Workspace gespeichert. Dort können Sie es umordnen, kommentieren, teilen oder exportieren. Es ist ein Ausgangspunkt: Spätere Änderungen an Ihrem Terraform-Code aktualisieren das Diagramm nicht.
Ist der Terraform-Visualizer kostenlos?
Ja. Zum Einfügen von Terraform-Code und Ansehen des Diagramms brauchen Sie kein Konto. Zum Öffnen in Archboard genügt ein kostenloses Konto.
In einer Minute ein Canvas öffnen
Melden Sie sich mit Google oder GitHub an. Kostenlos für einen Sitzplatz. Upgrade, wenn das Team dazukommt.