The Most Expensive Storage Provider Is Still the Most Popular. Here Is Why.
AWS S3 is the most expensive mainstream object storage by headline rate. At $0.023/GB for Standard, it costs nearly 4x more than Backblaze B2 ($0.006/GB) and over 3x more than Wasabi ($0.0069/GB). Add the $0.09/GB egress fee and S3 can cost 10-17x more than alternatives on total monthly spend.
And yet S3 remains the default choice for most production workloads. Not because companies enjoy overpaying, but because S3 integrates with over 200 AWS services natively, operates in 30+ regions, offers seven storage classes with automated lifecycle management, and backs everything with 99.999999999% (eleven nines) durability.
The real question is not "Is S3 too expensive?" -- it usually is at list price. The real question is "How much can I reduce my S3 bill without leaving the AWS ecosystem?" The answer, for most teams, is 30-50% through proper tiering, lifecycle policies, and Intelligent-Tiering. That is often a bigger savings than migrating to a cheaper provider once you account for egress costs, re-architecture effort, and lost ecosystem integration.
This post covers every S3 cost in 2026, the optimization strategies that materially reduce your bill, and the scenarios where S3 genuinely does not make sense. For the full multi-provider comparison, see our complete 2026 cloud storage pricing comparison.
AWS S3 Storage Classes: Complete 2026 Pricing
S3 offers seven storage classes, each optimized for different access patterns. Here is every rate for the US East (N. Virginia) region as of 2026.
Storage Rates
| Storage Class | Cost per GB/month | Cost per TB/month | Minimum Duration | Retrieval Fee |
|---|---|---|---|---|
| S3 Standard | $0.023 | $23.00 | None | None |
| S3 Intelligent-Tiering | $0.023 (frequent) / $0.0125 (infrequent) / $0.004 (archive) | Varies | None | None |
| S3 Standard-IA | $0.0125 | $12.50 | 30 days | $0.01/GB |
| S3 One Zone-IA | $0.01 | $10.00 | 30 days | $0.01/GB |
| S3 Glacier Instant Retrieval | $0.004 | $4.00 | 90 days | $0.03/GB |
| S3 Glacier Flexible Retrieval | $0.0036 | $3.60 | 90 days | $0.01-0.03/GB |
| S3 Glacier Deep Archive | $0.00099 | ~$1.00 | 180 days | $0.02/GB (standard) |
The spread is massive. Standard at $0.023/GB is 23x more expensive than Deep Archive at $0.00099/GB. Most S3 bills are high not because S3 is inherently expensive, but because data that should be in cheaper tiers is sitting in Standard.
Intelligent-Tiering: The Tier That Tiers Itself
Intelligent-Tiering deserves special attention because it automates what most teams do poorly (or not at all) manually. Here is how it works:
- Objects accessed within 30 days stay in the Frequent Access tier at $0.023/GB
- Objects not accessed for 30 days move to the Infrequent Access tier at $0.0125/GB (45% savings)
- Objects not accessed for 90 days can optionally move to the Archive Instant Access tier at $0.004/GB (83% savings)
- Objects not accessed for 180+ days can move to the Deep Archive Access tier at $0.00099/GB (96% savings)
The cost for this automation: $0.0025 per 1,000 objects per month in monitoring fees. For a bucket with 10 million objects, that is $25/month. If those objects average 1MB each (10TB total) and 60% move to the Infrequent tier, you save roughly $80/month in storage. The monitoring fee pays for itself many times over.
The catch: for buckets with millions of very small objects (under 128KB each), the per-object monitoring fee can exceed the tiering savings. Log files, small JSON records, and sensor data often fall into this category.
Egress: The Cost That Doubles Your S3 Bill
Egress is where S3 pricing becomes painful. Here are the current rates:
Internet Egress (Data Transfer Out)
| Monthly Volume | Cost per GB |
|---|---|
| First 100GB | Free |
| Next 10TB | $0.09 |
| Next 40TB | $0.085 |
| Next 100TB | $0.07 |
| Over 150TB | Contact AWS |
Transfer to Other AWS Services
| Destination | Cost per GB |
|---|---|
| Same region EC2/Lambda/EKS | $0.00 (free) |
| Same region CloudFront | $0.00 (free) |
| Cross-region S3 replication | $0.02 |
| CloudFront to internet | $0.02 - $0.06 (varies by region) |
The same-region free transfer is critical. If your compute and storage are in the same region, you never pay egress between them. This is why S3's egress fees matter less for AWS-native workloads than the headline numbers suggest -- the data often never leaves the AWS network.
The problem is internet-facing workloads. Serving files directly from S3 to users, distributing data to partners, or feeding non-AWS services costs $0.09/GB. At 10TB of monthly internet egress, that is $900/month in transfer fees alone -- more than the storage cost for most tiers.
Real-World Egress Impact
| Scenario | Storage Cost | Egress Cost | Egress as % of Total |
|---|---|---|---|
| 10TB stored, 1TB egress | $230 | $90 | 28% |
| 10TB stored, 5TB egress | $230 | $450 | 66% |
| 10TB stored, 10TB egress | $230 | $900 | 80% |
| 100TB stored, 50TB egress | $2,300 | $4,250 | 65% |
When egress exceeds 50% of your total S3 bill, it is time to seriously evaluate whether Cloudflare R2, Backblaze B2, or a CDN-first architecture would reduce your total cost.
API Request Pricing
| Operation | S3 Standard | S3 Standard-IA | Glacier Instant |
|---|---|---|---|
| PUT, COPY, POST, LIST (per 1,000) | $0.005 | $0.01 | $0.02 |
| GET, SELECT (per 1,000) | $0.0004 | $0.001 | $0.01 |
| Lifecycle transitions (per 1,000) | $0.01 | $0.01 | $0.02 |
At moderate request volumes (under 10 million requests/month), API costs are negligible -- typically under $50/month. At high volumes (100 million+ requests/month), they become a meaningful but manageable line item of $40-200/month.
The hidden API cost is lifecycle transitions. Every object that transitions between storage classes incurs a per-request charge. If you have aggressive lifecycle policies that move millions of objects through multiple tiers, transition costs can add up.
Real-World S3 Cost Modeling
10TB Stored, 2TB Monthly Egress (Typical SaaS Application)
| Configuration | Storage | Egress | API (est.) | Monitoring | Total |
|---|---|---|---|---|---|
| S3 Standard only | $230.00 | $180.00 | ~$5.00 | -- | $415.00 |
| S3 Intelligent-Tiering | ~$155.00 | $180.00 | ~$5.00 | ~$5.00 | $345.00 |
| S3 Standard + IA lifecycle | ~$165.00 | $180.00 | ~$8.00 | -- | $353.00 |
| Cloudflare R2 (comparison) | $150.00 | $0.00 | ~$10.00 | -- | $160.00 |
| Backblaze B2 + CF | $60.00 | $0.00 | ~$5.00 | -- | $65.00 |
Even with Intelligent-Tiering, S3 costs 2x more than R2 and 5x more than B2 for this workload. The gap is almost entirely egress.
50TB Stored, 5TB Monthly Egress (Data Lake, Internal Access Only)
If egress stays within the AWS network (same-region EC2/Lambda access):
| Configuration | Storage | Egress | API (est.) | Total |
|---|---|---|---|---|
| S3 Standard only | $1,150.00 | $0.00 | ~$15.00 | $1,165.00 |
| S3 Intelligent-Tiering | ~$750.00 | $0.00 | ~$15.00 | $780.00 |
| S3 with Glacier lifecycle | ~$500.00 | $0.00 | ~$20.00 | $530.00 |
With zero internet egress (all access from same-region AWS compute), the cost difference between S3 and alternative providers shrinks dramatically. And you retain native integration with Lambda, Athena, EMR, SageMaker, and every other AWS service that reads from S3.
100TB Stored, 20TB Monthly Internet Egress
| Configuration | Storage | Egress | API (est.) | Total |
|---|---|---|---|---|
| S3 Standard only | $2,300.00 | $1,770.00 | ~$30.00 | $4,100.00 |
| S3 Intelligent-Tiering | ~$1,500.00 | $1,770.00 | ~$30.00 | $3,315.00 |
| Cloudflare R2 | $1,500.00 | $0.00 | ~$80.00 | $1,580.00 |
| Backblaze B2 + CF | $600.00 | $0.00 | ~$50.00 | $650.00 |
At scale with internet egress, S3 costs 2.5-6x more than the alternatives. This is the scenario where migrating off S3 delivers the most dramatic savings.
S3 Cost Optimization: The Strategies That Actually Work
Before switching providers, exhaust these S3-native optimizations. They are easier to implement and avoid the re-architecture costs of a provider migration.
1. Enable Intelligent-Tiering on All General-Purpose Buckets
This is the single highest-impact, lowest-effort optimization. Enable Intelligent-Tiering on any bucket where you do not know the exact access pattern. Savings: typically 25-40% on storage costs within 60 days as infrequently accessed data automatically moves to cheaper tiers.
2. Implement Lifecycle Policies for Known Patterns
For data with predictable lifecycles (logs, backups, build artifacts), set explicit lifecycle rules. Example: move logs to Standard-IA after 30 days, to Glacier Instant Retrieval after 90 days, to Deep Archive after 365 days, and delete after 7 years.
3. Use S3 Storage Lens to Find Waste
S3 Storage Lens provides organization-wide visibility into storage usage, access patterns, and cost efficiency. It identifies buckets where data is not being accessed, objects in the wrong storage class, and incomplete multipart uploads consuming space. Most teams find 10-20% of their S3 spend is pure waste discoverable through Storage Lens.
4. Route Internet-Facing Egress Through CloudFront
Instead of serving S3 objects directly to users (at $0.09/GB), put CloudFront in front. S3-to-CloudFront transfer within the same region is free, and CloudFront-to-internet egress is $0.02-0.06/GB depending on region. This alone can cut your egress bill by 50-70%.
5. Clean Up Incomplete Multipart Uploads
Multipart uploads that are started but never completed continue consuming storage space and incurring charges. Set a lifecycle rule to abort incomplete multipart uploads after 7 days. We routinely find 1-5% of S3 storage consumed by orphaned multipart upload parts.
6. Deploy VPC Gateway Endpoints for S3
EC2 instances in private subnets accessing S3 through a NAT Gateway pay both NAT Gateway processing fees ($0.045/GB) and standard S3 request fees. A VPC Gateway Endpoint for S3 is free to create and eliminates the NAT charge entirely. This is one of the easiest wins in AWS cost optimization.
When S3 Is the Right Choice
AWS-native workloads. If your compute runs on EC2, EKS, Lambda, or any AWS service, same-region S3 access is free and deeply integrated. The ecosystem value often exceeds the per-GB premium.
Multi-tier data with automated lifecycle needs. No other provider offers seven storage classes with automated transitions. If your data spans hot, warm, cold, and archival tiers, S3's lifecycle management is unmatched.
Compliance and durability requirements. S3's 11 nines durability, versioning, Object Lock, and compliance certifications (HIPAA, PCI, SOC, FedRAMP) make it the default for regulated industries.
Global presence. S3 operates in 30+ regions. If you need storage in Singapore, Sao Paulo, Mumbai, and Frankfurt, S3 is one of the few options with native presence everywhere.
When S3 Is Not the Right Choice
Internet-facing content delivery. If you are serving files directly to users and egress dominates your bill, Cloudflare R2 or Backblaze B2 via Cloudflare will cost 3-10x less.
Simple storage without ecosystem dependencies. If your workload is "store files, serve files" with no need for Lambda triggers, Athena queries, or SageMaker integration, you are paying for integration you do not use.
Budget-constrained startups. At small scale with limited AWS usage, S3's per-GB premium is hard to justify. R2's free tier or B2's 10GB free storage are better starting points.
S3 vs the Competition: Quick Reference
| Factor | AWS S3 Standard | Cloudflare R2 | Backblaze B2 | Wasabi |
|---|---|---|---|---|
| Storage $/GB | $0.023 | $0.015 | $0.006 | $0.0069 |
| Egress $/GB | $0.09 | $0.00 | $0.00 (via CF) | $0.00 (fair-use) |
| Storage tiers | 7 classes | 1 class | 1 class | 1 class |
| Min retention | Varies by tier | None | None | 90 days |
| Durability | 11 nines | Not published | Not published | 11 nines |
| Regions | 30+ | Global (CF edge) | US, EU | US, EU, AP |
| Ecosystem | 200+ AWS services | Cloudflare Workers/CDN | Limited | S3-compatible only |
The Bottom Line
AWS S3 is expensive at list price but becomes more competitive when you factor in same-region free transfer, Intelligent-Tiering automation, and ecosystem integration. The key is to never leave data in S3 Standard by default. Enable Intelligent-Tiering, implement lifecycle policies, route public egress through CloudFront, deploy VPC endpoints, and regularly audit with Storage Lens.
For teams already on AWS, optimizing within S3's tiers often delivers bigger net savings than migrating to a cheaper provider -- because the migration itself incurs egress costs, engineering time, and lost ecosystem integration. Start with the S3-native optimizations above. If your bill is still too high after that, consider a hybrid approach: keep compute-adjacent data on S3 and move delivery-heavy or archival data to Cloudflare R2 or Backblaze B2.
For the full comparison including all major providers, see our complete 2026 cloud storage pricing comparison. If your S3 bill exceeds $5,000/month and you have not optimized tiering and lifecycle policies, our cloud cost optimization team can typically cut 30-50% within 90 days through S3-native optimizations alone -- before even considering provider migration.
Further reading:

