Most data lakes keep everything in the hot tier because nobody set a lifecycle policy. Object storage tiers differ by more than 20x in price, and the retrieval trade offs are manageable.
Transfer Acceleration routes S3 traffic over the CloudFront edge network for a per-GB premium on top of normal transfer. Sometimes it is worth several times its price, and sometimes it does nothing at all.
S3 Glacier Instant Retrieval stores data at about $0.004 per GB, roughly a sixth of S3 Standard, while still giving millisecond access. Here is what it costs, where the retrieval fees bite, and when it beats Standard-IA and the slower Glacier tiers.
S3 replication looks like a checkbox but bills on four separate lines: destination storage, PUT requests, inter-region data transfer, and optional Replication Time Control. Here is how each is priced and how to keep replication from doubling your storage bill.
S3 versioning protects against overwrites and deletes, but every version is a full object billed at the full storage rate. Without lifecycle rules to expire noncurrent versions, a versioned bucket can store several times the data you think it does. Here is how to keep it in check.
S3 multipart upload is efficient for large files, but abandoned or failed uploads leave parts stored and billing forever, invisible in the normal object listing. Here is how the request and storage costs work, and the one lifecycle rule that stops the silent leak.
S3 has a genuine free tier for the first year, but requests, data transfer out, and storage class choices shape the bill the moment you outgrow it. Here is what the free tier covers and what actually drives S3 cost.
S3 Intelligent-Tiering moves objects between access tiers automatically based on usage, cutting storage cost for data with unknown or changing access patterns, for a small monitoring fee. Here is how it works and when to use it.
S3 lifecycle policies automatically transition objects to cheaper storage classes and expire them on a schedule, cutting storage cost for data with a known access pattern. Here is how to design policies that save without losing what you need.
S3 charges per request, not just per GB stored, so a workload making millions of small GET, PUT, or LIST calls can pay more for requests than for storage. Here is why it happens and how to cut request cost.
S3 offers storage classes from Standard to Glacier Deep Archive, trading storage price against retrieval cost and latency. Matching each object to the right class is a major cost lever. Here is how the classes compare.
S3 Glacier Flexible Retrieval, Glacier Instant Retrieval, and Glacier Deep Archive trade storage price against retrieval speed and cost. Deep Archive is the cheapest storage at around a dollar per TB per month. Here is how the cold tiers compare and when to use each.
S3 Express One Zone charges far higher storage (around $0.16/GB-month) but much lower per-request costs than S3 Standard, in a single AZ for low latency. For request-heavy, latency-sensitive workloads it can be cheaper overall. Here is the math.
S3 (~$0.023/GB) is cheapest, EBS (~$0.08) middle, EFS (~$0.30) priciest, but they're not interchangeable. Here's how to match the service to the access pattern and avoid paying 13x by using EFS where S3 would do.
PUT is $0.005/1K. GET is $0.0004/1K. For high-frequency small-object workloads, request fees can exceed storage fees by 100x. Here's the full request pricing matrix across all storage classes, when fees dominate, and the architectural patterns that keep them low.
Six S3 storage classes spanning 99x in per-GB price. Here's when Standard, Intelligent-Tiering, Standard-IA, One Zone-IA, Glacier Instant Retrieval, Glacier Flexible Retrieval, and Deep Archive each make sense, with lifecycle policy patterns.