Skip to content

S3 Standard vs S3 Intelligent-Tiering

Both classes serve objects in milliseconds with eleven nines of durability across at least three Availability Zones. The difference is how they are billed and whether objects move.

A flat rate per GB with no minimum storage duration, no minimum billable object size and no monitoring fee.

Best for:

  • Data accessed several times a month
  • Objects smaller than 128 KB
  • Data stored for less than 30 days
  • Workloads where a predictable, easily modelled bill matters

Common uses: web content and assets served through a CDN, mobile and gaming backends, analytics inputs under active use, recent backups.

The same storage, plus a small monthly monitoring and automation fee per object, in exchange for automatic movement between access tiers. There are no retrieval fees.

Best for:

  • Data whose access pattern is unknown or changes over time
  • Long-lived data, held beyond 30 days
  • Objects larger than 128 KB
  • Any large dataset nobody has time to write lifecycle rules for

Common uses: data lakes, media libraries, user-generated content, long-lived application backups.

Three tiers operate automatically, and all three serve objects in milliseconds:

  1. Frequent Access — where objects land on upload.
  2. Infrequent Access — after 30 consecutive days without access.
  3. Archive Instant Access — after 90 consecutive days without access.

Two further tiers are optional and must be activated explicitly on the bucket configuration:

  • Archive Access — archives objects untouched for at least 90 days.
  • Deep Archive Access — archives objects untouched for at least 180 days.

The distinction is the one that matters in a design. Objects in the three automatic tiers are read normally, and an application cannot tell which tier an object is in. Objects in the two optional tiers must be restored with a RestoreObject call first, taking minutes to hours, and code that simply issues a GET will fail. Activate them only for data an application can genuinely fetch asynchronously.

Objects smaller than 128 KB are never monitored or moved, and stay in Frequent Access. Access moves an object straight back to Frequent Access, so there is no penalty for guessing wrong about a file that turns out to be hot.

Choose Standard when objects are small, held briefly, or read often enough that they would never leave the Frequent Access tier — in that case the monitoring fee buys nothing.

Choose Intelligent-Tiering when objects are larger than 128 KB, held for more than 30 days, and access is uncertain. The monitoring fee is small relative to the saving on data that goes cold, and being wrong costs nothing beyond that fee.

Where the access pattern is genuinely known — logs read for a week and never again, for example — a lifecycle rule transitioning to Standard-IA or a Glacier class is cheaper still, because it avoids the monitoring fee entirely. Intelligent-Tiering earns its place when the pattern is unpredictable, not when it is merely unexamined.