惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
U
Unit 42
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
博客园 - 司徒正美
Vercel News
Vercel News
I
InfoQ
GbyAI
GbyAI
C
Check Point Blog
B
Blog RSS Feed
Martin Fowler
Martin Fowler
B
Blog
MyScale Blog
MyScale Blog
腾讯CDC
博客园 - Franky
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
We Audited 12 Startups' AWS Bills — Average Waste: 43%
Yash Pritwan · 2026-05-08 · via DEV Community

Yash Pritwani

Originally published on TechSaaS Cloud


Originally published on TechSaaS Cloud


We Audited 12 Startups' AWS Bills — Average Waste: 43%

Last quarter, we ran infrastructure cost audits for 12 startups (seed to Series B). The results were consistent and painful: every single one was wasting between 28% and 67% of their AWS spend.

Not because they were stupid. Because AWS makes it trivially easy to provision resources and quietly expensive to maintain them.

Here's exactly what we found and how to fix it in 45 minutes.

The 5 Biggest Cost Leaks (In Order of Impact)

1. NAT Gateway Charges: The Silent $540/Month Tax

Every startup we audited was running 3 NAT Gateways (one per AZ) at $180/month each — $540/month for outbound internet traffic routing.

The reality: A 4-person engineering team with a single-service backend does not need multi-AZ redundancy for NAT. Your app server can tolerate a single NAT Gateway. If it goes down, requests retry.

The fix: Reduce to 1 NAT Gateway in your primary AZ. If your app is truly multi-AZ critical, use VPC endpoints for AWS services (S3, DynamoDB, SQS) to eliminate NAT traffic for internal AWS calls.

Savings: $360/month (67% reduction in NAT costs)

2. Oversized RDS Instances: Paying for 12x the CPU You Need

8 out of 12 startups were running db.r5.xlarge or larger ($800+/month) with CPU utilization under 10%.

Why this happens: The RDS instance wizard defaults to production-grade instances. Developers pick "recommended" and forget. RDS has no auto-downsize.

The fix:

# Check your actual utilization
aws cloudwatch get-metric-statistics \
  --namespace AWS/RDS \
  --metric-name CPUUtilization \
  --dimensions Name=DBInstanceIdentifier,Value=YOUR_DB \
  --start-time $(date -d '30 days ago' --iso-8601) \
  --end-time $(date --iso-8601) \
  --period 86400 \
  --statistics Average Maximum

Enter fullscreen mode Exit fullscreen mode

If your P99 CPU is under 40%, drop one instance class. Under 20%? Drop two.

A db.t3.medium ($70/month) handles most startup workloads beautifully until you hit 500+ concurrent connections.

Savings: $500-730/month per instance

3. CloudWatch Log Retention: Paying Forever for Logs Nobody Reads

Default log retention: Never expire. Cost: $0.03/GB/month stored, $0.50/GB ingested.

One startup had 4TB of CloudWatch logs going back to 2023. Cost: $120/month storage + $200/month ingestion for verbose DEBUG logs in production.

The fix:

# Set 14-day retention on all log groups
aws logs describe-log-groups --query 'logGroups[].logGroupName' --output text | \
  xargs -I {} aws logs put-retention-policy --log-group-name {} --retention-in-days 14

Enter fullscreen mode Exit fullscreen mode

For long-term analysis, export to S3 ($0.023/GB/month — 75% cheaper) and query with Athena on-demand.

Savings: $200-400/month

4. Orphaned EBS Snapshots: Ghost Costs From Deleted Instances

When you terminate an EC2 instance, its EBS snapshots stay. Silently. At $0.05/GB/month.

The find script:

# Find snapshots with no matching volume
aws ec2 describe-snapshots --owner-ids self \
  --query 'Snapshots[?!VolumeId].{ID:SnapshotId,Size:VolumeSize,Created:StartTime}' \
  --output table

Enter fullscreen mode Exit fullscreen mode

One client: 2.3TB of orphaned snapshots. $115/month for dead data.

Savings: $50-230/month

5. Load Balancers for Internal Services: $16/Month Each for Nothing

Every ALB costs $16/month base + traffic charges. We found startups running 4-6 ALBs for services that only communicate internally.

The fix: Replace internal ALBs with:

  • Docker service DNS (free, already works in compose/swarm)
  • AWS Cloud Map for service discovery ($0.10/month per service)
  • Or simply direct IP/port references behind a VPC

Savings: $64-96/month

The 45-Minute Audit Process

You can run this yourself. Right now.

Step 1 (10 min): Export Cost Explorer data

aws ce get-cost-and-usage \
  --time-period Start=$(date -d '90 days ago' +%Y-%m-%d),End=$(date +%Y-%m-%d) \
  --granularity MONTHLY \
  --metrics "UnblendedCost" \
  --group-by Type=DIMENSION,Key=SERVICE \
  --output json > cost-report.json

Enter fullscreen mode Exit fullscreen mode

Step 2 (15 min): Map utilization vs. provisioned

  • RDS: CloudWatch CPU/memory utilization
  • EC2: CPU, network I/O
  • Lambda: concurrent executions vs. provisioned concurrency

Step 3 (10 min): Find zombies

  • Unattached EBS volumes
  • Orphaned snapshots
  • Unused Elastic IPs ($3.60/month each when unattached)
  • Idle load balancers (0 requests/day)

Step 4 (10 min): Calculate savings

  • Right-size instances (match actual utilization + 30% headroom)
  • Eliminate orphaned resources
  • Set retention policies
  • Remove unnecessary redundancy

Results Across 12 Audits

Startup Stage Monthly AWS Waste Found Post-Audit Cost
Pre-seed (2 eng) $800 52% $384
Seed (5 eng) $2,400 43% $1,368
Series A (12 eng) $5,100 38% $3,162
Series B (25 eng) $12,000 41% $7,080

Average savings: 43%. Zero performance impact. Zero downtime.

When Self-Hosting Makes More Sense

If your post-audit AWS bill is still above $2,000/month for a straightforward stack (web app + DB + cache + queue), self-hosting may save you another 80-90%.

We run 84 containers for $45/month on a single Proxmox node. Same stack that costs $2,400 on AWS.

That's a different conversation — but the audit comes first. Know your real spend before deciding your platform strategy.

Get Your Free Audit

We do free 15-minute cloud cost reviews. No pitch, no obligation. We screen-share, run the commands above against your account, and tell you exactly what you're wasting.

Book a slot: techsaas.cloud/contact

Or run the audit yourself with our free PDF checklist that includes all the CLI commands above plus 12 more checks we run.