Minimal, non-scalable single-developer deployment · ECS Fargate · RDS PostgreSQL · CloudFront + S3
| Service | Config / SKU | $/mo |
|---|---|---|
| ⚡ Compute | ||
|
ECS Fargate — BFF task
0.25 vCPU · 0.5 GB RAM · ARM64 Graviton
$0.01238/vCPU-hr + $0.00136/GB-hr · 730 hrs · ARM is 20% cheaper than
x86
|
min task size | $9.34 |
|
ECS Fargate — Frontend task (optional)
Alternative: skip this — use S3+CloudFront
Nginx in Fargate adds cost. S3+CloudFront is free & faster.
|
SKIP | $0.00 |
| 🌐 Frontend / CDN | ||
|
S3 — Static hosting
Standard · React/Vite build output
5GB storage · 10K GET/mo · Data to CloudFront: free (same region)
|
$0.023/GB | $0.12 |
|
CloudFront
Always-free tier: 1TB/mo transfer + 10M requests
Low-traffic app stays within free tier indefinitely
|
always free | $0.00 |
|
ACM TLS Certificate
Managed certificate attached to CloudFront / ALB
Always free when used with AWS services
|
free | $0.00 |
| 🔀 Networking | ||
|
ALB — Application Load Balancer
$0.0225/hr + $0.008/LCU-hr
Main cost. Single ALB routes to Fargate. Cannot be skipped if using
Fargate.
|
required | $22.27 |
|
VPC — NAT Gateway
$0.045/hr + $0.045/GB processed · private subnet
⚠️ Big hidden cost. Use public subnet + security groups to avoid for
dev.
|
skip for dev | $0.00 * |
|
Data Transfer Out
First 100GB/mo globally free · $0.09/GB after
Low-traffic app stays under 100GB free threshold
|
free tier | $0.00 |
| 🗃️ Database | ||
|
RDS PostgreSQL — db.t3.micro
2 vCPU · 1 GB RAM · Single-AZ · us-east-1
$0.018/hr × 730 hrs. Cheapest persistent RDS option. Multi-AZ = 2×
cost.
|
not scalable | $13.14 |
|
RDS Storage
gp2 · 20GB starting
$0.115/GB-mo · 20GB = $2.30/mo. I/O included in gp2.
|
20GB | $2.30 |
|
RDS Snapshot / Backups
Free up to 100% of provisioned storage
20GB database = 20GB free backups included
|
included | $0.00 |
| 📦 Container Registry + Secrets | ||
|
ECR — Elastic Container Registry
Private repos · 50GB always-free for public
Data transfer to Fargate in same region: free. Storage: $0.10/GB-mo
after 500MB trial.
|
free tier | $0.00 |
|
Secrets Manager
DB password, API keys, JWT secret
$0.40/secret/mo · 3 secrets minimum (DB, API, JWT)
|
3 secrets | $1.20 |
| 📊 Observability + IaC State | ||
|
S3 — Terraform state bucket
Tiny file (<1MB). Nearly free.
|
~free | <$0.01 |
|
DynamoDB — Terraform lock table
On-demand · 1 write/read per deploy
25GB always-free. Terraform lock table uses negligible capacity.
|
always free | $0.00 |
|
CloudWatch Logs + Metrics
First 5GB/mo free. Basic metrics free.
Low-traffic app fits in free tier. Custom dashboards: $3/dashboard/mo
if added.
|
free tier | $0.00 |
|
WAF v2 (optional for dev)
$5/mo/WebACL + $1/M requests
Skip for dev/staging. Add for production. Not included in starter.
|
prod only | +$6.00 |
| 📈 Totals | ||
|
🟢 STARTER (dev/staging · no WAF · no NAT GW)
Fargate + ALB + RDS t3.micro + S3 + Secrets. Gets the basics running.
|
~$48/mo | |
|
🟡 STANDARD (+ WAF + Route 53)
Adds WAF WebACL ($6) + Route 53 hosted zone ($0.50) + DNS queries
(~$0.75)
|
~$55/mo | |
|
🔴 PRODUCTION (+ NAT Gateway + Multi-AZ RDS)
NAT GW adds ~$33/mo. Multi-AZ RDS doubles DB cost (+$15). For real
production.
|
~$103/mo | |
latest-only deployment strategy — use SHA
or semver tags