Day 13: AWS - S3

satyam mishrasatyam mishra
3 min read

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.

0
Subscribe to my newsletter

Read articles from satyam mishra directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

satyam mishra
satyam mishra