RizTech Academy logo
RizTech Academy
Cost OptimisationLesson 1 of 530 min

Reading an AWS bill properly

Cost has been a first-class concern throughout this course; this module makes it the focus. And it starts with a skill most engineers never develop: reading an AWS bill properly. An AWS bill is famously hard to understand — hundreds of line items, cryptic names, charges you did not know existed — and until you can read it, you cannot control it. This lesson is how to read an AWS bill, so the waste-finding lessons that follow have somewhere to stand. It draws together the tagging (billing-setup) and cost themes from across the course.

Why the bill is confusing — and why that matters

An AWS bill is a long list of usage across many services, priced in units that are not obvious: compute-hours, GB-months of storage, GB of data transfer, per-request charges, per-metric fees. The same workload shows up as several line items (an EC2 instance, its EBS storage, its data transfer, its load balancer), and services you barely think about (data transfer, NAT gateways, CloudWatch) can be surprisingly large. The result is a bill that feels impenetrable — and an impenetrable bill is one nobody manages, which is how costs quietly grow.

So the first cost skill is not a tool or a discount; it is the ability to read the bill — to look at it and understand what you are paying for and why. Everything else in this module depends on it: you cannot cut waste you cannot see.

The tools: Cost Explorer and the CUR

AWS gives you tools to make the bill legible:

  • Cost Explorer — the primary tool for understanding cost. It lets you view spend over time and break it down by dimension: by service (what is EC2 vs S3 vs data transfer costing?), by tag (what does production cost vs development? — this is why the billing-setup lesson insisted on tagging), by account (in a multi-account org — the account-structure lesson), by region, and more. You can also see forecasts. Cost Explorer turns the flat bill into answerable questions: "what is growing?", "what does this team spend?", "what changed this month?"
  • The Cost and Usage Report (CUR) — the most detailed data, every line item, exportable to S3 for analysis (with Athena, or a BI tool). For deep analysis you use the CUR; for everyday understanding, Cost Explorer.
  • AWS Budgets (the billing-setup lesson) — budgets and forecast alerts, so you are told when spend is off track rather than discovering it.

The workflow: use Cost Explorer to break the bill down and find where the money goes, sliced by service, tag and account — which is only possible if your resources are tagged (the billing-setup lesson's payoff). Untagged resources show up as unattributable spend; tagged resources let you answer exactly what each environment, team and project costs.

What to look at: the big line items

When reading a bill, focus on the largest and fastest-growing items, because that is where savings are:

  • Compute (EC2 / EKS nodes / Fargate) — usually the biggest line, and where Graviton, Spot and right-sizing apply (the compute module and the rightsizing lesson).
  • Data transfer — often surprisingly large and frequently overlooked. Data out to the internet costs money; cross-AZ and cross-region transfer costs money; NAT gateway data processing costs money (the gateways lesson). Data transfer is a classic "where did that come from?" charge.
  • Storage (EBS, S3) — grows over time; orphaned volumes and old snapshots accumulate (the common-waste lesson).
  • Managed services — RDS, load balancers, CloudWatch (ingestion and storage — the logs lesson), and NAT gateways each have their own charges that add up.

Reading the bill means scanning these, spotting what is large or growing unexpectedly, and asking "is that right?" A line that jumped this month, a service costing more than you expected, data transfer you cannot explain — these are the threads to pull, and the following lessons show where they usually lead.

Make reading the bill a habit

The practice that ties it together: look at the bill regularly (the cost-review lesson formalises this). Costs drift — a new workload, a forgotten resource, growing data — and drift caught early is a small fix; drift discovered after months is a large, entrenched cost. A short, regular look at Cost Explorer — broken down by service and tag, comparing to last month — catches changes while they are small. Combined with budget alerts (which tell you when to look), this keeps cost visible and managed rather than a monthly surprise.

The mindset, consistent with the whole course: cost is something you actively read and manage, not a bill you receive and wince at. Learning to read the bill — with Cost Explorer, sliced by tag and service — is the foundation of that, and it turns the rest of this module from abstract advice into "here is exactly where our money is going, and here is what to do about it."

Check your work

Why the bill confuses: many services, non-obvious units (compute-hours, GB-months, per-request, data transfer), one workload spread across several line items, and surprise charges (data transfer, NAT, CloudWatch). An unread bill is unmanaged — the first cost skill is reading it.

Tools: Cost Explorer (break spend down by service, tag, account, region, over time, with forecasts — turns the flat bill into answerable questions); the CUR (every line item, to S3/Athena for deep analysis); Budgets (alerts). Breakdown by tag only works if resources are tagged (the billing-setup payoff) — untagged = unattributable spend.

What to look at: the biggest/fastest-growing items — compute (usually largest; Graviton/Spot/right- sizing), data transfer (often large, overlooked — out-to-internet, cross-AZ/region, NAT), storage (EBS/ S3, orphans), managed services (RDS, LBs, CloudWatch). Scan for large/unexpected, ask "is that right?"

Habit: read the bill regularly (Cost Explorer by service/tag vs last month) — drift caught early is small, discovered late is entrenched. Cost is actively read and managed, not received and winced at.

Practice

  1. Explain why an AWS bill is hard to read and why that leads to uncontrolled cost.
  2. Explain what Cost Explorer lets you do and the dimensions you can break spend down by.
  3. Explain why tagging (from the billing-setup lesson) is the precondition for a useful cost breakdown.
  4. List the big line items to focus on and why data transfer is a commonly overlooked one.
  5. Describe how you would investigate a bill that jumped 30% this month.
  6. Explain why reading the bill regularly catches cost drift while it is still cheap to fix.

Official documentation

Next: where the money usually goes.

Stuck on this lesson?

Being stuck is part of it — but being stuck alone for three days is not. Our internship programme pairs this curriculum with code review and one-to-one help from working developers, and it is free.

About the internship