Storage classes
Every S3 storage class, judged on the day you read the data
A US East class comparison with visible break-even arithmetic, minimum-duration gates, small-object overhead, restore latency, and the access pattern that makes each class the wrong choice.
Put your own numbers through the calculator to see what this meter does to a normal month and to the day you restore.
The crossover uses storage saved per month, not the storage rate alone
For the first 50 TB in US East, let f be the fraction of stored GB read in an average month. The byte-only comparison is cold monthly cost = cold storage rate + f x cold retrieval rate, while S3 Standard monthly cost = $0.023 per GB. Solve where the two costs are equal. Common internet egress cancels from this class-to-class crossover only when destination, account allowance, and monthly transfer volume are unchanged. [1] [2]
The result is valid only after the class's minimum storage duration is met. Delete, overwrite, move, or transition before that date can add the prorated storage remainder. Read-only restoration does not trigger that charge. Requests, temporary restored-copy storage, and egress remain separate restore meters. [2]
| Decision input | Treatment in the crossover | Why |
|---|---|---|
| Storage rate | Class rate for the first 50 TB in us-east-1 [1] | S3 Standard becomes cheaper in later graduated bands, so these breakpoints must be recomputed above 50 TB [1] |
| Retrieved bytes | f x stored GB x retrieval rate [1] | A 25% value for f means one quarter of the stored bytes are read during the month |
| Minimum duration | Retention must be at least 30, 90, or 180 days where the class requires it [2] | The access breakpoint does not erase an early deletion, overwrite, move, or transition remainder |
| Requests and object overhead | Excluded from the byte-only formula, then tested separately [1] [2] | Object count and object size can move the real crossover materially |
| Internet egress | Same class-independent S3 path cancels from the relative crossover [2] | It still belongs on the restore receipt and can dominate the final bill |
Every S3 class has a breakpoint or an explicit reason no price breakpoint exists
The table uses S3 Standard as the hot baseline because it keeps the comparison inside one provider, Region, unit system, and destination path. Break-even percentages are byte access per month, not a vendor workload label. A value above 100% means the byte meters can still favor the cheaper class after one full read per month, before request and temporary-copy charges. [1]
A class is still the wrong choice when its latency, object-size rule, availability model, or retention gate conflicts with the workload. Those conditions are not converted into fake dollar adjustments. [2] [3]
| Class | Storage and retrieval meters | Minimum and object rule | Break-even versus S3 Standard | Wrong access pattern | Source ref |
|---|---|---|---|---|---|
| S3 Standard | $0.023/GB-month; retrieval not charged | Minimum duration does not apply; minimum object size does not apply | does not apply; this is the hot baseline | Long-lived objects whose monthly reads stay below 105% of stored bytes and whose request and 128 KB billing shape fit Standard-IA | [1] [2] |
| S3 Standard-IA | $0.0125/GB-month + $0.01/GB retrieved | 30 days; 128 KB minimum billable object | ($0.023 - $0.0125) / $0.01 = 1.05, so 105% of stored bytes per month; 1.05 full reads during the 30-day minimum | More than 105% read per month, delete or overwrite before day 30, or many objects smaller than 128 KB | [1] [2] |
| S3 One Zone-IA | $0.01/GB-month + $0.01/GB retrieved | 30 days; 128 KB minimum billable object | ($0.023 - $0.01) / $0.01 = 1.30, so 130% of stored bytes per month; 1.30 full reads during the 30-day minimum | A backup whose restore must survive loss of the one Availability Zone, regardless of the apparent price crossover; also wrong for sub-30-day churn or many sub-128 KB objects | [1] [2] [3] |
| S3 Glacier Instant Retrieval | $0.004/GB-month + $0.03/GB retrieved | 90 days; 128 KB minimum billable object | ($0.023 - $0.004) / $0.03 = 0.6333, so 63.33% per month; 1.90 full reads during the 90-day minimum | More than 63.33% read per month, delete or overwrite before day 90, or request-heavy access to many sub-128 KB objects | [1] [2] |
| S3 Glacier Flexible Retrieval | $0.0036/GB-month; Expedited $0.03/GB, Standard $0.01/GB, Bulk not charged | 90 days; 40 KB metadata per archived object | Standard: ($0.023 - $0.0036) / $0.01 = 194%. Expedited: $0.0194 / $0.03 = 64.67%. Bulk retrieval has no byte-rate crossover | Unplanned or interactive reads that cannot wait 1-5 minutes, 3-5 hours, or 5-12 hours for the chosen mode; also wrong for many-small-file expedited restores or sub-90-day churn | [1] [2] |
| S3 Glacier Deep Archive | $0.00099/GB-month; Standard $0.02/GB, Bulk $0.0025/GB | 180 days; 40 KB metadata per archived object | Standard: ($0.023 - $0.00099) / $0.02 = 110.05%. Bulk: $0.02201 / $0.0025 = 880.40% | Reads that cannot wait up to 12 hours for Standard or up to 48 hours for Bulk, delete or overwrite before day 180, or restores dominated by many small objects | [1] [2] |
| S3 Intelligent-Tiering | Frequent $0.023, Infrequent $0.0125, Archive Instant $0.004, Archive $0.0036, Deep Archive $0.00099 per GB-month; $0.0025 per 1,000 objects-month monitoring | Aggregate minimum duration does not apply; objects under 128 KB do not auto-tier | conditional; at Infrequent Access, $0.0000025 monitoring per object / ($0.023 - $0.0125) savings per GB = 0.0002381 GB, or 238.1 KB per object. Frequent-only objects pay Standard storage plus monitoring and never win on price | Small or frequently accessed objects that remain in Frequent Access, especially eligible objects averaging below 238.1 KB at the Infrequent rate | [1] [2] |
| S3 Express One Zone | $0.11/GB-month + $0.0006/GB retrieved | Minimum duration does not apply; minimum object size does not apply | not comparable for a storage-savings decision; ($0.11 + $0.0006f) - $0.023 = $0.087 + $0.0006f, which stays above zero for every f at or above zero | Ordinary backup retention and restore access where the single-zone performance tier is not a hard requirement | [1] [4] [3] |
Small objects move the crossover before retrieved GB do
S3 Standard-IA, One Zone-IA, and Glacier Instant Retrieval bill each object as at least 128 KB. Glacier Flexible Retrieval and Deep Archive instead add 40 KB of metadata per archived object. Those are different overhead shapes and should not be collapsed into one minimum-size field. [2]
Restore requests are per object. A low per-GB retrieval rate does not protect a backup made of millions of tiny files from restore-request charges. [1]
| One-million-object example | Arithmetic | Decision consequence | Source ref |
|---|---|---|---|
| 10 KB objects in Standard-IA, One Zone-IA, or Glacier Instant | 1,000,000 x 10 KB = 10 GB logical; 1,000,000 x 128 KB = 128 GB billable | The storage meter sees 12.8 times the logical payload before retrieval begins | [2] |
| 10 KB objects in Glacier Flexible or Deep Archive | Payload 10 GB + (1,000,000 x 40 KB metadata) 40 GB = 50 GB of payload-plus-metadata capacity | Metadata is 80% of the combined capacity and four times the payload | [2] |
| Glacier Flexible Standard restore | 1,000,000 / 1,000 x $0.05 = $50.00 in restore requests; Expedited is $10,000.00; Bulk is not charged | Mode and object count can matter more than retrieved GB | [1] |
| Deep Archive restore | Standard: 1,000,000 / 1,000 x $0.10 = $100.00; Bulk: 1,000,000 / 1,000 x $0.025 = $25.00 | A many-small-file backup can lose much of its storage saving on the restore-request line | [1] |
| Intelligent-Tiering monitoring | 1,000,000 / 1,000 x $0.0025 = $2.50 per month | Objects that stay frequent add monitoring without receiving a lower storage rate | [1] |
Read-only restoration has no early-deletion line
Reading or restoring while keeping the archived source does not delete, overwrite, move, or transition it. The early-deletion meter is therefore does not apply for that read-only event. Minimum-duration charges belong only to a separate mutation before the class minimum. [2]
An archive restore can still charge retrieval bytes, restore requests, temporary S3 Standard copy storage for the selected availability period, and internet egress. An online infrequent-access read skips the temporary-copy step but still carries its retrieval, GET, and egress meters. [2] [5]
| Restore line | Online IA or instant class | Flexible or Deep Archive | Read-only early deletion state |
|---|---|---|---|
| Retrieval bytes | Class retrieval rate applies [1] | Chosen Expedited, Standard, or Bulk rate applies [1] | does not apply |
| Requests | GET or other read request [1] | Restore request plus later read requests as applicable [1] | does not apply |
| Temporary readable copy | does not apply for direct online reads [2] | S3 Standard storage for the selected number of days [5] | does not apply |
| Internet egress | Destination-aware S3 transfer schedule [2] | Destination-aware S3 transfer schedule [2] | does not apply |
| Minimum-duration remainder | does not apply unless a separate delete, overwrite, move, or transition occurs [2] | does not apply unless a separate delete, overwrite, move, or transition occurs [2] | does not apply |
Sources
Every figure above comes from one of these pages, on the date shown. Each numbered reference in the text links to its entry here. Vendors change prices; if a date looks old, check the source. Three vendors publish a machine-readable feed and the rest are re-checked by hand, which is why the dates are not uniform.
The source ledger5 sources
- 1AWS Price List API: Us east 1pricing.us-east-1.amazonaws.com · checked 2026-07-25 15:34:44+00:00
- 2Amazon Web Services: S3 pricingaws.amazon.com · checked 2026-07-25 15:34:44+00:00
- 3AWS documentation: Storage class introdocs.aws.amazon.com · checked 2026-07-25 15:34:44+00:00
- 4Amazon Web Servicesaws.amazon.com · checked 2026-07-25 15:34:44+00:00
- 5AWS documentation: Restoring objectsdocs.aws.amazon.com · checked 2026-07-25 15:34:44+00:00