VPC Architecture
Subnets, availability zones and what is actually reachable from where.
- Format.puml
- Length43 lines
- LibraryAWS icons
The source
43 lines of PlantUML, and pulls in AWS icons. Copy it, or open the template inside Gnomon and render it as it is.
@startuml
!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/main/dist
!include AWSPuml/AWSCommon.puml
!include AWSPuml/Groups/VPC.puml
!include AWSPuml/Groups/AvailabilityZone.puml
!include AWSPuml/Groups/PublicSubnet.puml
!include AWSPuml/Groups/PrivateSubnet.puml
!include AWSPuml/Compute/EC2.puml
!include AWSPuml/Database/RDS.puml
!include AWSPuml/NetworkingContentDelivery/ElasticLoadBalancing.puml
!include AWSPuml/NetworkingContentDelivery/VPCNATGateway.puml
title AWS VPC Architecture
VPCGroup(vpc, "Production VPC") {
AvailabilityZoneGroup(az1, "AZ-1") {
PublicSubnetGroup(public1, "Public Subnet") {
ElasticLoadBalancing(alb, "ALB", "")
VPCNATGateway(nat1, "NAT Gateway", "")
}
PrivateSubnetGroup(private1, "Private Subnet") {
EC2(app1, "App Server", "")
RDS(db1, "Primary DB", "")
}
}
AvailabilityZoneGroup(az2, "AZ-2") {
PublicSubnetGroup(public2, "Public Subnet") {
VPCNATGateway(nat2, "NAT Gateway", "")
}
PrivateSubnetGroup(private2, "Private Subnet") {
EC2(app2, "App Server", "")
RDS(db2, "Standby DB", "")
}
}
}
alb --> app1
alb --> app2
app1 --> db1
app2 --> db1
db1 <--> db2 : Replication
@endumlRender this offline
This template ships in Gnomon and renders on your machine, with no account and nothing sent to a server. The browser editor is free and needs no install.
Others in AWS architecture diagrams
- Simple ArchitectureThe starting point: a handful of services and the traffic between them.
- Serverless ArchitectureAPI Gateway, Lambda, DynamoDB: the pattern most greenfield work starts from.
- Microservices ArchitectureService-per-container with the plumbing between them.
- Data Lake ArchitectureIngest, store, catalogue, query.
- CI/CD PipelineCodePipeline and friends, end to end.