S3 — your first object storage
Amazon S3 (Simple Storage Service) is the workhorse of the cloud: it stores files — logs, backups, build artifacts, static websites, Terraform state — durably and cheaply. It's almost always the first service anyone uses, and you'll meet it again later in this very platform (Terraform keeps its state in an S3 bucket).
The model is just two nouns:
- a bucket — a container with a globally unique name (
groundwork-data); - an object — a file stored in the bucket under a key (its path,
e.g.
hello.txtorlogs/2026/app.log).
You'll create a bucket, upload an object, and list it back — the read/write loop you repeat constantly. The three commands:
aws s3 mb s3://NAME— make bucket.aws s3 cp LOCAL s3://NAME/KEY— copy a file up (swap the order to download).aws s3 ls s3://NAME/— list the objects inside a bucket.
Build it up. Each step adds a line to the same script. This sandbox is fresh every run, so keep the earlier lines — the bucket has to exist before you can put a file in it. (In real AWS you'd create the bucket once and it would stick around.)
Create a bucket
S3 stores files ("objects") inside a "bucket" — a globally-named container. Make one
named groundwork-data with the mb (make bucket) command:
aws s3 mb s3://groundwork-data
The output make_bucket: groundwork-data confirms it.
Interview prep
S3 is the most-used AWS service; expect to be asked the basics.
What's the difference between a bucket and an object in S3?
A bucket is a globally-named container; an object is a file stored in it under a key (its path). You create the bucket once, then put/get/list objects within it. Bucket names are globally unique across all of AWS; object keys only need to be unique within their bucket.
Why does the sandbox re-create the bucket in every step?
Each run here is a fresh, throwaway environment (no state carries over), so the script re-makes the bucket before using it. In real AWS the bucket persists — you'd create it once. Re-running a create on an existing bucket is also why idempotency matters in infrastructure tooling.