All Templates|🏗️ Web App (EC2 + RDS)free~$80–150/mo
🏗️

Web App (EC2 + RDS)

ALB → EC2 in VPC with RDS PostgreSQL. Classic 2-tier web application.

What you can build with this

Run a traditional web application on a server — Node.js, Python/Django, Ruby on Rails, or PHP. Your code runs on an EC2 instance. A managed PostgreSQL database (RDS) stores your data. The Application Load Balancer handles HTTPS and routes traffic to your server.

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 (early in stack deploy)
Load Balancer2–3 min
EC2 Instance launched2–4 min
EC2 fully booted and accessible3–5 min
RDS Database available5–10 min
Your app starts accepting trafficAfter you deploy and start your app on EC2
Custom domain DNS5–30 min after Route53 record saved
DNS / Certificate note: The load balancer DNS name (e.g. my-alb-123456789.us-east-1.elb.amazonaws.com) is the correct target for a Route53 alias A record — do not use the raw IP address as it can change. The load balancer handles SSL termination using your ACM certificate.

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
KeyPairNameName of your EC2 key pair for SSH accessmy-keypair
Ec2InstanceTypeEC2 server sizet3.small
DbMasterPasswordPassword for the database admin userSecurePassword123!
AcmCertificateArnACM certificate ARN for HTTPSarn:aws:acm:us-east-1:...