AWS — Three-Tier Web Application, Multi-AZ
The reference architecture, drawn correctly and reported clean: a public load balancer, application servers in private subnets across two availability zones, and the database isolated with a standby in the other zone. Copy this one. Every check runs and finds nothing, which the engine states rather than implies.
Make it your own.
title "Three-tier web application"
provider aws
internet {
user customers "Customers"
}
cloud prod "Acme Production" {
region us-east-1 {
network vpc-main "Main VPC" cidr 10.0.0.0/16 {
alb lb "Public load balancer"
igw gw "Internet gateway"
s3 assets "Static assets"
zone us-east-1a {
subnet pub-a "Public A" public cidr 10.0.1.0/24 {
nat nat-a "NAT gateway A"
}
subnet app-a "App tier A" private cidr 10.0.11.0/24 {
ec2 web-a "Web server A" count 2 tier web
}
subnet data-a "Data A" isolated cidr 10.0.21.0/24 {
rds db-a "Orders (primary)" multi-az
}
}
zone us-east-1b {
subnet pub-b "Public B" public cidr 10.0.2.0/24 {
nat nat-b "NAT gateway B"
}
subnet app-b "App tier B" private cidr 10.0.12.0/24 {
ec2 web-b "Web server B" count 2 tier web
}
subnet data-b "Data B" isolated cidr 10.0.22.0/24 {
rds db-b "Orders (standby)" multi-az
}
}
}
}
}
customers -> lb : https 443
lb -> web-a : http 8080
lb -> web-b : http 8080
web-a -> db-a : postgres 5432
web-b -> db-a : postgres 5432
db-a <=> db-b : replication
web-a => assets : s3 api
web-b => assets : s3 api
lb ..> gw
web-a ..> nat-a
web-b ..> nat-b