Amazon S3 User Guide
The official guide to Amazon S3, the object storage service most apps use for images, videos, uploads, backups and data files. Learn buckets, objects and keys, storage classes, access control and presigned URLs.
Guide
Other
Amazon Web Services
An evening for the basics
Beginner
Free
What Amazon S3 is
Amazon Simple Storage Service (S3) is object storage. Instead of rows and columns, you store objects (a file plus metadata) in buckets, and each object is found by its key, such as avatars/user-42.jpg. It is where most apps keep user uploads, images, videos, PDFs, backups and large data files, with the database storing only the key. Azure Blob Storage and Google Cloud Storage do the same job on the other clouds, and many providers offer S3-compatible APIs.
What the guide covers
- How S3 works: buckets, objects, keys, regions and versioning.
- Bucket types: general purpose buckets for most uses, directory buckets for low latency, table buckets for analytics tables in Apache Iceberg format, and vector buckets for storing and querying embeddings.
- Storage classes: S3 Standard for frequent access, Infrequent Access and Glacier classes for archives, and Intelligent-Tiering when you do not know the access pattern.
- Security: buckets are private by default, Block Public Access is on by default, and access is granted with IAM and bucket policies.
- Consistency: strong read-after-write consistency for writes and deletes, so a file you just uploaded is immediately readable.
- Uploads from apps: presigned URLs that let a browser or phone upload directly to S3 without the file passing through your server.
Is it worth learning?
Yes, for anyone building apps. "Do not store files in the database" is one of the most practical database lessons there is: a 5 MB photo in a table makes backups slow and queries heavy. Knowing object storage, presigned uploads and lifecycle rules also helps with data work, because data lakes are built on it.
Prerequisites and time
An AWS account and basic command-line comfort. An evening to create a bucket, upload with the CLI and an SDK, and generate a presigned URL.
Free or paid?
The documentation is free. S3 itself is pay as you go; new AWS customers can try it within the AWS Free Tier, whose terms change over time, so check the free tier page and set a billing alarm first.
Common mistake
Making a bucket public to "just get images working". Keep it private and use presigned URLs or a CDN in front instead.
Best for: backend, full-stack and mobile developers storing files, and anyone starting with cloud data.
Ready to start?
Opens on Amazon Web Services in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.