Leaving NAT Gateways running 24/7
A NAT Gateway bills just to exist — before a single gigabyte flows through it — and multi-AZ setups quietly run two or three.
Running dev and test boxes around the clock
A development instance you use forty hours a week still bills for all 168 of them.
Orphaned EBS volumes and forgotten snapshots
Terminate an instance and its volume often stays behind — billing forever for data you already abandoned.
Forgetting that public IPv4 is no longer free
Since February 2024, every public IPv4 address costs money whether it is attached to anything or not.
No budget or anomaly alerts
Almost every bill-shock story ends the same way: the spend was discovered on the invoice, a month too late.
Ignoring data transfer and cross-AZ chatter
Traffic between Availability Zones costs money in each direction — and it never appears as its own service on the bill.
Over-provisioning just to be safe
Choosing an oversized instance for headroom is the most common quiet waste of all.
Paying on-demand for steady workloads
On-demand pricing is for spiky load. Your always-on baseline qualifies for much cheaper commitments.
Running S3 with no lifecycle rules
Logs and backups sitting on hot storage are pure waste — and incomplete multipart uploads quietly pile up too.
Keeping CloudWatch logs forever
Ingestion plus infinite retention quietly turns logging into a top-five line item — for data nobody will ever read.