"Free cloud audit" is the most abused phrase in cloud consulting. Sometimes it means a senior engineer reads your Cost & Usage Report line by line; sometimes it means a sales tool screenshots your Cost Explorer. This page describes what a serious audit examines, what the deliverable should contain, and the access it does (and does not) need, so you can hold any vendor to it, including us.
Key takeaways
- Read-only, or walk away — a real audit needs billing exports, read-only roles and (optionally) IaC repos; nothing installed, nothing changed in production.
- A serious audit covers 12 line items, from commitment coverage and rightsizing through NAT and egress, Kubernetes bin-packing, observability spend, tagging hygiene and anomaly posture.
- The deliverable is a written document, not a demo: a gap map with line-referenced evidence, waste quantified as conservative-to-average ranges, and fixes ranked by ROI.
- The one test that matters: could your team act on the report without hiring the vendor? If not, it was a sales document with a spreadsheet attached.
What is a cloud bill audit?
A cloud bill audit is a structured, read-only review of an account's billing and usage data that finds where spend no longer matches what the workloads need: unused or misaligned commitments, oversized resources, idle assets, expensive network paths and spend nobody can allocate. The output is a written list of findings, each with a quantified savings range and a fix ranked by effort.
It is a diagnosis, not a treatment. A cloud cost optimization engagement buys the commitments, resizes the fleet and installs the governance; the audit tells you which of those is worth doing first and what each one is worth. It is also not a tool. A cost platform shows you the same number every morning; an audit reads that number against your architecture and says which lines are load-bearing and which are habit.
One disambiguation, since search engines conflate them: Google Cloud's "Cloud Billing audit logs" record who changed billing settings and when. They are useful evidence during an audit; they are not the audit.
The access model: read-only, or walk away
An audit needs to see, not touch. The standard inputs: billing exports (AWS CUR, Azure Cost Management, GCP Billing Export), a read-only role for utilisation metrics, and, if you want architecture-level findings, read access to your Terraform or infrastructure repos. Nothing is installed, nothing changes in production, and the access is scoped and revocable. At InfraZen, week one of any engagement is read-only by policy, audit or otherwise.
The 12 line items a serious audit examines
- Commitment coverage. What share of steady-state compute runs on Savings Plans, Reserved Instances or Committed Use Discounts, and whether the terms match workload confidence. The single biggest lever on most bills.
- Rightsizing. Instances and databases provisioned for a peak that never comes. Utilisation data against instance families, not gut feel.
- Zombie resources. Unattached volumes, idle load balancers, forgotten dev environments, elastic IPs billing quietly since 2023.
- Storage tiering. Data on hot tiers that nothing has read in months; lifecycle policies that don't exist; snapshots multiplying without expiry.
- Network and NAT. Cross-AZ chatter, NAT gateway processing fees, egress patterns that a routing change would halve. The least-read lines on the bill.
- Kubernetes bin-packing. Requests vs actual usage, node headroom, spot adoption for fault-tolerant workloads, autoscaler behaviour.
- GPU and AI spend. Utilisation of the most expensive compute on the bill, batching, and whether inference runs on hardware sized for training. (Our GPU cost teardown covers the levers.)
- Observability spend. Log ingestion, retention and cardinality. Monitoring bills that rival the compute they monitor are common and fixable.
- DR and environment duplication. Disaster-recovery copies running hot when they could be pilot-light; staging environments sized like production.
- Tagging and allocation hygiene. What percentage of spend can be attributed to a team or product. Untagged spend is unmanageable spend.
- Anomaly posture. Whether a surprise 3x spike would be caught by an alert or by next month's invoice.
- Unit economics readiness. Whether cost-per-customer or cost-per-request is derivable today, because "the bill went up" means nothing without a denominator.
The cloud bill audit checklist: where each line item lives on AWS, Azure and GCP
The twelve items above are provider-agnostic; the evidence for each lives in a specific report on each cloud. This is the checklist we work from, so you can run the same one before you book anyone.
| Line item | AWS | Azure | GCP | What "good" looks like |
|---|---|---|---|---|
| Commitment coverage | Savings Plans coverage report and utilization report | Reservation utilization; savings plans for compute | Committed use discount analysis | Steady-state compute mostly covered, commitments running near full utilisation, nothing expiring unwatched |
| Rightsizing | Compute Optimizer; Cost Explorer rightsizing | Azure Advisor cost recommendations | Recommender | Recommendations acted on inside a change window, not accumulating in a dashboard |
| Zombie resources | Trusted Advisor cost optimization checks | Azure Advisor (same report) | Recommender idle-resource recommendations | No unattached volumes, idle load balancers or unassociated IPs older than a sprint |
| Storage tiering | S3 storage classes and Intelligent-Tiering | Blob access tiers | Cloud Storage classes and Autoclass | Lifecycle rules on every bucket; snapshots with an expiry |
| Network and NAT | NAT gateway pricing; VPC endpoints | NAT Gateway pricing | Cloud NAT pricing | Gateway endpoints for S3 and DynamoDB in place; cross-AZ chatter measured, not guessed |
| Kubernetes bin-packing | Split cost allocation data for EKS in the CUR | AKS cost analysis add-on | GKE cost allocation | Requests close to actual usage; the autoscaler and spot pools doing real work |
| GPU and AI spend | Accelerator utilisation metrics in CloudWatch | Azure Monitor GPU metrics | Cloud Monitoring accelerator metrics | Inference on inference-sized hardware, batching measured, idle GPUs scheduled off (the levers) |
| Observability spend | CloudWatch pricing | Azure Monitor pricing | Cloud Logging and Monitoring pricing | Retention set per log class; ingest filtered at source; metric cardinality budgeted |
| DR and environment duplication | DR options whitepaper (pilot light vs warm standby) | Same tiering decision | Same tiering decision | DR tier chosen deliberately; non-production scheduled off outside working hours |
| Tagging and allocation | Cost allocation tags | Resource tags | Labels | Nearly all spend attributable to a team or product; untagged spend reported weekly |
| Anomaly posture | Cost Anomaly Detection | Unexpected-charge analysis and anomaly alerts | Budgets and alerts | A 3× spike pages someone the same day, not at month-end |
| Unit economics readiness | Cost and Usage Report | Cost Management exports | Billing export to BigQuery | Cost per customer or per request derivable from the export, not from a spreadsheet |
How to audit your cloud bill yourself: a seven-step method
You do not need a consultancy to run a first pass. You need the raw export, a week of evenings and the discipline to write the findings down. The order matters, because the early steps change the numbers in the later ones.
- Export the raw data, not the console view. Turn on the Cost and Usage Report, Azure cost exports or the GCP billing export to BigQuery and query it. Console dashboards round, group and hide the lines you are looking for.
- Split rate waste from usage waste. Rate waste is on-demand pricing you could commit on; usage waste is capacity nobody uses. They have different fixes and different owners, and mixing them is why most first audits produce a list nobody executes.
- Rank services by spend and by month-over-month growth. The top twenty line items are usually most of the bill; the fastest-growing five are usually the next incident.
- Check commitment coverage and utilisation before touching rightsizing. Resizing a fleet under an existing commitment strands the commitment; committing to an oversized fleet locks the waste in. Sequence: rightsize what is uncommitted, then commit to what remains.
- Run the native recommenders and read them sceptically. Compute Optimizer, Azure Advisor and GCP Recommender find idle and oversized resources well; they know nothing about your launch next month or the batch job that runs on the 1st.
- Read the least-read lines. NAT processing, inter-AZ and egress traffic, log ingestion and retention, snapshots, unattached volumes and idle addresses. These rarely lead the bill and almost always pay for the time spent.
- Write it down as a gap map with ranges and owners. One finding per row, the evidence line-referenced to the export, a conservative-to-average savings range, an effort estimate and a named owner. Then set anomaly alerts so you never start from zero again.
If the gap map lands at a number you would rather have a second opinion on, that is the point at which a free audit is worth booking: a senior engineer checks the ranges against utilisation data and tells you which findings are real. Estimate the size of the prize first with the cloud waste calculator and the commitment calculator.
AWS bill audit: the five reports to pull first
On AWS, an audit starts from five native reports before any third-party tool is opened. In order: Cost Explorer grouped by service over the last six months, for the shape of the bill; the Savings Plans coverage and utilization reports, for rate waste; Compute Optimizer findings, for usage waste; the Trusted Advisor cost optimization checks, for zombies; and the Cost Anomaly Detection history, for what has already surprised you. The Cost and Usage Report is where every finding gets its evidence line. Our ranking of the AWS native cost tools covers what each one catches and misses; the AWS cost optimization guide covers the fixes.
Azure and GCP have direct equivalents: Cost analysis plus Advisor on Azure, the cost table report plus Recommender on GCP. The framework does not change; only the report names do.
The deliverable: a document, not a demo
The output of an audit is written. Ours lands within 48 hours of access and contains three parts:
- The gap map: every finding from the 12 areas above, with the evidence line-referenced to your bill.
- Quantified waste: a conservative-to-average savings range per finding, stated with its assumptions, never a single flattering number.
- The ROI ordering: fixes ranked by savings against effort, split into "your team can do this Tuesday" and "this is a project".
Judge any vendor's audit, including ours, by one test: could your team act on the report without hiring the vendor? If the answer is no, it was a sales document with a spreadsheet attached.
What happens after
Three honest outcomes. Your team takes the report and executes it alone (a success; we say so on the report). The findings justify a 90-day optimization engagement that ships the structural savings: commitments purchased, rightsizing done, FinOps rituals stood up. Or the audit shows your bill is already tight, in which case you've spent a week confirming it and we've earned the right to be remembered. Estimate which outcome you're heading for with the cloud waste calculator, then replace the estimate with your actual numbers.
Free audit vs paid audit vs cost tool: what you are actually buying
| Free consultancy audit | Paid audit | Cost platform | |
|---|---|---|---|
| Scope | Billing data plus headline utilisation; the twelve line items at diagnostic depth | Adds architecture review, unit economics and forecasting | Continuous visibility and recommendations, no interpretation |
| Incentive | The follow-on engagement; read it knowing that | The fee; independence is what you are paying for | Subscription, sometimes a share of savings |
| Output | Written gap map with ranges and an ROI order | The same, deeper, with a roadmap | Dashboards and alerts, daily |
| Fits when | You need a second opinion and a ranked list, fast | The bill is large enough that independence matters | The findings are known and nobody is acting on them |
They are not substitutes. A platform keeps the number in front of you every day; an audit tells you what the number means once a quarter; an engagement changes it. The comparison of cloud cost optimization firms covers which kind of vendor does which.
Related: Cloud Billing & FinOps engagement · Cloud waste calculator · What is FinOps? · AWS cost optimization guide · Best cloud cost optimization firms · DevOps consulting rates 2026