Home › Decoder › Reduce your AWS bill as a startup: a checklist for teams with no FinOps person
Reduce your AWS bill as a startup: a checklist for teams with no FinOps person
You do not need a cost-management project. You need one afternoon with Cost Explorer and a list of the lines that are usually wasted on small accounts. These are ordered by how little effort the check takes, each with a price and a page that explains the fix. Commitments such as Savings Plans come last, once the waste is gone and usage is stable.
US East (N. Virginia) list prices checked 2026-11-04.
The checks, in order
Unattached and unused things
Elastic IP $3.65/month each; ALB about $16.43/month each; NAT gateway $32.85/month each. List Elastic IPs not associated, load balancers with zero requests for 14 days, NAT gateways nothing routes to, volumes in state Available.
Decoder: PublicIPv4:InUseAddress and IdleAddress: the public IP address charge
gp2 volumes
$0.10 vs $0.08 per GB-month: 20% lower on the same size. EC2 > Volumes filtered to gp2; check IOPS use, then modify to gp3 live on a test volume first.
Decoder: EBS:VolumeUsage.gp2 - the gp2 volume line, and the cheaper gp3
Idle load balancers
$0.0225 per hour each. RequestCount per load balancer; consolidate services behind one ALB with host rules where it fits.
NAT traffic to S3
$0.045 per GB; gateway endpoint has no additional charge. Check NatGateway-Bytes then flow logs top destinations; add an S3 gateway endpoint to private route tables.
Decoder: NatGateway-Bytes: the NAT Gateway data-processing line
Log volume and retention
$0.50 per GB ingested, $0.03 per GB-month stored. Largest log groups by IncomingBytes; retention policy on every group.
Decoder: CloudWatch Logs DataProcessing-Bytes: the log ingestion line
S3 lifecycle
Standard $0.023 vs Standard-IA $0.0125 per GB-month. Largest buckets by Storage Lens; lifecycle rules for non-current versions and incomplete uploads; transition only data you rarely read.
Dev and staging copies
Every environment repeats the fixed charges above. Count NAT gateways, load balancers and public IPs per environment; check whether non-production can use one gateway or be scheduled off outside working hours.
Decoder: NatGateway-Hours: the fixed monthly cost of each NAT gateway
Checklist
- Block one hour. Open Cost Explorer, last full month, Group by Usage type.
- Write the top 10 lines and their dollars in a spreadsheet; this is your baseline.
- Work through the seven checks above in order, proving each cause with a metric before changing it.
- Change one thing at a time; keep a note of the date and the expected saving.
- After 3 days compare the daily line to your note.
- Set a Budgets alert at a level that would have caught the last surprise.
- Only then look at Savings Plans or Reserved Instances, with stable usage and your own numbers.
Run the checklist on your own bill
Upload a Cost Explorer or CUR CSV. Billtrim reads it in your browser and gives you this list ranked for your account, with the dollars and the steps.
Paste your export: how to export a Cost Explorer CSV or CUR file in two minutes.
Questions people ask
Should I buy a Savings Plan first?
Usually later: a commitment locks in the current spend, so remove waste first, then size the commitment to what remains.
How long do these checks take?
A first pass through Cost Explorer and the console lists is typically an afternoon; the fixes themselves vary.
Do I need a cost tool?
Cost Explorer is free and covers all of the checks above. A tool helps when you want the ranking and the steps done for you, or ongoing alerts.
Related
- PublicIPv4:InUseAddress and IdleAddress: the public IP address charge
- EBS:VolumeUsage.gp2 - the gp2 volume line, and the cheaper gp3
- LoadBalancerUsage and LCUUsage: what an ALB costs
- NatGateway-Bytes: the NAT Gateway data-processing line
- CloudWatch Logs DataProcessing-Bytes: the log ingestion line
- TimedStorage-ByteHrs: the S3 Standard storage line
- Why is my AWS bill so high? Check these 8 line items first
- Reduce AWS NAT Gateway cost: six checks, in order