What Does a Three-Tier Web App Cost on AWS in 2026?
You're planning to build a production web application on AWS. You've read the architecture best practices. You know you need a CDN, a load balancer, auto-scaling compute, and a managed database. You've sketched the diagram.
But what will it actually cost?
Most teams at this stage do one of two things: they wildly guess ("probably a few hundred bucks a month?"), or they spend hours with the AWS Pricing Calculator trying to estimate service-by-service costs without understanding how they interact.
This article breaks down the real cost of a production three-tier web application on AWS in 2026, including the hidden costs that traditional calculators miss.
The Architecture
Here's what we're costing:
Internet ──▶ CloudFront CDN ──▶ Application Load Balancer ──▶ EC2 Auto Scaling Group
│
▼
RDS MySQL (Multi-AZ)
- CloudFront: Global CDN for static assets and API caching (95% cache hit ratio)
- ALB: Application Load Balancer distributing traffic across AZs
- EC2 Auto Scaling Group: 2-4 t3.medium instances depending on load
- RDS Multi-AZ: db.t3.small MySQL instance with automated failover
- Supporting infrastructure: NAT Gateway, CloudWatch logs and metrics
Traffic Assumptions
We'll model two scenarios:
- Low Traffic: 1M requests/month
- Medium Traffic: 10M requests/month
- Average request size: 50KB (API responses + some JSON payloads)
- CloudFront cache hit ratio: 95% (only 5% of requests hit the origin ALB)
- Database queries per request: 2 queries average
- Data transfer: Cross-AZ for Multi-AZ RDS replication and ALB traffic distribution
Service-by-Service Breakdown
1. CloudFront CDN
| Component | Low Traffic | Medium Traffic |
|---|---|---|
| Data transfer out (first 10 TB) | $4.25 | $42.50 |
| HTTP/HTTPS requests | $0.75 | $7.50 |
| CloudFront Total | $5.00/mo | $50.00/mo |
Key insight: CloudFront's cost scales linearly with traffic, but it reduces downstream costs significantly by caching 95% of requests.
2. Application Load Balancer (ALB)
| Component | Low Traffic | Medium Traffic |
|---|---|---|
| Fixed hourly cost | $16.20 | $16.20 |
| LCU (Load Balancer Capacity Units) | $2.88 | $5.76 |
| ALB Total | $19.08/mo | $21.96/mo |
3. EC2 Auto Scaling Group
| Component | Low Traffic | Medium Traffic |
|---|---|---|
| t3.medium instances (2-4 instances) | $59.90 | $99.84 |
| EBS gp3 volumes (30GB per instance) | $4.80 | $9.60 |
| EC2 Total | $64.70/mo | $109.44/mo |
4. RDS MySQL Multi-AZ
| Component | Low Traffic | Medium Traffic |
|---|---|---|
| db.t3.small Multi-AZ instance | $97.92 | $97.92 |
| Storage (gp3, 50GB) | $11.50 | $11.50 |
| Backup storage (7-day retention) | $4.75 | $4.75 |
| RDS Total | $114.17/mo | $114.17/mo |
The Hidden Costs
Here's where traditional calculators fall short. These costs are real, often significant, and almost always overlooked.
5. Data Transfer (Cross-AZ)
| Flow | Low Traffic | Medium Traffic |
|---|---|---|
| ALB → EC2 (cross-AZ) | $0.50 | $5.00 |
| EC2 → RDS (cross-AZ queries) | $0.25 | $2.50 |
| RDS Multi-AZ replication | $1.20 | $3.60 |
| Data Transfer Total | $1.95/mo | $11.10/mo |
6. NAT Gateway
| Component | Low Traffic | Medium Traffic |
|---|---|---|
| Hourly charge (per AZ) | $64.80 | $64.80 |
| Data processed | $2.25 | $11.25 |
| NAT Gateway Total | $67.05/mo | $76.05/mo |
7. CloudWatch (Logs & Metrics)
| Component | Low Traffic | Medium Traffic |
|---|---|---|
| Log ingestion & storage | $2.95 | $11.80 |
| Metrics (custom + detailed EC2) | $3.00 | $6.00 |
| CloudWatch Total | $5.95/mo | $17.80/mo |
Total Monthly Cost
| Service | Low Traffic (1M req/mo) | Medium Traffic (10M req/mo) |
|---|---|---|
| CloudFront CDN | $5.00 | $50.00 |
| Application Load Balancer | $19.08 | $21.96 |
| EC2 Auto Scaling (t3.medium) | $64.70 | $109.44 |
| RDS MySQL Multi-AZ (db.t3.small) | $114.17 | $114.17 |
| Data Transfer (cross-AZ) | $1.95 | $11.10 |
| NAT Gateway (2 AZs) | $67.05 | $76.05 |
| CloudWatch Logs & Metrics | $5.95 | $17.80 |
| Total Monthly Cost | $277.90 | $400.52 |
What This Tells Us
- Fixed costs dominate at low traffic. Even at 1M requests/month, you're paying $278 — mostly for RDS Multi-AZ ($114), NAT Gateway ($67), and EC2 minimum instances ($65).
- Scaling 10× increases costs by only 44%. Going from 1M to 10M requests adds $122/month. The marginal cost per request decreases as you scale.
- NAT Gateway is the second-highest cost after RDS. For low-traffic apps, it's 24% of your total spend.
- CloudFront caching saves you money. At 95% cache hit, only 5% of requests hit your origin. Drop that to 80%, and your costs increase by 3-4×.
How We Built This Model
We didn't use spreadsheets. We didn't manually add up service costs. We built this architecture in CloudCostFlow — a graph-based AWS cost modeling tool that understands how services connect.
Model Your Own Architecture
Stop guessing at AWS costs. Build your architecture, see real pricing, and explore what-if scenarios in real time.
Try CloudCostFlow Free →Conclusion
A production-ready three-tier web application on AWS costs $278-$400/month depending on traffic, with fixed infrastructure (RDS, NAT, load balancers) accounting for 70-85% of spend at low scale.
CloudCostFlow models all of this. Because costs aren't additive — they cascade through your architecture like traffic through a real system.