Storage Costs Explained (GB-month, requests, retrieval)
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
- Confirm average GB-month, not only end-of-month snapshots.
- Track top request classes and their billing units.
- Separate replica storage and replication transfer line items.
- 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
API Gateway pricing: what to model (requests + transfer)
Model AWS API Gateway pricing across request charges, data transfer, logs, and adjacent add-ons, with a clearer checklist for what belongs in the API bill versus downstream systems.
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: ACU-Hours, Minimum Capacity, Peaks, and Storage
Understand Aurora Serverless v2 pricing through ACU-hours, minimum-capacity baseline exposure, repeated peak windows, storage, backups, and the surrounding database or application costs that belong beside the Serverless v2 bill.
AWS CloudTrail Pricing: Free Management Copy, Data Events, Insights, and Lake
Understand AWS CloudTrail pricing through the free first copy of management events, data events, CloudTrail Insights, Trails vs CloudTrail Lake, and the downstream storage and scan costs that belong beside CloudTrail.
AWS ECS Pricing & Cost Guide (EC2 vs Fargate drivers)
Model AWS ECS cost across compute, storage, networking, and adjacent runtime choices, with clearer guidance on how EC2 versus Fargate changes the real bill drivers.
AWS RDS cost optimization (high-leverage fixes)
Reduce AWS RDS cost by isolating compute headroom, storage growth, backup retention, and I/O-heavy query patterns before changing instance size, retention policy, or architecture.
AWS RDS pricing (what to include)
Estimate AWS RDS pricing by separating instance-hours, allocated storage, backup storage, Multi-AZ or replica capacity, and any I/O-pricing exposure so the database bill is not blended with adjacent workflow costs.
Azure Blob Storage pricing: a practical cost model
Model Azure Blob Storage cost without copying price tables by separating GB-month, operations, redundancy, retrieval, and egress, with clearer guidance for replication-heavy and access-heavy workloads.
Azure Container Registry Pricing: Tier Limits, Storage, and Geo-Replication
Understand Azure Container Registry pricing through Basic, Standard, and Premium tier limits, included storage, geo-replication, throughput, and the operating signals that change a monthly estimate.
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.
Related guides
S3 pricing explained: storage vs requests vs egress
A practical breakdown of S3-like object storage pricing: GB-month storage, request fees, and data egress - plus how to estimate each without missing hidden line items.
Copy storage pricing: what you pay for when data moves
A practical guide to pricing storage copy operations (cross-region copy, replication, backups) across S3-like object storage: transfer, requests, and extra storage.
S3 CRR vs SRR Cost Comparison: Transfer, Storage, and Request Fees
Compare S3 CRR vs SRR cost by separating cross-region transfer exposure, same-region replication, replica storage, request fees, and changed-data volume instead of relying on total bucket size.
S3 replication cost: how to estimate cross-region replication
A practical guide to estimating S3 replication cost: what data volume to count, which fees to expect, and how to model replica storage, requests, and transfer. Includes a fast checklist.
S3 to Glacier transfer cost: what to include in the move
Estimate S3 to Glacier transfer cost by separating lifecycle transition requests, minimum storage duration penalties, restore behavior, and any cross-region or rewrite overhead created during the move.
S3 pricing: a practical model for storage, requests, egress, and replication
Estimate S3 pricing by separating GB-month storage, requests, egress, replication, and delivery boundaries so the main object-storage bill is modeled from real usage drivers instead of copied price tables.
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
.