AWS S3 pricing has three components: storage (per-GB-month by storage class), requests (per-1000 PUT/COPY/POST/LIST/GET), and data transfer (free inbound, $0.09/GB outbound to internet, lower within AWS). The AWS Pricing Calculator lets you model these; the team that runs a workload model before launch has accurate cost projections. The team that waits for the first bill is surprised by request costs or data transfer.
Table of contents
- Storage pricing by class
- Request pricing
- Data transfer pricing
- Other S3 charges
- Using the AWS Pricing Calculator
- Cost optimization
- FAQ
Storage pricing by class
S3 storage classes (us-east-1 pricing, similar elsewhere):
| Class | $/GB/month | Notes |
|---|---|---|
| S3 Standard | $0.023 | Frequent access |
| S3 Intelligent-Tiering | $0.023 + monitoring | Auto-tiering |
| S3 Standard-IA | $0.0125 | 30-day min, 30-day retrieval fee |
| S3 One Zone-IA | $0.01 | Single AZ, lost if AZ fails |
| S3 Glacier Instant | $0.004 | Millisecond retrieval |
| S3 Glacier Flexible | $0.0036 | Minutes-hours retrieval |
| S3 Glacier Deep Archive | $0.00099 | Hours-days retrieval |
For 1TB stored in Standard: $23/month. Same in Glacier Deep Archive: $1/month. The team that picks the right class for access patterns saves significantly.
Request pricing
S3 charges per request:
- PUT, COPY, POST, LIST: $0.005 per 1000 requests.
- GET, SELECT, and all other: $0.0004 per 1000 requests.
For an application doing 10 million PUTs/month: $50/month in request charges. For 100 million GETs/month: $40/month.
The team that has high request volume (REST APIs backed by S3, log ingestion) sees request costs dominate. The team that uses S3 primarily for static asset serving has storage as the main cost.
Data transfer pricing
S3 data transfer:
- Inbound (uploads to S3): Free.
- Outbound to internet: $0.09/GB for first 10TB/month, lower tiers above.
- To CloudFront: Free (covers CloudFront’s data transfer).
- To EC2 in same region: Free.
- Cross-region replication: $0.02/GB.
For 1TB/month served to users: $90/month in transfer costs.
The team that puts CloudFront in front of S3 reduces this cost (CloudFront’s edge cache means most requests don’t hit S3). The team that serves directly from S3 pays full transfer cost.
Other S3 charges
- S3 Intelligent-Tiering monitoring: $0.0025 per 1000 objects monitored.
- S3 Inventory: $0.0025 per million objects listed.
- S3 Analytics: $0.10 per million objects monitored per month.
- S3 Object Lambda: $0.0000166 per GB-second of compute.
- S3 Replication Time Control: $0.015 per GB replicated.
- Requester Pays: Free for the bucket owner, charged to requester.
These add up for large buckets with many features enabled.
Using the AWS Pricing Calculator
Steps:
- Go to https://calculator.aws/
- Click ‘Create estimate’.
- Search for ‘S3’ and add it.
- Fill in:
- Storage class (Standard, IA, etc.).
- Storage amount (GB).
- PUT/COPY/POST/LIST request count.
- GET/SELECT request count.
- Data transfer out (GB).
- Add other services (EC2, CloudFront, etc.).
- The estimate shows monthly cost.
The team that runs the calculator before launch has a cost projection within 10-20% of actual. The team that just launches gets surprises.
Cost optimization
Beyond tiering:
- Lifecycle policies: Auto-move objects to cheaper classes after N days.
- Intelligent-Tiering: Auto-move based on access patterns. Best for unpredictable access.
- Compression: Smaller objects = less storage. gzip, zstd for compressible data.
- Deduplication: Avoid storing the same file multiple times.
- S3 Storage Lens: Free analytics across all buckets for optimization opportunities.
The team that sets lifecycle policies on day one has predictable costs. The team that turns them on after seeing a spike has already paid.
FAQ
How much does S3 cost per GB?
$0.023/GB/month for S3 Standard in us-east-1 (varies by region). For 1TB stored: $23/month. For Glacier Deep Archive: $0.00099/GB/month.
What is the cheapest S3 storage class?
Glacier Deep Archive at $0.00099/GB/month. Trade-off: 12+ hour retrieval time. The team that archives old data uses this.
Does CloudFront reduce S3 costs?
Yes - data transfer from S3 to CloudFront is free, and CloudFront’s edge cache reduces origin requests. The team that serves static assets via CloudFront pays less than serving directly from S3.
How accurate is the AWS Pricing Calculator?
Within 10-20% for typical workloads. Request count and data transfer are the main variables - hard to predict exactly. The team that uses the calculator as a rough estimate is correct.
What is S3 Intelligent-Tiering?
Automatic tiering based on access patterns. Moves objects between frequent/infrequent/archive tiers without retrieval fees. $0.0025 per 1000 objects monitored. The team that has unpredictable access patterns uses this.
If you are sizing the infrastructure for the kind of project this post covers, the RunxBuild hosting calculator is the right place to model the line items. The compute, the memory, the storage, the bandwidth, the database - each one is a separate number, and the team’s mental model for the platform is the sum of those numbers. The RunxBuild dashboard is where the team sees the actual usage in one place.
Useful related references: