On this page
S3 (Simple Storage Service)
S3 is AWS's object storage service — you store files ("objects") in containers ("buckets") and address them by key. It is effectively infinite in capacity, designed for 99.999999999% (11 nines) durability, and nearly every AWS service integrates with it.
The Mental Model
S3 is not a filesystem. There are no real folders — the "path" is just a key
string like builds/2026/app-v1.2.3.zip, and the console renders / as
folders for convenience. Every object is addressed as bucket + key, and
operations are whole-object: you PUT and GET complete objects, you don't edit
bytes in place.
Bucket names are globally unique across all AWS accounts. Buckets live in one region; objects never leave that region unless you copy or replicate them.
Why It Matters for DOP-C02
On this exam S3 is rarely the headline topic — it's the substrate everything else runs on:
- CI/CD: CodePipeline stores artifacts in an S3 bucket; builds pull from and push to S3; CloudFormation templates must be in S3 for large deploys
- Logging: CloudTrail trails, VPC Flow Logs, ELB access logs, and Config snapshots all land in S3
- Eventing: S3 object events trigger Lambda, SQS, SNS, or EventBridge — the start of countless automation workflows
- DR: Cross-Region Replication is a building block for disaster recovery
Core Vocabulary
- Bucket — the container; region-scoped, globally unique name
- Object — the stored data + metadata; up to 5 TB
- Key — the full "path" that identifies an object within a bucket
- Prefix — the leading part of a key, used for filtering and organizing
- Version — with versioning enabled, each overwrite creates a new version instead of destroying the old one
What S3 Is Not
- Not a database — no queries, no partial updates (use DynamoDB/RDS)
- Not a filesystem for EC2 — you can't mount it like a disk (use EBS/EFS)
- Not a message queue — event notifications exist, but S3 doesn't hold work for consumers (use SQS)