惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
罗磊的独立博客
量子位
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
M
MIT News - Artificial intelligence
月光博客
月光博客
IT之家
IT之家
D
DataBreaches.Net
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
D
Docker
The GitHub Blog
The GitHub Blog
B
Blog
V
Visual Studio Blog
博客园 - Franky
N
Netflix TechBlog - Medium
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
博客园 - 聂微东
U
Unit 42

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
CloudFormation Diagram Generator — Visualize AWS Template...
Raghvendra P · 2026-04-25 · via DEV Community

Raghvendra Pandey

InfraSketch now supports CloudFormation. Paste a CloudFormation YAML or JSON template — including all the !Ref, !GetAtt, and !Sub shorthand you're used to writing — and get a clean architecture diagram in seconds. No login, no backend, everything runs in your browser.

Try it now Paste your CloudFormation template and see the diagram instantly. Open InfraSketch →

Why CloudFormation support matters

CloudFormation is still the most widely deployed IaC tool in AWS-heavy organizations. It ships with every AWS account, it integrates natively with CDK, SAM, and AWS Service Catalog, and most platform teams have years of existing templates they maintain. But CloudFormation has always been terrible at communicating what it actually does. A 400-line YAML file is not an architecture — it's a specification. Turning it into a diagram has always meant manual work in draw.io or Lucidchart.

InfraSketch eliminates that step. Paste the template, click Generate, get a diagram you can share or export.

How it works

CloudFormation templates use YAML shorthand tags like !Ref and !GetAtt that are not standard YAML — most parsers choke on them. InfraSketch registers custom YAML types for all CloudFormation intrinsic functions before parsing, so your templates load cleanly without any preprocessing.

Once parsed, the engine walks every resource's Properties block and:

  • Maps the Type field (e.g. AWS::ECS::Service) to a visual category with the correct AWS icon
  • Detects VpcId: !Ref MyVPC and draws the resource inside the VPC container
  • Detects SubnetId / SubnetIds / Subnets references and places the resource in the correct subnet lane
  • Infers directed connections from any other Ref or GetAtt between supported resources

The result is the same zoned layout InfraSketch uses for Terraform — Internet zone at the top, ingress layer, VPC with subnets, data zone, messaging zone, security zone — all inferred automatically from your template.

Quick start

  1. Open infrasketch.cloud
  2. Click the CloudFormation tab
  3. Paste your template (YAML or JSON) and click Generate Diagram
  4. Export as PNG, SVG, or draw.io XML — or click Share to copy a shareable URL

The parser auto-detects YAML vs JSON based on whether the template starts with {.

Example: a minimal web stack

AWSTemplateFormatVersion: '2010-09-09'
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16

PublicSubnet:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: 10.0.1.0/24

AppLoadBalancer:
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
Subnets:
- !Ref PublicSubnet

AppFunction:
Type: AWS::Lambda::Function
Properties:
Role: !GetAtt LambdaRole.Arn
Environment:
Variables:
QUEUE_URL: !Ref AppQueue

AppQueue:
Type: AWS::SQS::Queue

LambdaRole:
Type: AWS::IAM::Role

Enter fullscreen mode Exit fullscreen mode

This produces a diagram with the VPC container, PublicSubnet with the ALB inside, Lambda connecting to SQS and IAM Role, and the messaging zone for the queue — all from the references in the template.

Supported resource types

Category CloudFormation types
Networking AWS::EC2::VPC, AWS::EC2::Subnet, AWS::EC2::InternetGateway, AWS::EC2::NatGateway, AWS::EC2::EIP, AWS::EC2::RouteTable, AWS::EC2::TransitGateway, AWS::EC2::VPNGateway, AWS::EC2::NetworkInterface
Compute AWS::EC2::Instance, AWS::EC2::LaunchTemplate, AWS::AutoScaling::AutoScalingGroup, AWS::EKS::Cluster, AWS::EKS::Nodegroup, AWS::ECS::Cluster, AWS::ECS::Service, AWS::ECS::TaskDefinition, AWS::Lambda::Function
Data AWS::RDS::DBInstance, AWS::RDS::DBCluster, AWS::DynamoDB::Table, AWS::ElastiCache::CacheCluster, AWS::ElastiCache::ReplicationGroup
Storage AWS::S3::Bucket
Load balancing AWS::ElasticLoadBalancingV2::LoadBalancer (ALB/NLB auto-detected), AWS::ElasticLoadBalancingV2::TargetGroup, AWS::ElasticLoadBalancing::LoadBalancer
Security AWS::EC2::SecurityGroup, AWS::IAM::Role, AWS::KMS::Key, AWS::WAFv2::WebACL
Edge / DNS AWS::CloudFront::Distribution, AWS::Route53::HostedZone, AWS::Route53::RecordSet, AWS::Route53::RecordSetGroup
Messaging AWS::SQS::Queue, AWS::SNS::Topic
Containers AWS::ECR::Repository
Observability AWS::CloudWatch::Alarm, AWS::Logs::LogGroup

What gets inferred automatically

VPC containment

Any resource with VpcId: !Ref X is drawn inside the VPC box for resource X.

Subnet placement

SubnetId, SubnetIds, and Subnets properties place resources in the correct subnet lane.

ALB vs NLB

Type: network on a load balancer property selects the NLB icon; anything else is ALB.

Connection arrows

Every !Ref and !GetAtt between supported resources that isn't a VPC/subnet reference becomes a directed arrow.

Intrinsic functions supported

The YAML parser handles all standard CloudFormation shorthand tags without requiring you to expand them to long form:

  • !Ref — logical resource reference
  • !GetAtt — attribute reference (!GetAtt Resource.Attribute or list form)
  • !Sub — string substitution (scalar and list forms)
  • !If, !And, !Or, !Not — conditionals
  • !Select, !Join, !Split, !FindInMap
  • !Base64, !ImportValue, !Condition

JSON templates are also supported — { "Ref": "MyVPC" } and { "Fn::GetAtt": ["MyRole", "Arn"] } both work exactly the same way.

What's still Terraform-only

A few features remain Terraform-specific for now: module expansion (ZIP upload and registry auto-fetch), and the plan JSON workflow. CloudFormation doesn't have an equivalent to terraform show -json, but the template itself is already the resolved source of truth — there's no variable evaluation step needed.

Use cases

  • Code reviews — paste the template diff, see what changed in the diagram
  • Onboarding — new team member needs to understand the stack without reading 500 lines of YAML
  • Documentation — export as PNG or SVG and embed in a wiki, Confluence page, or design doc
  • draw.io integration — export as draw.io XML to get a fully editable diagram in diagrams.net or Confluence
  • Audit prep — show reviewers the actual infrastructure topology without sharing credentials

Try CloudFormation diagrams now Paste your template and get a diagram in seconds. Free, no login, nothing leaves your browser. Open InfraSketch →