If you have spent any time researching AWS, you are probably familiar with the S3 service. The service is known as Simple Storage Service, or S3, as its first letters were combined to create an acronym.
When I first started learning about AWS, I wasn't sure what services the company offered to users looking to store large volumes of data in the cloud. That's precisely when I got to know S3. Although S3 is primarily a storage service, it may also be used for a variety of other things, including software distribution, disaster recovery, archiving, application hosting, and media hosting.
A simple analogy of how S3 stores objects is like how you store files inside the folders on your local machine. Now that we know what S3 does, let's talk some more about this. S3 stores objects in buckets. These buckets must have unique names. Let's check out some console looks for the S3 service:
That's how a homepage looks when you click on the S3 service from the console (I directly went to the S3 console, assuming you know how to search for the service). We click on Create Bucket from the top right, and that is our first step to creating buckets.
Let's first talk about #2 from the screenshot above. I thought of creating a test bucket but when I gave the name test and tried creating one, it stopped me right there!! told me I could not create a bucket since the name is not unique. Now let's head back to #1 from the screenshot.
There are two distinct features in the box. The first one is the General Purpose Bucket.
Reading through the description itself helps us understand why this is used. As it states, it is a generic one used for regular purposes.
Let us see the other one...
These are specific buckets recommended for low-latency use cases. When we look at the description, it says these are the buckets that use only the S3 Express One Zone Storage Class to provide faster data processing within a single AZ. So that is something very specific!!!
Alright!! While I was checking out these, I saw something very catchy: the region! I was trying to create this bucket in the N.Virginia region, and I could see these options, but if I switched regions, these options vanished:
N-Virginia Region:
Ohio Region:
So this tells me that, even though the service S3 is global, the buckets created and the features are unique to the region.
Great! isn't it? So I moved back to my initial choice of N.Virginia region and provided a unique name to the bucket name field "jan2024bucketfortest" πππVery unique.... I know. Something else to look for is the ACL.
By default, this is disabled. If we need access from other AWS accounts, enable this feature. Since I was just doing a test to understand this feature, I left it default.
The next thing that decides a whole lot of operations is public access. By default, this is blocked. If we need this to be available, just uncheck the box and that should do the trick:
Acknowledge the disclaimer and head down to the next section... Look at this one talking about versioning. When I say versioning, this means when you just update your existing content from the local to the cloud, instead of overwriting this same file, it creates a different version and makes it available for us:
By default, versioning will be disabled; if need be, you can enable it. The next section is for tagging your bucket, which provides you with better tracking or reporting functionality.
Leave the encryption method to default now and click on "Create" at the end of the page.
The next question I had in mind was to read through the naming convention. So here is what I found out about how to name the buckets:
The name should be unique
The name should start with a lowercase letter or a number
The name must NOT start with an uppercase letter or an underscore
The name must NOT have the suffix -s3alias at the end
The name must NOT start with xn--
The name must NOT be an IP
Great!! We are now done with the first part of understanding some basics of S3. In the following blog, we will delve into the object and its storage in the S3 buckets.
If you are happy with what you read, or if you felt that there could have been something better than this, feel free to write a comment.
Happy Learning!!