Kostenloses Tool
CloudFormation als Diagramm
Fügen Sie eine CloudFormation-Vorlage in YAML oder JSON, eine AWS-SAM-Vorlage oder die Ausgabe von cdk synth ein und erhalten Sie ein bearbeitbares AWS-Architekturdiagramm. Ressourcen werden zu Karten in ihrer VPC und ihren Subnetzen, Ref, GetAtt und DependsOn zu Verbindungen. Zum Ausprobieren brauchen Sie kein Konto.
Beispielausgabe
So funktioniert es
Vorlage einfügen oder ablegen
Eine template.yaml oder template.json so, wie Sie sie bereitstellen, mit Kurzformen wie !Ref und !Sub, oder die Vorlage, die cdk synth erzeugt. Kommentare und die langen Fn::-Formen sind kein Problem.
Stack ansehen
Jede Ressource wird zu einer Karte für ihren AWS-Dienst. VPCs und Subnetze werden zu Rahmen um das, was darin läuft, und Referenzen zwischen Ressourcen werden zu Verbindungen.
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 einer CloudFormation-Vorlage gezeichnet wird
Das Diagramm entsteht aus dem Abschnitt Resources Ihrer Vorlage und diesen Eigenschaften:
ResourcesTypeEinträge unter Resources als Karten für ihren Type, etwa AWS::Lambda::Function oder AWS::RDS::DBInstance. Verbindende Typen wie Event-Source-Mappings, SNS-Abonnements und Ingress-Regeln von Sicherheitsgruppen werden zu Verbindungen, und Custom Resources erscheinen als generische Karten.
!Ref!GetAtt!SubEine Verbindung überall dort, wo eine Eigenschaft mit Ref, Fn::GetAtt oder einem Namen in Fn::Sub auf eine andere Ressource verweist, in Kurz- oder Langform. Referenzen in Fn::If sind gestrichelt, weil eine Bedingung über sie entscheidet.
DependsOnDependsOn-Einträge, ob sie eine Ressource nennen oder mehrere auflisten, als gestrichelte Verbindungen, außer wenn schon eine Referenz dieselben zwei Ressourcen verbindet. DependsOn auf eine Ressource, die nicht gezeichnet wird, etwa AWS::EC2::VPCGatewayAttachment, ergibt keine Verbindung.
VpcIdSubnetIdVPCs als Rahmen mit ihren Subnetzen, und Ressourcen, die über VpcId, SubnetId, SubnetIds oder VpcConfig platziert werden: in ihrem Subnetz oder im VPC-Rahmen, wenn sie mehrere Subnetze umfassen.
EventsConnectorsSAM-Funktionsereignisse als Verbindungen von der API-Route, beschriftet etwa mit POST /orders, oder von der Queue, dem Bucket, dem Stream oder der Regel, die die Funktion startet. Zeitpläne werden zu Trigger-Karten, und Connectors werden zu Read- oder Write-Verbindungen.
aws:cdk:pathBei Ausgabe von cdk synth erhalten Karten lesbare Namen aus aws:cdk:path statt generierter logischer IDs, Constructs mit zwei oder mehr Ressourcen werden zu Rahmen, und CDKMetadata sowie die CDK-eigenen Hilfsressourcen werden ausgeblendet.
AWS::CloudFormation::StackJeder verschachtelte Stack als eine Karte, verbunden von den Ressourcen, die als Parameter übergeben werden, und zu den Ressourcen, die seine Ausgaben lesen.
AWS-SAM-Vorlagen
Eine Vorlage mit Transform: AWS::Serverless-2016-10-31 wird so gelesen, wie sie geschrieben ist, ohne sam build auszuführen. Funktionen, APIs, HTTP-APIs, einfache Tabellen, State Machines und verschachtelte Anwendungen erhalten eigene Karten, eine API, die SAM aus einem Funktionsereignis erzeugt, erscheint ebenfalls als Karte, und in Policies referenzierte Ressourcen werden mit ihrer Funktion verbunden. Globals enthält nur gemeinsame Einstellungen und wird daher nicht gezeichnet.
Was ein CloudFormation-Diagramm weglässt
- Parameterwerte und Standardwerte, Mappings, Outputs und das Ergebnis von Conditions: Jede Ressource wird gezeichnet, auch eine, die eine Bedingung überspringen würde, und Eigenschaftswerte werden nicht angezeigt.
- Ressourcen in einem verschachtelten Stack oder einer SAM-Anwendung, weil die Child-Vorlage aus TemplateURL oder Location nicht geladen wird. Mit Fn::ImportValue aus anderen Stacks importierte Werte werden gezählt, nicht gezeichnet.
- Makros und Transforms außer SAM sowie Fn::ForEach-Schleifen: Nichts davon wird expandiert, daher erscheint eine ForEach-Schleife als eine einzige Platzhalterkarte.
- Stack-Status, Drift, Kosten oder welche Services sich zur Laufzeit gegenseitig aufrufen. Das Diagramm zeigt, wie die Vorlage Ressourcen verknüpft, nicht den Live-Traffic.
Fragen zu CloudFormation-Diagrammen
Werden YAML- und JSON-Vorlagen gelesen?
Ja. Eine YAML-Vorlage mit Kurzformen wie !Ref, !GetAtt und !Sub, dieselbe Vorlage mit Fn::-Schlüsseln und ihre JSON-Fassung ergeben dasselbe Diagramm. Kommentare und die Zeile AWSTemplateFormatVersion sind kein Problem.
Kann ich eine AWS-SAM-Vorlage visualisieren?
Ja. Fügen Sie die template.yaml so ein, wie sie ist, vor sam build oder sam deploy. Die Ereignisse jeder Funktion werden zu Verbindungen von APIs, Queues, Buckets, Streams und Zeitplänen, Connectors werden zu Read- oder Write-Verbindungen, und eine implizite API erhält eine eigene Karte.
Wie visualisiere ich eine AWS-CDK-App?
Führen Sie cdk synth aus und fügen Sie die ausgegebene Vorlage ein, oder legen Sie die nach Ihrem Stack benannte Datei aus dem Ordner cdk.out ab, etwa MyStack.template.json. Karten heißen wie ihre Construct-Pfade, größere Constructs werden zu Rahmen, und CDK-Metadaten werden ausgeblendet. Ihr CDK-Code selbst, ob in TypeScript, Python oder einer anderen Sprache, wird nicht gelesen.
Was passiert mit verschachtelten Stacks?
Jede Ressource vom Typ AWS::CloudFormation::Stack ist eine Karte, verbunden mit den Ressourcen, die sie als Parameter erhält, und mit den Ressourcen, die ihre Ausgaben mit Fn::GetAtt lesen. Ihre Child-Vorlage wird nicht geladen; fügen Sie diese Vorlage einzeln ein, um ihren Inhalt zu sehen.
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 Ihrer Vorlage aktualisieren das Diagramm nicht.
Ist der CloudFormation-Visualizer kostenlos?
Ja. Zum Einfügen einer Vorlage 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.