Back to Resources

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.

1

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.

2

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.

3

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.

4

Unattached EBS Volumes

Save 100% of orphan cost

Orphaned EBS volumes from terminated instances sit there costing money. Audit and delete volumes that are not attached to any running instance.

5

Old EBS Snapshots

Save Varies

Snapshots accumulate over time and are easy to forget. Implement a lifecycle policy to automatically delete snapshots older than 30-90 days.

6

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.

7

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.

8

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.

9

Unused Elastic IPs

Save 100% of unused EIP cost

AWS charges for Elastic IPs that are not attached to a running instance. Release any unused Elastic IPs to stop unnecessary charges.

10

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.

11

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

12

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.

13

Idle Load Balancers

Save 100% of idle LB cost

Load balancers with zero or minimal traffic still incur hourly charges. Consolidate or remove ALBs and NLBs that serve no active targets.

14

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.

15

No Cost Allocation Tags

Save Enables all other savings

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

No spam. Unsubscribe anytime.