Troubleshooting guide

AWS Bill Too High: Where to Look First

A practical AWS cost troubleshooting guide covering EC2, EBS, snapshots, S3, NAT Gateway, CloudWatch, data transfer and idle resources.

Remote support availableCommercial systemsService: AWS Cost Optimisation
AWScost optimisationEC2S3cloud bills

What this problem usually means

A high AWS bill usually comes from a small number of services: over-sized EC2 instances, unattached EBS volumes, old snapshots, S3 storage/request patterns, NAT Gateway traffic, CloudWatch logs, load balancers or data transfer.

Production caution: Do not delete volumes, snapshots or S3 data just because they cost money. Confirm ownership, backup role and retention requirements first.

Common symptoms

  • Monthly AWS spend jumps suddenly
  • A service cost grows but no one knows why
  • Small environments cost more than expected
  • Backups or logs become expensive
  • Data transfer or NAT charges surprise the team

Common causes

  • Idle or oversized EC2/RDS resources
  • Unattached EBS volumes and old snapshots
  • S3 lifecycle policies missing
  • NAT Gateway processing large traffic volumes
  • CloudWatch log retention too long
  • Load balancers or IPs left running after migrations

Safe first checks

These checks are intended to help identify the direction of the issue. Always adjust paths, service names and commands for your environment.

Open Cost Explorer

Group by service and usage type for the last 30–90 days

Check EC2 and EBS

Look for stopped/unused instances, unattached volumes and old snapshots

Check S3

Review storage class, lifecycle rules, request volume and versioning

Check NAT/data transfer

Review NAT Gateway and Data Transfer usage types

Typical fixes

  • Tag resources so owners and environments are clear
  • Apply S3 lifecycle policies carefully
  • Remove confirmed unused volumes/snapshots
  • Right-size compute after reviewing utilisation
  • Review NAT Gateway architecture and traffic routes
  • Set budgets and alerts before the next bill

When to get help

Get help if the system is production-facing, customer data is involved, backups are uncertain, or the issue affects revenue, security or uptime. We can review the logs, confirm the cause and quote a fixed-scope fix where appropriate.

Need this fixed?

Get remote support for this issue.

Fixed technical support starts from $499. Emergency incident support is $199/hr with a minimum window.

Contact Us

Related guides