TL;DR: Storage Lens is free X-ray vision for your S3 estate: one dashboard across all buckets, accounts, and regions. First-time users almost always find the same three leaks — incomplete multipart uploads (billable bytes invisible in object listings), non-current version bloat (every overwrite hoarded forever), and cold data parked in Standard. Turn it on, look at your top three buckets, write one or two lifecycle rules. The first pass usually captures most of the savings you'll ever get.
The numbers
- Free tier: 28 metrics, daily refresh, 14-day history — enough to find the big wins
- Advanced tier (paid): 60+ metrics, 15-month history, prefix-level detail, CloudWatch export — worth it at petabyte scale, overkill below
- Real first-pass finds from the field: 4 TB of orphaned multipart chunks (~$1,200/year of literal garbage); 12 TB of CloudTrail logs in Standard that belonged in Glacier ($2,300/month); 40 TB of non-current versions as an enterprise's single biggest storage line
Do this
-
Enable the free dashboard (S3 console → Storage Lens → default dashboard is often already collecting; at org level, aggregate all accounts).
-
Sort buckets by size, open the top three, and check in order:
-
Incomplete multipart upload bytes → fix forever with an abort rule:
aws s3api put-bucket-lifecycle-configuration --bucket YOUR-BUCKET \ --lifecycle-configuration '{"Rules":[{"ID":"abort-mpu","Status":"Enabled", "Filter":{},"AbortIncompleteMultipartUpload":{"DaysAfterInitiation":7}}]}' -
Non-current version bytes → versioned buckets need a
NoncurrentVersionExpiration(or transition) rule, e.g. expire non-current versions after 90 days. -
Storage-class distribution → high storage + low request count = misclassified data; hand those buckets to lifecycle policies or Intelligent-Tiering.
-
-
Make it recurring: a 15-minute monthly review beats the universal "enabled it, glanced once, forgot" pattern. Storage Lens won't notify you — you have to come back.
-
At FinOps maturity, export to S3 + Athena/QuickSight for per-team trends and week-over-week growth alerts.
Gotchas
- It's visibility, not action. Storage Lens tells you what's wrong; you still write the lifecycle rules. The tool saves nothing by itself.
- Not real-time — daily refresh on free tier; don't expect instant feedback on changes.
- Incomplete MPUs are invisible elsewhere. They don't appear in bucket listings and aren't itemized in Cost Explorer — this dashboard is where they show up.
- Versioning without expiration rules is the silent whale on long-lived, frequently-overwritten buckets.
Skip this if
Honestly, almost never — it's free and takes minutes. The only low-value cases: a tiny S3 footprint (a few GB), or an estate already governed by tight, recently-reviewed lifecycle rules. Even then, a one-time pass to prove everything's classified right is cheap insurance. For per-bucket access-pattern evidence before writing rules, pair it with Storage Class Analysis.