AWS Bill Breakdown Explainer

Enter your monthly spend by service. Get a plain-English explanation of every charge โ€” and exactly how to reduce each one.

Your Monthly AWS Spend

$
$
$
$
$
$
$
$
$
$
$
$

Bill Summary

โ€”
Total Monthly
โ€”
Compute (EC2+RDS)
โ€”
Saveable (estimated)
โ€”
Likely Waste
Service Amount % of Bill Explanation & Tips

Cut Your Compute Bill Automatically

Your EC2 and RDS instances likely run 24/7 โ€” including nights, weekends, and holidays when nobody's using them. ServerScheduler automatically turns them off on a schedule and back on when your team needs them.

โ€”estimated annual compute savings
Start Free Trial โ€” ServerScheduler โ†’

No credit card required. Works with EC2, RDS, and ElastiCache.

SS
ServerScheduler Staff ยท 5 min read

AWS bills can be surprisingly difficult to interpret. The line items use service-specific terminology, the structure varies by account type, and the relationship between what you see on the invoice and what you actually use isn't always obvious. The explainer above lets you enter your spend by service and get a plain-English summary of what's driving each line item.

Financial documents representing AWS bill analysis
Most AWS bills can be significantly reduced once you understand what each line item represents and what drives its cost.

Reading Your AWS Invoice

Your AWS invoice is available in the Billing section of the AWS Console, under Bills. The top-level view shows total charges by service for the month. Expanding each service shows the individual usage dimensions โ€” compute hours, storage gigabytes, data transfer, API calls โ€” that contributed to the total. The Billing section also shows any credits applied (from the free tier, support credits, or promotional credits) and taxes.

AWS Cost Explorer provides a more detailed view than the raw invoice, with the ability to filter by service, region, account, and tag, and to view trends over time. If your account has resource tagging enabled and you use consistent tags for environments and teams, Cost Explorer can show you which environments or cost centres are driving your spend โ€” a significant advantage over reading the raw invoice.

Enable cost allocation tags

AWS can split your bill by tag if you enable cost allocation tags in the Billing console. Adding Environment and Team tags to your instances takes an hour but makes cost attribution dramatically clearer going forward. This is a foundational step in any cost management programme.

The Most Common AWS Bill Line Items

The majority of AWS bills are dominated by a small number of services. Understanding what each represents is the first step to reducing it.

ServiceWhat It CoversMain Cost DriverTypical % of Bill
EC2Virtual machinesInstance hours ร— hourly rate40โ€“60%
RDSManaged databasesDB instance hours + storage15โ€“30%
S3Object storageGB stored + requests + egress5โ€“15%
Data TransferOutbound bandwidthGB transferred out of AWS5โ€“20%
CloudFrontCDNRequests + data transfer3โ€“10%
EBSBlock storage volumesGB provisioned (not used)5โ€“10%

EC2 and RDS together account for more than half of the typical AWS bill, which is why instance scheduling and right-sizing deliver such significant overall savings. Addressing those two line items first gives you the largest return for effort.

Hidden and Unexpected AWS Costs

Several AWS charges appear on bills and surprise teams who weren't expecting them. Data transfer costs โ€” particularly egress from AWS to the internet or between regions โ€” are frequently underestimated. AWS charges nothing for data ingress but applies per-gigabyte pricing on data leaving its network. High-traffic applications with large response payloads can accumulate significant egress costs.

EBS volumes attached to stopped instances continue to incur storage charges. Snapshots taken of those volumes also accumulate cost over time. Unattached EBS volumes โ€” volumes that were created for an instance that was later terminated, but not deleted โ€” are pure waste. ServerScheduler's unattached EBS volume auditing surfaces these automatically.

NAT Gateway costs are often overlooked

NAT Gateway is charged per hour (around $0.045/hour) plus per-gigabyte processed. In accounts with multiple VPCs or heavy inter-service traffic routed through NAT, this can add up to hundreds of dollars per month. Review your NAT Gateway usage in Cost Explorer.

Reducing Each Major Cost Category

EC2 costs can be reduced through three complementary approaches: scheduling non-production instances to stop when not in use (typically 60 to 70% saving on non-prod), right-sizing overprovisioned instances, and purchasing Savings Plans for stable baseline workloads. Applying all three to an account with no prior optimisation typically reduces EC2 spend by 50 to 60% overall.

RDS costs respond to the same strategies. Dev and staging databases can be scheduled to stop overnight โ€” RDS supports native stop/start without data loss. Production RDS instances are candidates for right-sizing based on connection counts and query volumes. Reserved DB Instances offer discounts comparable to EC2 Reserved Instances for stable production databases. The RDS scheduled start/stop guide explains how to implement this in practice.

Setting Up Cost Alerts

AWS Budgets lets you set spending thresholds with email or SNS alerts when you're approaching or exceeding them. Setting up a monthly budget alert takes about five minutes and prevents the unpleasant experience of discovering a cost spike at the end of the month. Start with a budget at your current spend level, then lower it as you implement cost optimisation measures.

Cost anomaly detection in AWS Cost Management uses machine learning to identify spend patterns that are unusual relative to your history and alerts you when it detects them. This is particularly useful for catching runaway resources โ€” an accidentally large instance, a forgotten test environment, a data transfer spike โ€” before they cause significant cost. The cost reduction guide covers the full set of Cost Management tools.