A cloud storage audit is a complete inventory of everything you store and what it costs, joined to how that storage is actually used. Storage rarely shows up as a single line you can attack, because it hides across block volumes, object buckets, snapshots, backups, database storage, and log retention, each billed differently and each accumulating quietly. The audit is the work of pulling all of it into one view so you can see the gap between what you pay for and what you use. Done well, it is the difference between guessing and knowing, and it is the first thing we do on any storage engagement.
This article is part of our complete guide to cloud storage and data cost optimization, the cluster pillar it links up to. The audit is the See step of our See, Cut, Lock, Run method applied to storage: you cannot cut what you have not measured, and you cannot rank fixes without dollar figures attached to each one.
The output of a storage audit is a spreadsheet of every storage object with provisioned size, used size, tier, age, owner, and monthly cost, sorted by dollars of waste. Everything downstream, the resizing, the lifecycle rules, the deletions, draws from that list.
Step 1: Inventory every storage type, not just buckets
The first mistake in a storage audit is auditing only object storage because it is the easiest to list. The footprint is wider than that. Pull a complete inventory across block volumes attached and unattached, object storage buckets, snapshots of volumes and databases, backup vaults, database and data-warehouse storage, file shares, and log and telemetry retention. Each of these is a separate billing dimension and each hides a different kind of waste. The unattached volume is pure idle cost, the subject of storage waste: snapshots, orphaned disks, and old backups. The over-provisioned attached volume is the subject of storage rightsizing. List them all before you reason about any of them.
Step 2: Join cost to usage for every object
An inventory of sizes is not yet an audit. The audit is the join between what each object costs and how it is used. For block volumes, that means provisioned size against used size and measured IOPS. For object storage, it means total size against access frequency, since data nobody reads is a tiering opportunity. For snapshots and backups, it means age against retention policy, since most estates keep snapshots long past any rule that justifies them. For logs, it means retention window against how far back anyone actually queries. The pattern is the same everywhere: pair the cost with the real usage, and the waste reveals itself as the gap.
Want the storage audit run for you?
Our cloud cost audit inventories every volume, bucket, snapshot and tier across AWS, Azure, GCP and OCI, joins cost to real usage, and hands you a ranked fix list. On the performance model, you pay only from realized savings. No savings, no fee.
Book a cloud cost audit →Step 3: Flag the recurring waste patterns
Certain patterns turn up on almost every estate, and naming them speeds the audit. Watch for these signals as you work through the inventory.
| Signal | What it usually means | Where to fix it |
|---|---|---|
| Unattached block volume | Disk left behind after an instance was deleted | Snapshot then delete |
| Used far below provisioned | Volume over-allocated at creation | Rightsize the volume |
| Snapshots older than any retention rule | No lifecycle policy on snapshots | Expire on a schedule |
| Cold data on a hot tier | Wrong tier for access pattern | Lifecycle to cool or archive |
| Versioned bucket, no expiry | Every prior version kept forever | Version expiry rule |
| Incomplete multipart uploads | Fragments of failed uploads billing silently | Abort-incomplete rule |
| Untagged or unowned storage | Nobody accountable for the spend | Tag, then assign an owner |
Step 4: Establish ownership before you cut
An audit that finds waste but cannot find an owner stalls. A large share of storage waste is untagged or attached to a team that no longer exists, and you cannot safely delete a volume or shorten a retention window without knowing who depends on it. Resolve ownership as part of the audit: map each significant storage object to a team through tags, and where tags are missing, trace it through the resource that created it. The discipline of fixing tag gaps is covered in how to tackle untagged and unowned resources. Ownership is what lets the audit convert into action rather than a report that sits unread.
Step 5: Rank by dollars and confirm before deleting
With cost, usage, and ownership joined, sort the inventory by monthly dollars of waste and work top down. The largest single line, often a fleet of over-provisioned volumes or a backup vault with no expiry, is usually worth more than the next ten combined. For anything you intend to delete, snapshot first, validate the copy, and keep the rollback obvious, the same care described in storage waste: snapshots, orphaned disks, and old backups. Confirm with the owner before deleting anything you did not create. The audit's value is realized only when the ranked list becomes a sequence of safe, confirmed changes.
The Cloud Storage and Egress Cost Playbook includes the inventory queries and the scoring model we use to rank storage waste by dollars. It is the downloadable companion to this audit method.
Make the audit repeatable, not a one-off
Storage grows back. A footprint you cleaned six months ago drifts as new volumes are provisioned generously, new snapshots accumulate, and new buckets fill with versions. The audit you run by hand the first time should become a scheduled query that flags the same patterns automatically, so the inventory stays current and waste surfaces as it appears rather than at the next annual cleanup. This is the Lock step applied to storage, and the lifecycle automation that supports it is in how to build a storage lifecycle policy. Provisioned sizes, snapshot and tier options, and lifecycle features differ across AWS, Azure, GCP and OCI and change. Verify current behavior in each provider's documentation before acting, as of May 2026.
The short version
Inventory every storage type rather than just buckets, join cost to real usage so the waste shows as a gap, flag the recurring patterns, establish ownership, then rank by dollars and confirm before deleting. Once the footprint is clean, the next move is matching each volume to real need in storage rightsizing. When you want the audit run across the whole estate at once, that is what our rightsizing and waste elimination service delivers.