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
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 class | Best use case | Cost pattern |
|---|---|---|
| Standard | Frequently accessed content | Highest storage cost, low access friction |
| Standard-IA | Infrequently accessed data with fast retrieval | Lower storage, retrieval charges apply |
| One Zone-IA | Non-critical infrequent data in one AZ | Cheaper, less resilient than multi-AZ classes |
| Glacier classes | Archive and long-term retention | Very 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.
S3 concepts
In Amazon S3, what is a bucket?
Storage classes
Which S3 storage class family is designed for archive-style retention?