Storage Costs Explained (GB-month, requests, retrieval)

Reviewed by CloudCostKit Editorial Team. Last updated: 2026-04-04. Editorial policy and methodology.

Start with a calculator if you need a first-pass estimate, then use this guide to validate the assumptions and catch the billing traps.


This is the storage system budgeting parent page. Use it to model stored data as a real operating system: capacity, copies, retrieval, and lifecycle transitions all belong here before you trust a storage total.

Stay here while you still need the broader storage budget map. Move into S3 pricing, replication, or archive-transition pages only after the broader storage budget shape is clear.

Start here when stored data changes class, copy count, or access pattern

  • Use this parent guide first when the bill depends on how data moves between hot, warm, archive, and replica states.
  • Stay here if copies, retrieval, and lifecycle transitions are part of the decision instead of treating storage as only GB-month.
  • Move to narrower tools after the capacity and lifecycle shape is defined.

The biggest budgeting mistake is treating storage as only stored bytes

Storage budgets drift because multiple cost surfaces move together. Stored GB-month, request activity, replica copies, archive retrieval, lifecycle transitions, and egress do not behave the same way even when teams bucket them together as one storage line.

  • Capacity-only planning: teams price stored bytes but ignore requests, retrieval, and copy behavior.
  • Lifecycle blind spots: archive moves look cheap until restores, minimum durations, or transitions appear.
  • Workflow jump too early: readers often need the system budget map before one S3 workflow page is useful.

1) Start with stored GB-month (capacity)

  • Measure average stored GB (or estimate from current size and growth).
  • Price it with your $/GB-month rate (watch for storage class/tier changes).
  • Tool: object storage cost calculator

2) Add request fees (activity)

Storage is often paired with request pricing (PUT/GET/LIST). If you store many small objects, request fees can be a meaningful percentage of total cost.

  • Estimate PUT/GET counts per day, then convert to monthly.
  • Check request units (per 1,000 / 10,000 / 1,000,000).

3) Add replication and backups (copies)

4) Add egress/transfer (the common surprise)

When data leaves the storage boundary (to users, to another region, or to a CDN/origin), you may pay egress. Many storage architectures are "bandwidth-shaped": the monthly bill grows with reads/deliveries.

Common pitfalls

  • Ignoring growth: GB-month changes over time, even if pricing does not.
  • Ignoring small-object amplification: request fees and metadata overhead.
  • Counting CDN bandwidth but forgetting origin egress (cache fill).
  • Double counting replication: both replica storage and copy traffic can be billed.

Lifecycle decision matrix

  • Hot data with frequent reads: prioritize latency tier and optimize request behavior.
  • Warm operational data: move to lower-cost class with defined access windows.
  • Archive and compliance data: model retrieval fees before deep archive transitions.
  • Replication-heavy workloads: split steady writes from one-time migrations.

The common miss at this layer is pricing only stored bytes while copies, retrieval, and lifecycle transitions do the real damage later.

Choose the right next page

  • S3 pricing anatomy: use S3 pricing explained when you need the base bill structure.
  • Copy-path economics: use S3 replication cost when the main problem is changed data becoming copies and transfer.
  • Archive-transition boundary: use S3 to Glacier transfer cost when the main problem is lifecycle moves, duration rules, and restore readiness.

Storage validation checklist

  1. Confirm average GB-month, not only end-of-month snapshots.
  2. Track top request classes and their billing units.
  3. Separate replica storage and replication transfer line items.
  4. Reconcile retrieval and egress after lifecycle policy changes.

Related tools

Specialist pages work best after the wider storage budget map is clear. Start with S3 pricing explained, S3 replication cost, or S3 to Glacier transfer cost only when you already know which workflow is actually driving the bill.

More storage guides

Artifact Registry pricing (GCP): storage + downloads + egress (practical estimate)
A practical Artifact Registry cost model: stored GB-month baseline, download volume from CI/CD and cluster churn, and outbound transfer. Includes a workflow to estimate GB-month from retention and validate layer sharing and peak pull storms.
Aurora pricing (what to include): compute, storage, I/O, and backups
A practical checklist for estimating Aurora costs: instance hours (or ACUs), storage growth, I/O-heavy workloads, backups/retention, and the line items that commonly surprise budgets.
Aurora Serverless v2 pricing: how to estimate ACUs and avoid surprise bills
A practical way to estimate Aurora Serverless v2 costs: ACU-hours, storage GB-month, backups/retention, and how to model peaks so your estimate survives real traffic.
AWS CloudTrail Pricing & Cost Guide
CloudTrail cost model for management vs data events, Lake vs S3 logs, and pricing drivers with estimation steps.
AWS ECS Pricing & Cost Guide (EC2 vs Fargate drivers)
ECS cost model for compute, storage, and networking. Compare EC2 vs Fargate and identify real cost drivers.
AWS RDS cost optimization (high-leverage fixes)
A short playbook to reduce RDS cost: right-size instances, control storage growth, tune backups, and avoid expensive I/O patterns.
AWS RDS pricing (what to include)
A practical checklist for estimating AWS RDS costs: instances, storage, backups, I/O, and the line items that commonly surprise budgets.
Azure Blob Storage pricing: a practical cost model
Model Blob Storage cost without copying price tables: GB-month, operations, redundancy/replication, retrieval, and egress.
Azure Container Registry Pricing Guide: ACR Cost by Tier and Usage
Model Azure Container Registry cost from storage, pull volume, and egress. Compare Basic, Standard, and Premium with practical calculator-ready inputs.
Azure Cosmos DB pricing: a practical estimate (RU/s, storage, and egress)
A driver-based Cosmos DB estimate: RU/s capacity, stored GB, and data transfer. Includes a workflow to validate RU drivers and avoid underestimating burst, hot partitions, and retries.
Azure Key Vault pricing: estimate operations, keys/secrets, and request spikes
A practical Key Vault cost model: baseline objects (keys/secrets/certs) plus operation volume. Includes a workflow to map traffic to Key Vault calls and validate caching, retries, and hot-path mistakes.
Azure Kubernetes Service (AKS) pricing: what to include
AKS cost is more than node VMs: include node pools, networking/egress, storage, and observability. Use this checklist-style model to estimate safely.

Related guides


Related calculators


FAQ

Why is storage pricing confusing?
Because the bill is rarely just GB-month. Many products add request fees, replication/backup copies, and transfer (egress or inter-region) on top of base storage.
What is GB-month?
GB-month is the average stored GB over the billing month. If you store 100 GB for half the month and 200 GB for half the month, your average is ~150 GB-month.
What usually dominates storage cost?
For large datasets, GB-month dominates. For many small objects, request fees can matter. For multi-region setups, replication plus transfer can dominate.

Last updated: 2026-04-04. Reviewed against CloudCostKit methodology and current provider documentation. See the Editorial Policy .