S3 Cost Calculator Guide: Every Billing Dimension With Worked Examples for 2026
S3 looks like a simple service until the bill arrives. Most teams model storage costs and discover too late that requests, egress, retrieval fees, and minimum storage duration traps can each independently double the expected cost. This guide covers every S3 billing dimension with exact 2026 rates, the formulas to calculate each component, four worked scenarios from common real-world configurations, and the optimization moves that reduce each cost driver.
All rates: US East (N. Virginia), June 2026. Source: AWS official S3 pricing page (aws.amazon.com/s3/pricing/), verified against nubbo.app (May 2026), leanopstech.com (April 2026), and cloudburn.io (March 2026). Verify all rates before estimating — rates change.
See exactly what you’re overpaying across your full AWS bill in under 60 seconds. Try the Calculator for free →
The Six S3 Billing Dimensions
S3 bills separately for each of these six categories. Most cost calculators only show storage. All six are on your actual bill.
| Billing Dimension | What It Covers | Who Gets Surprised |
| Storage ($/GB/month) | GB stored in each storage class, billed per GB per month. | Everyone — this is expected. |
| Requests ($/1,000 requests) | PUT, COPY, POST, LIST, GET, SELECT operations. Each class has different rates. | Teams with high-frequency small operations (logs, thumbnails, APIs). |
| Data retrieval ($/GB retrieved) | Per-GB fee charged when reading data from IA and Glacier classes. | Teams that archive data and then retrieve it unexpectedly. |
| Data transfer / egress ($/GB) | Data transferred out to the internet or across regions. Same-region and CloudFront are free. | Public-facing apps serving S3 objects directly to users. |
| Management features ($/feature/month) | S3 Intelligent-Tiering monitoring ($0.0025/1,000 objects), S3 Inventory, Storage Lens advanced metrics. | Teams enabling Intelligent-Tiering on billions of tiny objects. |
| Replication ($/GB replicated) | Cross-region or same-region replication adds request charges (PUT) and data transfer charges per GB replicated. | Teams enabling S3 replication for DR without modeling the cost. |
Storage Class Rates: The Complete 2026 Table
The spread is massive: Standard at $0.023/GB is 23 times more expensive per GB than Glacier Deep Archive at $0.00099/GB. Getting data into the right class for its actual access pattern is the single highest-impact S3 cost action. Source: AWS official, cloudburn.io (March 2026).
| Storage Class | $/GB/month | Retrieval Fee | Min Duration | Best For |
| S3 Standard | $0.023 (first 50 TB)$0.022 (next 450 TB)$0.021 (500+ TB) | None | None | Frequently accessed data. Active application files, user uploads. |
| S3 Intelligent-Tiering | $0.023 (Frequent)$0.0125 (Infrequent)$0.004 (Archive Instant) | None (Frequent/IA/Archive Instant)Fees for Archive/Deep Archive tiers | None for Frequent/IA90+ days for Archive tiers | Unknown or variable access patterns. User-generated content. |
| S3 Standard-IA | $0.0125 | $0.01/GB | 30 days min | Infrequently accessed data you still need within milliseconds. Weekly backups. |
| S3 One Zone-IA | $0.01 | $0.01/GB | 30 days min | Non-critical, reproducible data. Secondary backups. Single AZ only — no redundancy. |
| S3 Glacier Instant Retrieval | $0.004 | $0.03/GB | 90 days min | Archive data accessed rarely but needing millisecond retrieval. Compliance records. |
| S3 Glacier Flexible Retrieval | $0.0036 | Bulk: free (5-12 hrs)Standard: $0.01/GB (3-5 hrs)Expedited: $0.03/GB (1-5 min) | 90 days min | Long-term archive with planned bulk retrieval. Annual compliance pulls. |
| S3 Glacier Deep Archive | $0.00099 | Standard: $0.02/GB (12 hrs)Bulk: $0.0025/GB (48 hrs) | 180 days min | 7-10 year compliance retention. Data accessed once per year or less. |
| S3 Express One Zone | $0.11 (5x Standard) | None | None | Sub-millisecond latency. Machine learning, HPC. Not for general storage. |
Source: AWS official S3 pricing page (aws.amazon.com/s3/pricing/), nubbo.app (May 2026 — data from AWS official May 12, 2026), leanopstech.com (April 2026). Verify at aws.amazon.com/s3/pricing/ — rates change. All rates US East (N. Virginia).
The Calculator Formula: How to Calculate Your S3 Bill
The full S3 monthly cost formula applies the same structure to every configuration. Work through each dimension in order to avoid missing a line item.
Step 1: Storage cost
For each storage class: GB stored x storage rate. Sum across all classes.
Example: 10,000 GB Standard + 2,000 GB Standard-IA + 500 GB Glacier Deep Archive:
(10,000 x $0.023) + (2,000 x $0.0125) + (500 x $0.00099) = $230 + $25 + $0.50 = $255.50/month storage.
Step 2: Request cost
Separate PUT/COPY/POST/LIST from GET requests. Multiply counts by the rate for the storage class of the destination bucket (PUT/COPY/POST/LIST) or source object (GET).
Standard PUT rate: $0.005/1,000. Standard GET rate: $0.0004/1,000. Source: AWS official and go-cloud.io (February 2026).
Example: 5 million PUT requests to Standard + 50 million GET requests from Standard:
(5,000,000 / 1,000 x $0.005) + (50,000,000 / 1,000 x $0.0004) = $25 + $20 = $45/month in requests.
Request rate multipliers by class: Standard-IA PUT = $0.01/1,000 (2x Standard). Glacier Instant Retrieval PUT = $0.02/1,000 (4x Standard). Glacier Deep Archive PUT = $0.05/1,000 (10x Standard). For workloads writing millions of small objects to Glacier classes, request costs can exceed storage costs.
Step 3: Retrieval cost
Only Standard-IA, One Zone-IA, and Glacier classes charge per-GB retrieval fees. Standard and Intelligent-Tiering (for Frequent/Infrequent/Archive Instant tiers) have no retrieval charges.
Retrieval fees apply per GB of data returned: Standard-IA: $0.01/GB. Glacier Instant: $0.03/GB. Glacier Flexible Standard: $0.01/GB. Glacier Deep Archive Standard: $0.02/GB.
Example: retrieving 100 GB from Standard-IA + 50 GB from Glacier Deep Archive Standard retrieval:
(100 x $0.01) + (50 x $0.02) = $1.00 + $1.00 = $2.00 retrieval. Retrieval is cheap at low volumes. Retrieving 1 TB from Glacier Instant: 1,000 x $0.03 = $30. Retrieving 10 TB from Glacier Instant for an unexpected restore: $300 in retrieval alone.
Step 4: Egress cost
Data transferred out of S3 to the internet is billed in tiers. The first 100 GB/month is free (aggregated across all AWS services). After that: $0.09/GB for the first 10 TB, $0.085/GB for the next 40 TB, $0.07/GB for the next 100 TB, $0.05/GB above 150 TB. Source: AWS official, go-cloud.io (February 2026).
S3 to CloudFront: FREE — no volume cap. This is the most important egress optimization for public-facing workloads. S3 to EC2 or Lambda in the same region: FREE (no data transfer charges within same AWS region for S3 to EC2). S3 to another AWS region: standard cross-region transfer rates apply. Source: AWS official and cloudburn.io.
Example: 5 TB/month egressed to the internet directly from S3:
First 100 GB free. Remaining 4,900 GB x $0.09 = $441/month in egress.
Same 5 TB through CloudFront: $0 in S3 egress charges (CloudFront has its own lower transfer rates).
Step 5: Intelligent-Tiering monitoring fee (if applicable)
Intelligent-Tiering charges $0.0025 per 1,000 objects monitored per month, regardless of object size. Objects under 128 KB never auto-tier — they remain in the Frequent Access tier permanently while still paying the monitoring fee. Source: AWS official S3 pricing page.
Example: 50 million objects in Intelligent-Tiering:
50,000,000 / 1,000 x $0.0025 = $125/month in monitoring fees.
At 50 million objects where average access is infrequent, Intelligent-Tiering might save 40% on storage (from $0.023 to $0.0125/GB) while adding $125/month in monitoring. For a 5 TB bucket with 50 million objects: Standard storage $115/month. Intelligent-Tiering Infrequent tier storage $62.50/month. Monitoring $125/month. Net: Intelligent-Tiering is $72.50/month MORE expensive for this scenario. For buckets with many small objects, Intelligent-Tiering is often the wrong choice.
Intelligent-Tiering rule of thumb: beneficial when average object size exceeds 128 KB AND objects are accessed unpredictably. For log files, thumbnails, or any data with predictable lifecycle patterns, explicit lifecycle policies outperform Intelligent-Tiering. The monitoring fee scales with object count, not data volume. Source: AWS official S3 pricing page notes on Intelligent-Tiering minimum size.
Minimum Duration Traps: The Early Deletion Fee
Standard-IA, One Zone-IA, Glacier Instant, Glacier Flexible, and Glacier Deep Archive all have minimum storage duration requirements. If you delete, overwrite, or transition an object before the minimum duration, AWS charges a pro-rated fee for the remaining minimum period. Source: AWS official S3 pricing page.
Minimums: Standard-IA and One Zone-IA: 30 days. Glacier Instant and Flexible: 90 days. Glacier Deep Archive: 180 days.
Practical trap: a lifecycle policy that transitions objects from Standard to Glacier Deep Archive on Day 1 — because someone enabled a policy before objects accumulated 180 days of age — causes every deleted object before Day 180 to incur a charge equal to the remaining days at the Glacier Deep Archive rate. For 1 million objects at 128 KB each deleted on Day 30: 150 remaining days of 180-day minimum = (150/180) x 1,000,000 x 128 KB x $0.00099 / (1,024 MB/GB) = $8.18 in early deletion charges. At large scale with millions of objects, this adds up.
Lifecycle policy design rule: never set lifecycle transitions shorter than the target class minimum duration. Standard-IA transitions belong at 30+ days. Glacier transitions belong at 90+ days. Deep Archive transitions belong at 180+ days. Set transitions at exactly the minimum or longer, and set deletion rules to fire only after the full minimum period has elapsed. Source: derived from AWS official minimum duration rules.

Glacier Archive Metadata Overhead for Small Files
Glacier Flexible Retrieval and Glacier Deep Archive both charge for 40 KB of metadata overhead per archived object: 8 KB at S3 Standard rates and 32 KB at the Glacier rate. This overhead is charged regardless of the object’s actual size. Source: AWS official S3 pricing page.
For workloads archiving many small files (logs, thumbnails, IoT sensor readings), this metadata overhead can exceed the actual storage cost. Example: archiving 1 million objects averaging 5 KB each to Glacier Deep Archive:
Actual data: 1,000,000 x 5 KB = 4,882 GB. At $0.00099/GB: $4.83/month.
Metadata overhead: 1,000,000 x 40 KB = 39,063 GB (8 KB at $0.023 Standard + 32 KB at $0.00099 Glacier per object). 8 KB metadata: 7,813 GB x $0.023 = $179.70/month. 32 KB metadata: 31,250 GB x $0.00099 = $30.94/month. Total metadata: $210.64/month.
Result: the metadata overhead ($210.64) is 43x the actual data storage cost ($4.83) for this small-object workload. For millions of small files, Glacier archival is nearly always more expensive than keeping data in Standard-IA. The mitigation: concatenate or zip small files into larger archives before transitioning to Glacier. Source: nubbo.app (May 2026) citing AWS official.
Also read: AWS Database Savings Plans: the commitment discount parallel for managed database services
Four Worked Examples: What S3 Actually Costs
All rates: US East, June 2026. Verify current rates at aws.amazon.com/s3/pricing/.
Example 1: SaaS Application with User Uploads
Profile: 10 TB of user-uploaded content (images, documents), 20 TB total data with backups. 8 TB active application data in Standard, 1.5 TB weekly backups in Standard-IA, 0.5 TB compliance records in Glacier Deep Archive. Request volume: 5M PUTs, 50M GETs per month. Egress: 2 TB/month to internet directly.
Storage: (8,192 GB x $0.023) + (1,536 GB x $0.0125) + (512 GB x $0.00099) = $188.42 + $19.20 + $0.51 = $208.13.
Requests: (5M / 1,000 x $0.005) + (50M / 1,000 x $0.0004) = $25 + $20 = $45.
Egress: 100 GB free + 1,948 GB x $0.09 = $175.32.
Total: approximately $428/month. Source: calculation from verified rates.
Optimization: route egress through CloudFront instead of direct S3. Egress charges drop to $0. CloudFront has its own lower transfer rates ($0.0085/GB at 10-50 TB/month). New total: approximately $253/month. Saving: $175/month = $2,100/year.
Example 2: Log Archive Bucket (Millions of Small Objects)
Profile: 500,000 log files per day, averaging 50 KB each. 30 days in Standard, then lifecycle to Glacier Deep Archive. After 1 year: 182.5 million objects stored, 9,125 GB total data, all in Glacier Deep Archive.
Storage (actual data): 9,125 GB x $0.00099 = $9.03/month. At first glance: cheap.
Metadata overhead: 182,500,000 objects x 40 KB = 7,324,219 GB equivalent. 8 KB at Standard: 1,430,664 GB x $0.023 = $32,905/month. 32 KB at Glacier: 5,722,656 GB x $0.00099 = $5,665/month. Total metadata: $38,570/month.
This is a $38,570/month Glacier bill for $9.03/month of actual data. The mitigation: gzip and concatenate logs into daily archives before transition. 182.5M files at 50 KB each, concatenated into daily files averaging 25 GB each: 365 objects total. Metadata overhead: 365 objects x 40 KB is negligible. Monthly cost drops to approximately $9.03 + negligible metadata + PUT charges.
Log archival rule: never send individual small log files to Glacier. Always concatenate into daily or weekly archives before lifecycle transition. The 40 KB metadata overhead per object penalizes small-file archival severely. Source: nubbo.app (May 2026) and derived from AWS official metadata overhead documentation.
Example 3: Analytics Data Lake (100 TB at Scale)
Profile: analytics team storing 100 TB of data. 20 TB actively queried via Athena (Standard), 30 TB queried monthly (Standard-IA), 50 TB quarterly (Glacier Instant Retrieval). 10 TB/month egressed for reporting. High request volume: 100M GET requests/month on Standard data.
Storage: (20,480 GB x $0.023) + (30,720 GB x $0.0125) + (51,200 GB x $0.004) = $471 + $384 + $204.80 = $1,059.80.
Requests: 100M / 1,000 x $0.0004 (Standard GET) = $40. Plus Athena scan charges (separate from S3): not included here.
Retrieval (30 TB Standard-IA monthly queries): 30,720 GB x $0.01 = $307.20.
Retrieval (quarterly Glacier Instant, 50 TB / 3 months = ~17 TB/month): 17,067 GB x $0.03 = $512.
Egress: 100 GB free + 9,924 GB x $0.09 = $893.16.
Total: approximately $2,812/month. Source: calculation from verified rates.
Optimization: replace Standard-IA retrieval with Intelligent-Tiering for the 30 TB monthly-query dataset. No retrieval fees on Intelligent-Tiering Infrequent Access tier. Storage cost slight increase ($0.0125 vs $0.0125 — same rate, but now no $307.20 retrieval fee). Net saving: approximately $307/month = $3,684/year.
Example 4: Media Storage (Video Files, Direct Egress)
Profile: video platform storing 50 TB of video content in Standard, serving 20 TB/month egress directly to users from S3. 10M PUTs/month (new uploads) + 100M GETs/month.
Storage: 51,200 GB x $0.023 = $1,177.60.
Requests: (10M / 1,000 x $0.005) + (100M / 1,000 x $0.0004) = $50 + $40 = $90.
Egress (direct S3 to internet, 20 TB): 100 GB free. First 10 TB: 10,140 GB x $0.09 = $912.60. Next 9.9 TB: 10,137 GB x $0.085 = $861.65. Total egress: $1,774.25.
Total: approximately $3,042/month. Egress is 58% of the bill. Source: calculation from verified rates.
Optimization: serve all video through CloudFront instead of direct S3. S3-to-CloudFront egress: $0. CloudFront serves to users at $0.0085/GB (10-50 TB tier) for 20 TB: $170/month. New total: approximately $1,438/month. Saving: $1,604/month = $19,248/year. Source: CloudFront pricing from AWS official.

Five High-Impact S3 Cost Optimization Strategies
Strategy 1: Lifecycle Policies for Predictable Data Patterns
Lifecycle policies automatically transition objects between storage classes based on age. For any data with a predictable retention pattern — logs, backups, build artifacts, access logs — explicit lifecycle rules outperform Intelligent-Tiering on cost.
Recommended baseline lifecycle for log data: Standard (0-30 days) to Standard-IA (30-90 days) to Glacier Instant Retrieval (90-365 days) to Glacier Deep Archive (365+ days) to deletion at 2,190 days (6 years).
Cost saving on 1 TB of log data with this lifecycle after 12 months: Standard all year = 1,024 GB x $0.023 x 12 = $282.62. With lifecycle: first 30 days Standard = $23.55. Days 30-90 Standard-IA = $11.78. Days 90-365 Glacier Instant = $11.27. Days 365+ Glacier Deep Archive (ongoing) = $1.02/month. Approximate year 1 total: $55/year vs $283/year. Saving: approximately 81%.
Implementation: go to S3 bucket, Properties, Lifecycle rules, Create lifecycle rule, specify the transitions. Use object tag filters to apply different rules to different data types within the same bucket.
Also read: 10 Strategies to Reduce AWS Cloud Costs, Ranked by Savings Impact
Strategy 2: Intelligent-Tiering for Unknown Access Patterns
Intelligent-Tiering is the correct choice when you cannot predict access patterns — user-generated content, research data, archival repositories where requests are event-driven rather than scheduled.
Configuration: enable Intelligent-Tiering as the storage class, then enable the optional Archive Access tier (90+ day threshold) and Deep Archive Access tier (180+ day threshold) for maximum savings on dormant data. The Archive Access tier is opt-in — without enabling it, Intelligent-Tiering only transitions to the Archive Instant Access tier at $0.004/GB.
When NOT to use Intelligent-Tiering: buckets with millions of objects under 128 KB (monitoring fee exceeds savings), data with predictable lifecycle patterns (explicit lifecycle rules are cheaper), short-lived data that will be deleted within 30 days (no tiering opportunity).
Strategy 3: Route Public Egress Through CloudFront
S3 direct internet egress costs $0.09/GB. S3 to CloudFront: $0. CloudFront to internet (origin requests included): typically $0.0085/GB at 10-50 TB/month tier for US East. The saving is $0.09 – $0.0085 = $0.0815/GB — a 91% egress cost reduction for publicly served content. Source: AWS official CloudFront pricing and S3 pricing.
For any S3 bucket serving content to internet users — static websites, image hosting, video delivery, file downloads — routing through CloudFront is the single highest-impact egress optimization. Additional benefits: improved latency (edge caching), DDoS protection (WAF integration), and SSL/TLS termination at edge.
Strategy 4: Enable S3 VPC Gateway Endpoints for AWS-Internal Access
When EC2 instances, Lambda functions, or ECS tasks access S3 within the same region, traffic can route through a VPC Gateway Endpoint instead of via the NAT Gateway or internet. VPC Gateway Endpoints for S3: free to create and free to use. This eliminates NAT Gateway data processing charges ($0.045/GB) on all S3 traffic routed through the gateway endpoint. Source: AWS official VPC pricing.
For a service processing 1 TB/day of S3 data through a NAT Gateway: 1,024 GB x $0.045 = $46.08/day = $1,382/month in NAT Gateway processing charges eliminated by a gateway endpoint that takes 5 minutes to configure.
Strategy 5: Delete Orphaned Objects and Old Versions
S3 versioning, while useful for data protection, silently accumulates storage costs. Every overwrite of a versioned object creates a new version — all previous versions remain and bill at the storage class rate. Without lifecycle rules that expire non-current versions, a heavily updated bucket can accumulate 10x the expected storage volume in old versions.
Fix: add a lifecycle rule to expire non-current versions after 30-90 days. Navigation: S3 bucket, Management, Lifecycle rules, Create rule, Filter: All objects, Actions: Permanently delete previous object versions, Days after objects become previous versions: 30.
The S3 Cost Calculator Worksheet
Use this worksheet to calculate your expected monthly S3 cost for any configuration. Fill in your actual values where the examples show sample numbers.
| Line Item | Your Value | Rate (June 2026) | Monthly Cost |
| Standard storage (GB) | _______GB | $0.023/GB | $______ |
| Standard-IA storage (GB) | _______GB | $0.0125/GB | $______ |
| Glacier Instant Retrieval (GB) | _______GB | $0.004/GB | $______ |
| Glacier Deep Archive (GB) | _______GB | $0.00099/GB | $______ |
| PUT/POST/LIST requests (thousands) | _______K | $0.005/1K (Standard) | $______ |
| GET requests (thousands) | _______K | $0.0004/1K (Standard) | $______ |
| Data retrieved from IA/Glacier (GB) | _______GB | $0.01-$0.03/GB | $______ |
| Internet egress (GB, after 100 GB free) | _______GB | $0.09/GB (first 10 TB) | $______ |
| Intelligent-Tiering objects (thousands) | _______K | $0.0025/1K objects | $______ |
| TOTAL | $______ |
Verify all rates at aws.amazon.com/s3/pricing/ before finalizing estimates — rates change. Use the AWS Pricing Calculator (calculator.aws.amazon.com) for automated multi-tier calculations. Source: rates from AWS official S3 pricing page, verified June 2026.
See exactly what you’re overpaying across your full AWS bill in under 60 seconds. Try the Calculator for free →
How Usage.ai Surfaces S3 Cost Optimization Opportunities
Usage.ai analyzes S3 spend from your AWS Cost and Usage Report and surfaces three primary optimization signals: buckets with significant data in Standard storage where CloudWatch access patterns show low or no access over the past 30+ days (lifecycle policy opportunity); buckets serving high egress volumes to the internet without a CloudFront distribution in front (CloudFront routing opportunity); and Intelligent-Tiering configurations on buckets with millions of objects under 128 KB where the monitoring fee is exceeding the tiering savings.
For lifecycle policy recommendations: Usage.ai uses S3 Storage Lens access pattern data from your billing report to identify the specific GB breakdown per storage class and flag buckets where the majority of data has not been accessed recently. The recommendation includes the exact projected monthly saving from applying a Standard to IA to Glacier lifecycle policy.
For egress recommendations: Usage.ai identifies S3 buckets with high ‘Data Transfer – Out to Internet’ line items in the CUR and checks whether a CloudFront distribution exists serving that bucket. If not, the saving from adding a CloudFront distribution is calculated and surfaced with the estimated monthly reduction.
Usage.ai’s fee model: percentage of realized savings only. $0 if Usage.ai saves nothing. 30-minute setup, billing-layer access only. Named customers include Motive, EVGo (NASDAQ: EVGO), Blank Street Coffee, and Secureframe.
Start your free S3 and full AWS cost analysis with Usage.ai
Frequently Asked Questions
How do you calculate S3 costs?
S3 monthly cost = storage cost + request cost + retrieval cost + egress cost + management feature cost. Storage: GB stored per class x $/GB/month. Requests: count by type / 1,000 x $/1,000. Retrieval: GB retrieved from IA/Glacier x $/GB. Egress: GB to internet x tiered rate (first 100 GB free, then $0.09/GB for first 10 TB). Management: Intelligent-Tiering objects / 1,000 x $0.0025/month. Use the AWS Pricing Calculator (calculator.aws.amazon.com) to automate this across multiple classes. All rates: US East, June 2026, verify at aws.amazon.com/s3/pricing/.
How much does S3 cost per GB?
Depends entirely on the storage class (US East, June 2026). S3 Standard: $0.023/GB (first 50 TB), $0.022 (50-500 TB), $0.021 (500+ TB). Standard-IA: $0.0125/GB. Glacier Instant Retrieval: $0.004/GB. Glacier Flexible: $0.0036/GB. Glacier Deep Archive: $0.00099/GB. Standard costs 23x more than Deep Archive. Most teams reduce storage costs 30-80% by tiering data into lower-cost classes appropriate for their access patterns. Source: AWS official S3 pricing page.
What is the cheapest S3 storage class?
Glacier Deep Archive at $0.00099/GB/month is the lowest storage rate. At 180-day minimum storage duration with 12-48 hour retrieval times, it is designed for data accessed once or twice a year at most — compliance records, long-term backups, and archival data. 1 TB in Glacier Deep Archive: $1.01/month. 1 TB in S3 Standard: $23.55/month. The 23x difference compounds at petabyte scale. Source: AWS official S3 pricing page.
Does S3 charge for data transfer in?
No. Data uploaded to S3 from any source (internet, EC2, Lambda, other services) is free. There is no inbound data transfer charge. Egress charges apply to data transferred out to the internet. Data transferred from S3 to EC2, Lambda, or other AWS services in the same region is free. Cross-region S3 replication and S3-to-internet egress are charged. Source: AWS official S3 pricing page.
Is S3 Intelligent-Tiering worth it?
For objects over 128 KB with unpredictable access patterns: yes, typically saves 25-40%. For buckets with millions of small objects under 128 KB: no — the $0.0025/1,000 object monitoring fee exceeds the tiering savings because sub-128 KB objects never auto-tier. For data with predictable lifecycle patterns (logs, backups with known retention): no — explicit lifecycle rules are cheaper and more controllable. The monitoring fee is the key variable: at 50 million objects, monitoring costs $125/month regardless of tiering savings. Source: AWS official, go-cloud.io (February 2026).
Why is my S3 bill higher than expected?
The four most common S3 bill surprises: (1) Egress charges — direct S3 to internet egress at $0.09/GB accumulates fast for content-serving workloads; fix by routing through CloudFront. (2) Retrieval fees — retrieving data from Standard-IA ($0.01/GB) or Glacier ($0.02-$0.03/GB) adds a variable per-GB charge not visible in storage pricing; fix by using Intelligent-Tiering for unpredictably accessed archived data. (3) Old object versions — S3 versioning stores every overwrite; fix by adding non-current version expiration lifecycle rules. (4) Small-object Glacier archival — the 40 KB per-object metadata overhead can exceed actual data storage cost for millions of tiny files; fix by concatenating files before archiving. Source: go-cloud.io, nubbo.app, AWS official.