Day 13: AWS - S3


I Finally Opened the S3 Console – And It’s a Whole New World
Okay, so after playing around with EC2, EBS, and EFS, I kept hearing about this one service over and over — S3.
People say, “store it in S3,” “just push it to S3,” “S3 is where everything lives on AWS.”
So today, I finally gave in and decided to get my hands dirty with it.
And... I think I get the hype now.
So... What Even is S3?
This isn’t a disk. This isn’t a folder. S3 doesn’t care about your partitions or filesystems.
It’s just — object storage. You toss a file at it, and it stores it. That’s it.
No mounting, no SSHing into anything, no formatting volumes.
You give it a file, and S3 says: “Cool, here’s your URL.”
My First S3 Bucket (aka the First "Aha!")
I clicked into the S3 console and hit "Create bucket." Pretty straightforward.
Gave it a name:
my-first-s3-bucket-username
Left most settings as default
Unblocked public access (for testing — not recommended for prod)
That last part took me a second. I had to disable the “block public access” setting just to test uploading a public file. S3 really doesn’t want you to mess up your permissions (good thing, tbh).
Uploading a File & Accessing It
I uploaded a simple index.html
file just to try it out.
Then I clicked on the object → got the "Object URL" → pasted it into my browser…
Nothing. Access Denied.
Oops. 😅 Forgot about permissions.
So I went back and added a Bucket Policy to allow public read access to everything inside the bucket. Now when I opened that URL, boom — my HTML file loaded in the browser like a mini website.
It felt kinda magical. I didn’t need a server. Didn’t need EC2. Just uploaded a file and shared the link.
Security Gave Me a Bit of a Headache
To be honest, I got a little tangled in the bucket policies vs object ACLs thing.
It felt like IAM all over again — this web of who can access what and why it’s not working when it should.
Eventually figured out:
Bucket policy controls overall access to everything in the bucket
ACL (Access Control List) is per-object, but kind of legacy-ish
AWS really wants you to keep buckets private by default — and that’s good
Still wrapping my head around how all of these work together. But I now know how to make a file public on purpose, and that’s a start.
Random Discoveries
S3 is region-specific, but the bucket name must be globally unique
Versioning is a thing (I haven’t touched it yet)
You can host static websites using S3 (sounds like a Day 14 thing!)
There's CLI support, so scripting stuff is gonna be fun
S3 has different storage classes — like cheaper options for rarely accessed stuff
How I Felt Today
Honestly? I was expecting S3 to be super complicated.
But it’s kind of… elegant. It just works. And yet, it has so many layers if you want to go deeper — policies, access control, lifecycle rules, storage classes.
It feels like I just cracked open the door. There’s a whole storage universe behind it.
What I’ll Do Next
Tomorrow, I want to:
Try accessing S3 via AWS CLI
Set up versioning on a bucket
Play with lifecycle rules
Maybe explore what happens when I store bigger files
Oh — and probably try static website hosting
Let’s see where this S3 journey goes.
Subscribe to my newsletter
Read articles from satyam mishra directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
