All Templates|🏆 High Availability Web Appenterprise~$400–900/mo
🏆

High Availability Web App

Multi-AZ ECS Fargate + Aurora Serverless v2 (PostgreSQL) + ElastiCache Redis, behind a WAF-protected internet-facing ALB.

What you can build with this

A production-grade, multi-AZ stack: Fargate tasks across two AZs, an Aurora Serverless v2 cluster that scales 0.5–16 ACUs with a promotable reader, and an encrypted Redis replication group for sessions/caching — all behind AWS WAF's managed rule sets. This template does NOT put CloudFront in front of the load balancer: CloudFront's origin config for a load balancer is hardcoded to HTTPS-only, which only works with a real ACM certificate on the ALB, and provisioning one requires DNS validation this starter template can't automate for you sight-unseen. WAF attaches directly to the (internet-facing) ALB instead — a real, deploy-clean front door. Add CloudFront + a validated ACM certificate yourself later if you want a CDN layer on top.

Deployment timing

After you run the deploy command, resources come online at different times. Check the validation steps in order.

ResourceReady in
VPC, subnets, security groups1–2 min
WAF Web ACL + association1–2 min
NAT Gateway (both AZs)2–4 min
Load Balancer2–3 min
ECS tasks running (placeholder image)2–3 min
ElastiCache Redis replication group8–12 min
Aurora Serverless v2 cluster (writer + reader)10–15 min
DNS / Certificate note: The load balancer DNS name is the correct Route53 alias target. HTTPS requires a Certificate ARN set on the ALB node before export; the exported default is HTTP-only. There is no CloudFront in this template — see the useCase note above for why.

CloudFormation parameters

These are the values you will fill in when deploying the exported template. Changing these does not break the template — that is the point.

ParameterWhat to provideExample
EnvironmentEnvironment tag applied to resources (does not rename them)dev
CloudStack Canvas