Amazon Simple Storage Service (Amazon S3)

Amazon Simple Storage Service (Amazon S3)

Hey Guys,

As the name suggests, S3 is related to storage and yes Guys it is related to storage.

Let's Learn more about S3(We will call Simple Storage Service as S3).

Are Guys Excited??

We will learn from very Basic...

In layman's terms, Amazon S3 is object storage built to store and retrieve any amount of data from anywhere.

Now Let's see how it looks like in AWS

Let's deep dive 🏊

wait wait....

What is This bucket?

we were talking about S3 🤔

Now Read Carefully,

S3 Allows people to store Objects in a Bucket.

Keep In Mind guys Buckets are Not directories, Please see the Attached Image

What S3 Is used for?

Using this service, you can easily build applications that make use of cloud native storage. Since Amazon S3 is highly scalable and you only pay for what you use, you can start small and grow your application as you wish, with no compromise on performance or reliability.

Also S3 is used for Backup & storage, Disaster Recovery, Archive, Hybrid Cloud Storage, Application Hosting, Media hosting, Data lakes & big data analytics, Software delivery and static website.

Now let's move to do some practical things to know it better.

Go to Amazon s3->click buckets from the left side menu->click create bucket

And yes there you go

  • Write Bucket name(Its hould be unique)

  • Select AWS region

  • Let object ownership be ACL's disabled

  • Block All Public Access

  • Let Bucket versioning be Enabled(Discussed below)

  • Let Default encryption be as it is

Now before moving further let me tell you the importance of Bucket versioning

S3 bucket versioning is a feature that allows you to store multiple versions of an object in an S3 bucket. Each version of an object is assigned a unique identifier and a version number. When you upload a new version of an object to the S3 bucket, the new version replaces the previous version, but the previous version is still stored and can be retrieved if needed.

Versioning

It is a simple yet powerful feature that can provide valuable protection and recovery options for your data stored in an S3 bucket.

With versioning enabled, you can:

  1. Protect against accidental overwrites or deletions

  2. Recover from both unintended user actions and application failures

  3. Maintain a complete history of object changes

For Seeing the versions you can toggle Show versions like seen in the attached Image(update the index.html object and upload it with same name)

Isn't it great to see versions of objects😍

Let's move to one more crucial part of S3 and that is

Bucket Policy

Yes, Like IAM, we have a policy for Buckets as well, let me show you how you can access that

After Creating a Bucket

  1. Select the bucket that you want to add the policy to.

  2. Click on the "Permissions" tab and then click on "Bucket Policy".

  3. In the "Bucket policy editor" window, enter the policy in JSON format. The policy will define the permissions for the bucket, including who can access the bucket and what actions they can perform on the objects in the bucket.

  4. Once you have entered the policy, click on "Save" to apply the policy to the bucket.

Bucket Policy is also in JSON format and here is the Example

Let's move to

S3 Encryption

No encryption:- If the User uploads a file to the bucket and no encryption is done on the server side or client side.

Server-Side Encryption:- User uploads a file to the bucket and Server encrypts the file after receiving it

Client-Side Encryption:- User Encrypts the file Before uploading it to the Bucket.

After Encryption, Let's move to

S3 Storage Classes

  • Amazon S3 Standard - General Purpose --> Used for frequently accessed data

  • Amazon S3 Standard-Infrequent Access (IA) -->Used for data that is less frequently accessed, but requires rapid access when needed

  • Amazon S3 One Zone-Infrequent Access--> Used for Storing secondary backup copies of on-premise data, or data you can recreate

  • Amazon S3 Glacier Instant Retrieval--> Great for data accessed once a quarter

  • Amazon S3 Glacier Flexible Retrieval-->for data archiving and long-term backup. Amazon S3 Glacier provides flexible retrieval options that are Standard & bulk

  • Amazon S3 Glacier Deep Archive-->for long-term storage

  • Amazon S3 Intelligent Tiering--> Moves objects automatically between Access Tiers based on usage

Above are Different storage classes with Different Costs. I have kept it very brief. If anyone has doubts about these sections, please let me know in the comment section I will make it detailed and precise.

A very Important Statement About S3 is here guys👇

Data transfer IN to the AWS S3 service is free. Data transfer OUT of the AWS S3 servers to the Internet is charged.

Next, We will learn About AWS Snow Family ☃️❄️⛄

Stay Tuned for more content like this!

All suggestions are welcomed!!

For Learning more about Policies you can visit my IAM blog

https://nidhidevops.hashnode.dev/aws-identity-access-management