AWS S3

Understand Amazon S3 object storage, including buckets, objects, keys, and storage classes used for backups, artifacts, and static content.

Amazon S3 is AWS’s object storage service. Instead of mounting a disk and writing files to folders, you store objects inside buckets and address them with keys. That design makes S3 ideal for artifacts, backups, logs, static assets, data lakes, and anything else that benefits from durability, simple APIs, and massive scale.

S3: Object Storage Structure

S3 Bucket
globally unique name
contains
Object (key + data + metadata)
max 5 TB per object
stored in storage class
S3 Standard
frequent access
S3-IA
infrequent access
S3 Glacier
archival

Lifecycle rules automate transitions between storage classes over time

A bucket is the top-level container, and its name must be globally unique across AWS. Inside the bucket, each object has a key, metadata, and content. Keys can look like folders such as logs/2026/07/app.log, but that path is only part of the object name. S3 does not behave like a traditional filesystem, which is important when designing upload, retention, and listing patterns.

Storage classBest use caseCost pattern
StandardFrequently accessed contentHighest storage cost, low access friction
Standard-IAInfrequently accessed data with fast retrievalLower storage, retrieval charges apply
One Zone-IANon-critical infrequent data in one AZCheaper, less resilient than multi-AZ classes
Glacier classesArchive and long-term retentionVery low storage, slower retrieval

DevOps teams use S3 constantly. CI pipelines store build artifacts there. Applications write logs or uploads to buckets. Infrastructure teams publish static websites or distribute configuration bundles from S3. Because it is API-driven and highly durable, S3 often becomes the default landing place for data before teams decide whether it belongs in a database, cache, or analytics platform.

Security and lifecycle management matter as much as storage itself. Block Public Access should stay enabled unless there is a deliberate reason to expose content. Versioning protects against accidental overwrites and deletes. Lifecycle rules can transition older objects into cheaper classes automatically, which helps keep long-running environments affordable.

Continue with AWS S3 Buckets, AWS S3 Permissions, and AWS S3 Versioning.

aws s3 ls
aws s3api list-buckets --query 'Buckets[].Name'
aws s3 ls s3://example-bucket

Operational note

S3 tends to become shared infrastructure quickly, so naming, ownership tags, encryption defaults, and lifecycle rules are worth standardizing early. Small governance choices prevent later confusion when dozens of applications depend on buckets for artifacts, logs, backups, and temporary data exchange. Recovery drills are useful too, especially when versioning or lifecycle retention is part of your safety model. Shared standards like this make future environments easier to launch, review, and support.

Exercise

S3 concepts

In Amazon S3, what is a bucket?

Exercise

Storage classes

Which S3 storage class family is designed for archive-style retention?

Continue Learning

Explore Related Topics

Related Resources