AWS Cost Estimation
tsdevstack is free and open source. All costs on this page are paid directly to Amazon Web Services. There is no bill from tsdevstack and there never will be.
These are estimates based on published AWS pricing as of July 2026 in a US region (us-east-1). Actual costs depend on your region, traffic, and any pricing changes by Amazon. Always verify with the official pricing pages linked at the bottom.
The AI buildout is squeezing server hardware supply, and that is expected to reach cloud list prices in the second half of 2026. As of July 2026 every AWS rate on this page is unchanged: Fargate is still $0.04048/vCPU-hr and $0.004445/GB-hr, and NAT Gateway is still $0.045/hr.
AWS raised GPU instance prices 15% in January 2026, the first increase of its kind, but tsdevstack provisions no GPUs so that does not apply here. General purpose EC2 rates went down 3-7% over the same period.
Looking ahead, server memory contract prices rose sharply through the first half of 2026, and there is typically a 6 to 9 month lag before that reaches cloud list prices, with forecasts pointing to roughly 5-10% general increases. The most exposed lines here are RDS and ElastiCache, which are priced off provisioned memory, followed by Fargate compute. NAT Gateway, ALB, and CloudFront fees are the least exposed. If you are budgeting past Q3 2026, add a 10% buffer on the database and cache lines.
What Gets Deployed
A typical tsdevstack project (3 NestJS backends + 1 Next.js frontend) creates these billable resources on AWS:
AWS has no scale-to-zero: every ECS service runs at least one task, and minInstances: 0 fails validation. Backend services are reachable only inside the VPC (Kong calls them over Cloud Map), so there is no public entry point that could wake a stopped service.
You can override CPU, memory, instance counts, database tier, Redis tier, and disk size per service in infrastructure.json. See Service Configuration for all available options.
Scenario 1: Development (Always-On, Low Traffic)
All services at the default minInstances: 1, the minimum on AWS. Assumed traffic: ~1,000 requests/day (testing only).
Earlier versions let backend services scale to zero on AWS, which took the backend line close to $0. That relied on sending Kong's traffic to backends through the public load balancer so that a stopped service could be woken up, and the mechanism failed requests with 503 for 30 to 60 seconds while tasks started. Backends are now private and always on, like on GCP and Azure. It is the honest trade: about $54 more per month for three small backends, in exchange for private networking and no failed requests. For cheap throwaway environments, GCP and Azure scale to zero natively; on AWS, keep development environments small (see below) and tear down ones you don't use with infra:destroy.
The NAT Gateway is the dominant cost on AWS (~$66/month fixed). This is required for containers in private subnets to reach the internet. There is no way to avoid it in the current VPC architecture.
Scenario 2 — Production (Always-On, Single Instance)
All services at minInstances: 1, the same footprint as Scenario 1 with more traffic. Assumed traffic: ~100,000 requests/day (3M/month).
Scenario 3 — Production Under Load (3 Instances, 24/7)
Services auto-scale to 3 tasks average. Assumed traffic: ~10M requests/day (300M/month).
AWS WAF bills $0.60 per million requests, so at 300M/month it alone is ~$195, more than the database and cache combined. CloudFront adds $0.01 per 10,000 requests on top. Earlier versions of this page listed WAF at ~$15-25 here, which was roughly 10x too low.
Unlike Cloud Run, Fargate bills for allocated task time regardless of how busy the tasks are, so the compute lines here do not shift with utilization. At this scale, consider Fargate Compute Savings Plans (up to 52% savings with 3-year commitment).
What Drives the Cost
How to Reduce Costs
- Scale-to-zero is not available on AWS. Every service keeps at least one task, so the number of services is a direct cost lever: each 0.5 vCPU / 1 GiB service is ~$18/month running 24/7.
- Smaller dev tasks: 0.25 vCPU with 512 MiB (
"cpu": "0.25","memory": "512Mi") is the smallest Fargate size, about half the cost of the default per service - Tear down idle environments:
npx tsdevstack infra:destroy --env <env>removes an environment you don't need right now - Use
db.t3.microfor development databases — upgrade only when needed - Right-size CPU/memory — monitor actual usage and lower from defaults
- Savings Plans — 1-year or 3-year Fargate Compute Savings Plans save up to 52%
Override any default in .tsdevstack/infrastructure.json:
See Service Configuration for all available options.