15 AWS Cost KillersEvery Startup Should Check
We have audited dozens of startup AWS accounts. These 15 issues account for the vast majority of wasted spend. Check your infrastructure against this list — most teams find at least 5.
Idle EC2 Instances
Save 20-40%Instances running 24/7 that are only used during business hours. Use auto-scaling groups or scheduled scaling to shut them down outside working hours.
Oversized Instances
Save 30-50%Right-size your instances by analysing CPU and memory utilisation. Most startups over-provision by 2-3x because they guessed instead of measured.
No Reserved Instances or Savings Plans
Save 30-72%If you have stable baseline workloads, Reserved Instances or Savings Plans can cut compute costs by up to 72% compared to on-demand pricing.
Unattached EBS Volumes
Save 100% of orphan costOrphaned EBS volumes from terminated instances sit there costing money. Audit and delete volumes that are not attached to any running instance.
Old EBS Snapshots
Save VariesSnapshots accumulate over time and are easy to forget. Implement a lifecycle policy to automatically delete snapshots older than 30-90 days.
Unoptimised S3 Storage Classes
Save 40-80%Data accessed infrequently should be moved to S3 Infrequent Access or Glacier. Use S3 Intelligent-Tiering for unpredictable access patterns.
No S3 Lifecycle Policies
Save 40-60%Without lifecycle policies, objects stay in Standard tier forever. Automate transitions to cheaper tiers and set expiration rules for temporary data.
NAT Gateway Data Transfer
Save 50-90%NAT Gateways charge per GB of data processed. Move high-bandwidth services to public subnets or use VPC endpoints for AWS services to avoid NAT costs.
Unused Elastic IPs
Save 100% of unused EIP costAWS charges for Elastic IPs that are not attached to a running instance. Release any unused Elastic IPs to stop unnecessary charges.
Oversized RDS Instances
Save 30-50%Database instances are commonly oversized. Analyse performance metrics and downsize to a smaller instance class if CPU and memory are underutilised.
No RDS Reserved Instances
Save 30-40%Production databases run 24/7, making them ideal candidates for Reserved Instances. A 1-year commitment can save up to 40%.
CloudWatch Log Retention
Save 60-90%CloudWatch Logs default to never expire. Set appropriate retention periods (7-30 days for most logs) and export older logs to S3 if needed.
Idle Load Balancers
Save 100% of idle LB costLoad balancers with zero or minimal traffic still incur hourly charges. Consolidate or remove ALBs and NLBs that serve no active targets.
Cross-Region Data Transfer
Save 50-80%Data transfer between regions is expensive. Keep services that communicate frequently in the same region and use CloudFront for global distribution.
No Cost Allocation Tags
Save Enables all other savingsWithout proper tagging, you cannot attribute costs to teams or projects. Implement a tagging strategy and use AWS Cost Explorer to identify waste.
Get the Full Checklist as a PDF
Download a printable version with implementation steps and priority ratings for each item.