Service comparison / storage pricing
Cloud Storage Pricing 2026: S3 vs Azure Blob vs Google Cloud Storage
Storage pricing is deceptively complex. Retrieval fees, early deletion penalties, minimum durations, and request charges all vary by tier and provider. This is the full picture: object, block, file, lifecycle policies, and worked total-cost examples.
Object storage by tier
| Tier | AWS | Azure | GCP |
|---|---|---|---|
| Hot / Standard ($/GB/mo) | $0.0230 S3 Standard | $0.0208 Hot LRS | $0.0200 Standard |
| Warm / Cool ($/GB/mo) | $0.0125 S3 Standard-IA | $0.0152 Cool LRS | $0.0100 Nearline |
| Cold ($/GB/mo) | $0.0040 S3 Glacier Instant | $0.0036 Cold LRS | $0.0040 Coldline |
| Archive ($/GB/mo) | $0.00099 Glacier Deep Archive | $0.00099 Archive LRS | $0.0012 Archive |
Requests, retrieval, and minimums
| Operation | AWS | Azure | GCP |
|---|---|---|---|
| PUT / write per 10k requests | $0.05 | $0.0650 | $0.05 |
| GET / read per 10k requests | $0.004 | $0.0050 | $0.004 |
| Hot retrieval $/GB | free for Standard, $0.01 for IA | free for Hot, $0.01 for Cool | free for Standard, $0.01 for Nearline |
| Archive retrieval $/GB | $0.02 standard, $0.03 expedited | $0.02 standard, $0.10 priority | $0.05 |
| Minimum storage duration | 30d Standard-IA, 90d Glacier Instant, 180d Deep Archive | 30d Cool, 90d Cold, 180d Archive | 30d Nearline, 90d Coldline, 365d Archive |
Block storage
| Kind | AWS | Azure | GCP |
|---|---|---|---|
| General SSD ($/GB/mo) | $0.080 EBS gp3 | $0.075 Premium SSD v2 base | $0.170 PD SSD |
| Provisioned IOPS price | $0.005/IOPS over 3,000 baseline | $0.005/IOPS over baseline (v2) | Hyperdisk: $0.0025/IOPS |
| Throughput-optimised HDD | $0.045 EBS st1 | $0.040 Standard HDD | $0.040 PD Standard |
| Snapshot $/GB/mo | $0.05 incremental | $0.05 incremental | $0.026 standard, $0.050 regional |
GCP Persistent Disk SSD is roughly 2x AWS gp3 on $/GB. Hyperdisk Balanced (provisioned IOPS pricing) closes the gap for IO-bound workloads. Hyperdisk Extreme matches AWS io2 Block Express performance at higher cost.
File storage
| Kind | AWS | Azure | GCP |
|---|---|---|---|
| Performance tier ($/GB/mo) | $0.30 EFS Standard | $0.30 Files Premium | $0.30 Filestore Basic SSD |
| Standard tier ($/GB/mo) | $0.16 EFS One Zone | $0.16 Files Hot LRS | $0.20 Filestore Basic HDD |
| Archive / IA ($/GB/mo) | $0.025 EFS IA | $0.022 Files Cold LRS | n/a, use Cloud Storage |
Lifecycle and tiering policies
Automatic tiering
AWS S3 Intelligent-Tiering
Automatic, no retrieval fees for frequent access
$0.0025/1k objects monitoring fee. Adds Archive Access and Deep Archive Access tiers above 90 and 180 days idle.
Azure Blob lifecycle management
Policy-based rules per access tier
Free to enable. Rules evaluated daily. Includes per-blob last-access tracking when enabled.
GCP Autoclass
Automatic, retrieval fee waived
Bucket-level setting. Tiers down through Nearline, Coldline, Archive based on object access. No early-deletion penalty within 30 days.
Total cost worked examples / not just $/GB
The cheapest $/GB tier is not always cheapest in total
| Scenario | AWS | Azure | GCP | Winner |
|---|---|---|---|---|
| 10 TB (10,240 GB) hot tier, storage only | $235.52/mo | $212.99/mo | $204.80/mo | GCP Standard |
| 100 TB (102,400 GB) warm tier, 10% retrieved monthly, requests excluded | $1,382.40/mo | $1,658.88/mo | $1,126.40/mo | GCP Nearline |
| 100 TB (102,400 GB) archive tier, all retrieved once a year at standard retrieval | $101.38/mo + $2,048 retrieval/yr | $101.38/mo + $2,048 retrieval/yr | $122.88/mo + $5,120 retrieval/yr | AWS / Azure (tied) |
| 1 PB (1,048,576 GB) long-term archive, storage only | $1,038/mo Deep Archive | $1,038/mo Archive | $1,258/mo Archive | AWS / Azure (tied) |
Worked examples use LRS / single-region US list rates checked 9 November 2026 (first 50 TB price band for hot and warm tiers), with no egress or request charges. Adjust for your actual access patterns.
Storage cost calculator
Estimate monthly storage cost
Single-region (LRS) storage with monthly retrieval. Excludes request charges, egress, and minimum-storage-duration penalties. Use it for directional comparison.
Retrieved volume: 2.5 TB
AWS
$1,177.6
per month
Azure
$1,064.96
per month
GCP
$1,024
per month
cheapestCommon questions
FAQ
How much does cloud storage cost per TB?+
Hot tier object storage lists at $20-23 per 1,000 GB per month in the major US regions (checked 9 November 2026). GCP Standard is the lowest at $0.020/GB, Azure Blob Hot LRS is $0.0208/GB for the first 50 TB, and AWS S3 Standard is $0.023/GB for the first 50 TB. For 10 TB (10,240 GB) that is $204.80, $212.99 and $235.52 a month at list, a gap that request, retrieval and egress charges can easily outweigh.
What is the cheapest archive storage?+
AWS S3 Glacier Deep Archive and Azure Archive Blob both list at $0.99 per TB per month. GCP Archive lists at $1.20 per TB. The cheapest tier is rarely cheapest in total: Azure Archive charges $0.10 per GB priority retrieval and 180-day minimum retention. Calculate full lifecycle cost including egress.
Is GCP block storage really more expensive?+
Persistent Disk SSD lists at $0.170 per GB per month versus $0.080 for AWS EBS gp3 and $0.075 for Azure Premium SSD v2. That is roughly double on the surface. Hyperdisk Balanced (introduced 2023) closes the gap with provisioned-IOPS pricing for IO-bound workloads. For SSD-heavy workloads, model storage cost on each provider before committing to GCP.
How do retrieval fees change the math?+
AWS S3 Standard-IA charges $0.01 per GB retrieval. Azure Cool charges $0.01. GCP Nearline charges $0.01. For data accessed quarterly or more often, retrieval fees can exceed storage savings versus the hot tier. Run the breakeven analysis: if you retrieve more than once per month, hot tier is usually cheaper.
Which provider has the best automatic tiering?+
AWS S3 Intelligent-Tiering and GCP Autoclass both move objects automatically without retrieval fees on frequent access. Both charge for it: Intelligent-Tiering a $0.0025 per 1,000 objects monitoring fee, and Autoclass a management fee of $0.0025 for every 1,000 objects stored for 30 days. Azure lifecycle management is policy-based rather than automatic but does support last-access-time triggers.
Continue reading