dataonaws
— Stack · Data

Amazon S3

The storage layer under a data platform. Everything writes to it and reads from it, and the bill comes less from how much you store than from how you store it and how often you touch it.

How it fits

Data lands in S3. Compute reads it in place.

Ingeststreams, batch, appsPUT / COPYlifecycleAMAZON S3Buckets + prefixeslayout drives request scalingStorage classesStandard to GlacierObjects, billed per GB-month by classSSE-S3 encryption on by default, no extra costBlock Public Access · policies · access pointsAthena, Spark, RedshiftGlue catalog + ETLLakehouse tablesquery the lake in placeaccess logs + metrics → CloudTrail, CloudWatch, S3 Storage Lens
Where the storage line goes

Same object, different price by class.

Hot

S3 Standard

For data read often. About $0.023 per GB-month, no retrieval fee. The default, and the right home for active tables.

Unknown pattern

Intelligent-Tiering

Moves objects between tiers by access, no retrieval fee. A small per-object monitoring charge; auto-tiering only applies at 128 KB and up.

Cold

Standard-IA, Glacier

Cheaper to store, from about $0.00099 per GB-month on Deep Archive, but you pay per GB to read and wait on the Glacier tiers.

Prices for US East (N. Virginia), check the current price for your region.

The three choices that matter

Most of the bill and the risk comes from here.

01

Object size and request count

PUT is about $0.005 per 1,000 and GET about $0.0004 per 1,000. Millions of tiny files cost more in requests than in storage; compact them.

02

KMS encryption and Bucket Keys

SSE-KMS adds a KMS request on each object access. S3 Bucket Keys cut that KMS traffic by up to 99%; turn them on when you choose KMS.

03

Prefix layout and partitioning

Request rate scales per prefix with no cap on prefixes. Partitioning the layout spreads load and lets query engines skip data they don't need.

Request-volume bars are illustrative shapes, not measured figures. Prices for US East (N. Virginia).

What you pay

An S3 bill, in one line.

Storage
GB-month × class
Per class; cold classes store cheap but cost per GB to read
+
Requests
per 1,000 calls
PUT, GET, LIST; tiny files make this the surprise line
+
Encryption
KMS requests
Only with SSE-KMS; Bucket Keys cut it sharply
+
Transfer + features
GB out, versioning
Egress to internet, plus kept object versions
What we see in production
Millions of tiny objects behind a cheap storage line.Request and per-object costs dwarf storage. Compact small files before they pile up.
SSE-KMS on a hot bucket without Bucket Keys.Every read is a KMS call. Enabling Bucket Keys is usually the first saving.
Versioning left on with no lifecycle rule.Old versions keep billing as storage. Expire or transition them on a schedule.
How we help

Build & optimize your data platform on AWS

State of the art, costs under control. Most bills grow with habits, not with data.

Read the approach →
PDF · coming soon

The one-page Amazon S3 field guide.

Best practices, cost traps and performance checks, in the order you should run them. Printable, no fluff.

One email when the PDF is ready. Nothing else unless you tick the box.