S3 Intelligent-Tiering cost has a shape most storage pricing does not: the saving is charged per gigabyte and the fee is charged per object. AWS bills $0.0025 per 1,000 objects a month to monitor them, in US East (N. Virginia). Work the two against each other and there is a break-even average object size AWS never publishes: roughly 250 KB for the Infrequent Access tier, nearly double the 128 KB cutoff at which AWS starts charging the fee.
What does S3 Intelligent-Tiering cost in each of its five access tiers?
Five storage rates and one per-object fee. The S3 FAQs describe the pricing as a set of aliases: "a Frequent Access tier priced at S3 Standard storage rates, an Infrequent Access tier priced at S3 Standard-Infrequent Access storage rates, and an Archive Instant Access tier priced at the S3 Glacier Instant Retrieval storage rates." We checked each alias against the rate the S3 pricing page publishes for the standalone class, and all four match exactly.
| Access tier | Rate, US East (N. Virginia) | Same rate as | Moves after |
|---|---|---|---|
| Frequent Access | $0.023 per GB-month, first 50 TB | S3 Standard, $0.023 | Default on upload |
| Infrequent Access | $0.0125 per GB-month | S3 Standard-IA, $0.0125 | 30 days of no access |
| Archive Instant Access | $0.004 per GB-month | S3 Glacier Instant Retrieval, $0.004 | 90 days of no access |
| Archive Access (opt-in) | $0.0036 per GB-month | S3 Glacier Flexible Retrieval, $0.0036 | Min 90 days, up to 730 |
| Deep Archive Access (opt-in) | $0.00099 per GB-month | S3 Glacier Deep Archive | Min 180 days, up to 730 |
| Monitoring and automation | $0.0025 per 1,000 objects a month | Nothing else in S3 | Charged from day one |
The first row is the one to sit with. The Frequent Access tier is priced identically to S3 Standard, so an object that keeps getting read never reaches a cheaper rate: for that object the storage class is S3 Standard plus a fee. The FAQ's "as little as $1 per TB per month" claim for the Deep Archive Access tier checks out at the other end, at $0.00099 times 1,024 GB.
How much is the S3 Intelligent-Tiering monitoring and automation charge?
$0.0000025 per object per month, which is $0.0025 per 1,000 objects, $2.50 per million objects a month and $30 per million a year. The pricing page states what it buys: "You pay a monthly monitoring and automation charge per object stored in the S3 Intelligent-Tiering storage class to monitor access patterns and move objects between access tiers."
On a bill it appears as the usage type Monitoring-Automation-INT.
The
S3 price list file for us-east-1
describes that SKU as "$0.0025 per 1,000 Objects per month in
Intelligent-Tiering". If you want to find it in your own data rather than take
ours, it is a line_item_usage_type filter away in the Cost and
Usage Report, which is
the level of detail Cost Explorer will not give you.
The fee is not a retrieval charge. The pricing page says "S3 Intelligent-Tiering standard and bulk data retrieval and restore requests are free of charge for all five access tiers: Frequent, Infrequent, Archive Instant, Archive, and Deep Archive access tiers." Nor is it a transition charge: moving between tiers inside the class is free, per the same page.
What average object size does S3 Intelligent-Tiering need to break even?
This is the number AWS does not publish, so we computed it from AWS's rates. Set the monthly cost of holding one object in Intelligent-Tiering equal to the cost of leaving it in S3 Standard, and solve for size. The arithmetic follows the pricing page's own binary convention, which it demonstrates in the S3 Tables example on that page: "S3 Tables storage charge: 1 TB (1,024 GB) * $0.0265/GB = $27.14". So a GB here is 1,048,576 KB.
| Tier the object reaches | Saving vs S3 Standard | Break-even object size | Verdict at 128 KB |
|---|---|---|---|
| Frequent Access | $0.00000 per GB-month | Never breaks even | Loses |
| Infrequent Access | $0.01050 per GB-month | 249.7 KB | Loses |
| Archive Instant Access | $0.01900 per GB-month | 138.0 KB | Loses |
| Archive Access (opt-in) | $0.01940 per GB-month | 150.5 KB | Loses |
| Deep Archive Access (opt-in) | $0.02201 per GB-month | 128.9 KB | Loses |
Hypothetical arithmetic on AWS's published rates, US East (N. Virginia), one object held for one month. The two opt-in rows include the 40 KB of per-object metadata AWS charges for archived objects, which produces the anomaly in the third column: the opt-in Archive Access tier has a worse break-even than the free Archive Instant Access tier above it, because that metadata is fixed per object and swamps the extra $0.0004 per GB it saves.
At bucket scale the same arithmetic decides whether the class earns its keep. Ten million objects, all successfully tiered to Infrequent Access:
| Average object size | Total stored | Monitoring a month | Tiering saving | Net |
|---|---|---|---|---|
| 64 KB | 610 GB | $0.00 | $0.00 | $0.00 |
| 128 KB | 1,221 GB | $25.00 | $12.82 | -$12.18 |
| 200 KB | 1,907 GB | $25.00 | $20.03 | -$4.97 |
| 250 KB | 2,384 GB | $25.00 | $25.03 | +$0.03 |
| 1 MB | 9,766 GB | $25.00 | $102.54 | +$77.54 |
| 8 MB | 78,125 GB | $25.00 | $820.31 | +$795.31 |
The 64 KB row is zero on both sides because nothing happens at all, which is the subject of the next section. Above 1 MB the monitoring fee is noise.
Is a 128 KB object too small for S3 Intelligent-Tiering to pay off?
Yes, in every tier. 128 KB is the size at which AWS starts charging the fee, not the size at which the fee pays for itself. The How S3 Intelligent-Tiering works page sets the cutoff: "If the size of an object is less than 128 KB, it is not monitored and is not eligible for automatic tiering. Smaller objects are always stored in the Frequent Access tier." The pricing page says the same from the billing side: those objects "will not be monitored and will always be charged at the Frequent Access tier rates, with no monitoring and automation charge."
So an object at 127 KB is free of the fee and costs exactly what S3 Standard costs. An object at 128 KB is monitored, charged $0.0000025 a month, and saves, once it reaches Infrequent Access, about $0.0000013. It is worse off than it was, by roughly $14.62 per million such objects per year. Even the deepest opt-in tier only just fails: a 128 KB object costs $0.000002827 a month in Deep Archive Access against $0.000002808 in S3 Standard.
The cutoff matches the 128 KB minimum billable object size used by the IA and Glacier Instant Retrieval classes, which is a different constraint with a different cause and is covered in that separate post. What it means here is that objects between 128 KB and roughly 250 KB are the band where Intelligent-Tiering is charged and does not pay.
Does S3 Intelligent-Tiering have a minimum storage duration or early delete fee?
The documentation says no, twice, and the price list says something else. This is the one place where two AWS sources do not line up, so here is both sides.
The FAQ is unambiguous: "No. The S3 Intelligent-Tiering storage class has no minimum storage duration." The storage class comparison table agrees, listing the minimum storage duration and minimum billable object size for Intelligent-Tiering as None, with the note "Monitoring and automation fees per object apply. No retrieval fees. Objects less than 128KB are not monitored and always stored in the Frequent Access tier."
The price list file for us-east-1 nonetheless carries a SKU with usage type
EarlyDelete-INT, effective 2026-08-01, whose fee description is
"Pro-rated fee for objects deleted before 30 days in Intelligent-Tiering
volume" and whose three price dimensions read "$0.023 per GB - first 50 TB /
month prorated for objects deleted or overwritten before 30 days in
Intelligent-Tiering" and the equivalents for the next 450 TB and over 500 TB.
Those are the Frequent Access rates, not archive rates.
AWS publishes its own tie-breaker for exactly this case. The
AWS Price List documentation
states: "The Price List Query API and Price List Bulk API provide pricing
details for informational purposes only." Where the file and a service pricing
page differ, it says, AWS charges the pricing page. The S3 pricing page says
nothing about an Intelligent-Tiering minimum duration; its minimum-duration
footnotes name only Standard-IA, One Zone-IA and the Glacier classes. Treat
the documented answer as the operative one. If you churn objects heavily,
still grep your own usage types for EarlyDelete-INT rather than
assume a SKU AWS published and dated six weeks ago is inert.
What do the optional Archive Access tiers add to an S3 Intelligent-Tiering bill?
Forty kilobytes per object, and a restore step. The pricing page footnote: "For each object archived to the Archive Access tier or Deep Archive Access tier in S3 Intelligent-Tiering, Amazon S3 uses 8 KB of storage for the name of the object and other metadata (billed at S3 Standard storage rates) and 32 KB of storage for index and related metadata (billed at S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive storage rates)."
The 8 KB billed at the S3 Standard rate is what pushed Archive Access above Archive Instant Access in the break-even table. It is the same 40 KB overhead the standalone Glacier storage classes carry, and it is the reason aggregating small objects beats archiving them individually.
AWS is also blunt about when to skip these tiers: "Only activate the Archive
Access tier for 90 days if you want to bypass the Archive Instant Access tier.
The Archive Access tier delivers slightly lower storage costs, with
minute-to-hour retrieval times." Both opt-in tiers require a
RestoreObject call before a read, per
Managing S3 Intelligent-Tiering,
which turns a millisecond GET into a three-to-five-hour wait for Archive Access
and twelve hours for Deep Archive Access. You scope them per bucket, prefix or
object tag with
PutBucketIntelligentTieringConfiguration,
so a prefix filter beats a whole bucket.
Does AWS measure every S3 Intelligent-Tiering savings claim from the same baseline?
No, and the four figures appear in a single FAQ answer. AWS writes that objects move to the Infrequent Access tier "to save up to 40% on storage costs", that "After 90 days consecutive days of no access, objects are moved to the Archive Instant Access tier to save up to 68% on storage costs", and that the opt-in tiers save "up to 71%" and "up to 95%". We recomputed each against both plausible baselines.
| Tier | AWS says | Measured from S3 Standard | Measured from Infrequent Access |
|---|---|---|---|
| Infrequent Access | up to 40% | 45.7% | n/a |
| Archive Instant Access | up to 68% | 82.6% | 68.0% |
| Archive Access | up to 71% | 84.3% | 71.2% |
| Deep Archive Access | up to 95% | 95.7% | 92.1% |
The 68% and 71% reproduce only from the Infrequent Access tier. The 95% reproduces only from S3 Standard. The 40% reproduces from neither and understates the actual drop of 45.7%. Nothing here is wrong, but the baseline moves mid-sentence, so the four numbers cannot be chained or compared. None of them net off the monitoring fee either, which is the whole subject of this post.
How do you check your average object size before enabling S3 Intelligent-Tiering?
Two free reads, and neither requires turning the storage class on. S3 Storage Lens already computes the figure the break-even table needs: its metrics documentation says the account snapshot "displays your total storage, object count, and average object size on the S3 console" Buckets page.
An average hides a bimodal distribution, and buckets are frequently bimodal: a few large artifacts and a long tail of tiny ones. For that, S3 Inventory writes a daily or weekly CSV, ORC or Parquet listing of every object and its size, which you can histogram. It doubles as the way to see where objects ended up: "You can use Amazon S3 Inventory to report the access tier of objects stored in the S3 Intelligent-Tiering storage class."
While you are in there, check for the two things that inflate object counts without inflating useful storage: incomplete multipart uploads, which no transition or expiration rule touches, and replicas in a destination bucket, which are separate objects and carry their own monitoring fee if the destination is also Intelligent-Tiering.
Is S3 Intelligent-Tiering worth it, and when is S3 Standard cheaper?
Worth it when the average object size is comfortably over 250 KB and the access pattern is genuinely unknown. Not worth it for a bucket of mostly small objects, and neutral below 128 KB, since those objects are excluded from both the fee and the tiering.
Three notes to finish. Get the data in by PUT rather than by lifecycle where
you can: a
lifecycle transition
into Intelligent-Tiering costs $0.01 per 1,000 objects, or $100 for ten
million, which is four months of monitoring on the same objects, while setting
x-amz-storage-class on the PUT costs the same $0.005 per 1,000 as
a PUT to S3 Standard. The fee is charged from day one, before any object has
tiered anywhere, so the class is cash-flow negative for its first 30 days by
construction. And the number to watch is the ratio of
Monitoring-Automation-INT to
TimedStorage-INT-IA-ByteHrs: if monitoring is the larger line,
the bucket has too many objects for the bytes it holds, and
whichever cost metric you view it in
will say so.