DEV Community

Mubarak
Mubarak

Posted on

Launch Your First S3 Bucket: An Easy, Practical Guide for Beginners

Imagine having a personal, unlimited hard drive in the cloud — one that never crashes, can be accessed from anywhere, and grows with your needs. That’s exactly what Amazon S3 (Simple Storage Service) offers.

Amazon S3 is one of the most beginner-friendly services in AWS. Whether you’re a developer storing app data, a business owner backing up files, or just a curious learner, S3 gives you a secure, reliable, and cost-effective way to store and access data online.

In this guide, we’ll walk step by step through creating your very first S3 bucket and uploading files, so you can see for yourself how easy cloud storage can be.

Core Concepts You Need Before You Start

Before we create a bucket, let’s simplify some key S3 terms:

  • Bucket → Like a folder where all your files (objects) live.
  • Object → The actual file you upload (e.g., photo.jpg, report.pdf).
  • Region → The physical AWS data center where your bucket is hosted (e.g., US-East, Europe, Africa).
  • Permissions → Settings that decide who can access your files (you, your team, or the public).

Once you understand these, using S3 becomes much easier.

Step-by-Step: Create Your First S3 Bucket

Step 1: Log in to AWS

Go to AWS Console and sign in with your account.

Step 2: Navigate to S3

In the search bar, type “S3” and click on it.

Step 3: Create a Bucket

Click Create bucket.

Enter a unique bucket name (e.g., practical-bucket3). If you have another bucket already that has all the settings configured, you can copy settings from the existing bucket, but we don't have one; this is our first bucket, so we’ll skip and scroll down.

Next we have options about access; this is very important. You can grant public access to your buckets in a variety of ways; you’ll see those listed below. But granting public access is generally not a great idea, which means you don't want your files accessible to the whole public; you just want to limit it to some internal services that are needed to run your application. Public buckets are risky unless you’re intentionally hosting public files (like a website).

So you set the object ownership to (ACLs disabled) and block all public access.

With bucket versioning you can keep multiple versions of objects or files in the bucket; this makes it possible to recover old versions. Maybe your users need to revert to an old version of a video or photo, or they accidentally delete something and they need to get it back, but it also comes in handy if there's some kind of application failure and you need to restore previous versions. By default this is turned off, but if you have a good reason to enable it, you just turn it on.

Tags help you to manage and organize things and are also an easy way to track your costs. For example, if this bucket is going to be used for development purposes only, we’ll say environment equals dev; for other buckets, maybe you have environments equal to production or testing.

You can automatically encrypt new objects stored in the bucket, so we’re going to leave that as the default and set the bucket key to disable. No need to enable KMS or dual-layer yet (those add complexity and extra cost).

Bucket Key applies only if you use “SSE-KMS” because it helps reduce costs when using KMS. But it’s not needed if you choose SSE-S3. This gives you secure, automatic encryption with zero complexity and no extra charges.

There are some advanced settings here as well for object lock; this will prevent objects from being deleted or overwritten. This is a handy feature to have if you have some kind of regulatory requirement to store things, but we’re going to leave it disabled for what we’re doing and then create a bucket.

Congrats you’ve got your first S3 bucket! 🎉

Next is to click on the “practical-bucket3” to open it and as you can see, we’ve not uploaded anything yet, so let’s create a folder. One will be for videos and another one for photos.

Go back and create another folder for videos.

So after creating both, let's go upload something to the photos folder. Click on photos and upload them in the photos folder by clicking on add files.

There are other things you can configure here around permissions and other properties; we're just going to leave everything as default and click upload. This will take some minutes depending on your file size. You can also upload using the AWS command line interface or by using the software developer kit.

At the bottom you'll see the photo file name. If you click on it, you'll see all the details about it. There are additional tabs here as well for permissions and versions; if you’re using versioning, that would have some good information in there for you. The object URL is how you would actually access this through a browser.

If you click on the “Object URL,” you can see the access is denied. You remember that we blocked all public access, so if you actually need to view this photo, you have a couple options.

You can open it right up here by clicking on where the arrow is pointed, and it will be opened in a new tab. You can also choose to download it locally and you could view it there.

So those are the basics of creating a bucket and a folder and uploading objects to it. So before we wrap up, I want to show you how to delete the S3 bucket. Follow where the arrow is pointed and click on “Buckets.”

Select the name and then come up here to delete. (Check where the arrow is pointed).

In our case the bucket is not empty, so you have to go empty the bucket first by clicking on “empty bucket,” and because this can’t be undone, it will force you to type in “permanently delete” just to be sure. Then click on empty.

So there’s a message up there to actually go delete the bucket itself; you can click on that and confirm by typing the name of the bucket.

And now everything is gone. That’s the basics of S3 on AWS, and you’ve just built your first S3 bucket—but this is only the beginning. In my next tutorial, I’ll show you how to use S3 to host a simple static website. Stay tuned!

👉 Follow me on Medium (and X/Twitter) so you don’t miss it.

Top comments (0)