AWS Cost Estimation

No fees from tsdevstack

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.

2026 pricing pressure

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:

ResourceAWS ServiceDefault Configuration
Kong gatewayECS Fargate1 vCPU, 2 GiB memory, min 1 instance (always on)
Backend services (x3)ECS Fargate0.5 vCPU, 1 GiB memory, min 1 instance each (always on)
FrontendECS Fargate0.5 vCPU, 1 GiB memory, min 1 instance (always on)
SPA (react-app)S3 + CloudFrontStatic bucket, no compute
DatabaseRDS PostgreSQL 16db.t3.micro, 20 GB disk
CacheElastiCache Redis 7cache.t3.micro
Load BalancerApplication Load Balancer2 listeners (HTTP redirect, HTTPS), target groups for Kong and Next.js
CDNCloudFrontSeparate distributions for API, frontend, SPAs
WAFAWS WAFManaged + custom rules
NetworkingNAT Gateway2 NAT Gateways (one per AZ)
SecretsSecrets Manager~10-20 secrets
DNSRoute 531 hosted zone
Container imagesECR~5 repositories

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).

ResourceConfigurationHow it's calculatedEst. monthly
Kong (ECS Fargate)1 vCPU, 2 GiB, min=11 task × 730 hrs × ($0.04048/vCPU-hr + $0.004445/GiB-hr × 2)~$36
Backend services ×30.5 vCPU, 1 GiB, min=1 each3 tasks × 730 hrs × ($0.02024 + $0.004445)~$54
Frontend (ECS Fargate)0.5 vCPU, 1 GiB, min=11 task × 730 hrs × $0.024685~$18
SPA bucketS3 + CloudFrontStorage + minimal egress~$1
RDS PostgreSQLdb.t3.micro, 20 GBInstance + storage~$22
ElastiCache Rediscache.t3.microSingle node, no replication~$12
ALB2 listeners, low traffic$0.0225/hr base + LCU charges (assumed minimal)~$20
CloudFront3 distributions, low trafficBase + transfer + requests~$5-10
NAT Gateway2 gateways (one per AZ)2 × $0.045/hr × 730 hrs + data processing~$66
WAFManaged + custom rulesWeb ACL + rules + requests~$10
Secrets Manager~10 secrets$0.40/secret/month~$4
DNS, ECRMinimalZone + image storage~$1-2
Total~$250-255
Why development costs this much on AWS

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.

Warning

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).

ResourceConfigurationHow it's calculatedEst. monthly
Kong (ECS Fargate)1 vCPU, 2 GiB, min=11 task × 730 hrs~$36
Backend services ×30.5 vCPU, 1 GiB, min=1 each3 tasks × 730 hrs × ($0.02024 + $0.004445)~$54
Frontend (ECS Fargate)0.5 vCPU, 1 GiB, min=11 task × 730 hrs × $0.024685~$18
SPA bucketS3 + CloudFrontStorage + egress~$1
RDS PostgreSQLdb.t3.micro, 20 GBInstance + storage~$22
ElastiCache Rediscache.t3.microSingle node~$12
ALB2 listeners, moderate trafficBase + LCU charges~$22-28
CloudFront3 distributions, moderate trafficTransfer + requests~$10-15
NAT Gateway2 gateways + data processingFixed + traffic-based~$68-72
WAFManaged + custom rules$5 + $10 + 3M × $0.60/M~$17
Secrets Manager~10 secrets—~$4
DNS, ECR——~$1-2
Total~$265-285

Scenario 3 — Production Under Load (3 Instances, 24/7)

Services auto-scale to 3 tasks average. Assumed traffic: ~10M requests/day (300M/month).

ResourceConfigurationHow it's calculatedEst. monthly
Kong (ECS Fargate)1 vCPU, 2 GiB, avg 3 tasks3 × 730 hrs × $0.04934~$108
Backend services ×30.5 vCPU, 1 GiB, avg 3 each9 tasks × 730 hrs × $0.02469~$162
Frontend (ECS Fargate)0.5 vCPU, 1 GiB, avg 33 tasks × 730 hrs × $0.024685~$54
WAFHigh request volume$5 + $10 + 300M × $0.60/M~$195
CloudFrontHigh traffic + transfer$0.01/10k requests + egress~$80-200
SPA bucketS3 + CloudFrontStorage + egress at volume~$5-15
RDS PostgreSQLdb.t3.small or db.t3.mediumUpgraded tier for load~$30-60
ElastiCache Rediscache.t3.smallUpgraded for load~$25
ALB2 listeners, high trafficBase + higher LCU charges~$30-60
NAT Gateway2 gateways + high data processingFixed + $0.045/GB processed~$75-100
Secrets Manager——~$4
DNS, ECR——~$2
Total~$770-990
Per-request charges dominate at this volume

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

#Cost driverWhy
1NAT Gateway~$66/month fixed regardless of traffic. Required for private subnet internet access.
2ECS Fargate computePer-second billing for running tasks. More instances = higher cost.
3ALBBase hourly rate + LCU-based charges that scale with traffic.
4RDS tierdb.t3.micro is cheap (~$22), but db.t3.medium is ~$60. Pick based on load.

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.micro for 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:

{
  "version": "1.0.0",
  "services": {
    "auth-service": {
      "cpu": "0.5",
      "memory": "1Gi",
      "minInstances": 1,
      "maxInstances": 3
    }
  },
  "database": {
    "tier": "db.t3.small",
    "diskSize": 30
  },
  "redis": {
    "tier": "cache.t3.small"
  }
}

See Service Configuration for all available options.


AWS Pricing References