The Ultimate Guide to S3 in AWS: Everything You Need to Know
Part - 01 Introduction of Amazon S3 (Simple Storage Service)
- As you may know, Amazon S3 is a highly scalable, secure, and durable object storage service offered by Amazon Web Services (AWS). It's designed to store and retrieve any amount of data from anywhere on the web, making it an ideal choice for hosting static websites and blogs like mine.
Secure: - Third person does not use data that is in S3.
Durable: - Never Loss the data, AWS responsible for safe it.
Highly Scalable: - Extend up to unlimited size.
S3 is a storage service.
S3 is like a Google Drive, to manage S3 doesn't need any EC2 instance.
Types of storage
In Amazon Web Services (AWS), there are two main types of storage: object storage and block storage. The main difference between object storage and block storage is how they handle data and the use cases they are best suited.
Object Storage | Block Storage |
Object storage is a storage system that manages data as objects. | Block storage is a storage system that manages data as blocks of fixed sizes. |
An object can contain data in any format, such as a file, image, or video, and is given a unique identifier or key. | Each block is assigned a unique identifier or address and can be accessed directly by the operating system. |
It cannot be used for installing the operating system. | Block storage is used to install the operating system. |
Object storage is designed for handling large amounts of unstructured data, such as media files, backups, and archives. | Block storage is designed for handling structured data, such as databases, applications, and virtual machines. |
It is highly scalable, durable, and can be accessed from anywhere on the web. | It provides low latency and high IOPS (Input/Output Operations Per Second) performance, making it suitable for applications that require fast and reliable storage. |
Object storage does not act as Block storage. | It also acts as Object storage where we can store objects like files, videos, mp3, etc. |
In AWS, Amazon S3 is an example of an object storage service. | In AWS, Amazon EBS (Elastic Block Store) is an example of a block storage service. |
In summary, the main difference between object storage and block storage in AWS is the way they handle data and the use cases they are best suited for. Object storage is designed for handling large amounts of unstructured data, while block storage is designed for handling structured data and applications that require high IOPS performance.
In AWS S3 it is called a bucket (S3 bucket).
Inside the bucket we store objects.
The EC2 instance is not required to create the S3 bucket; the EC2 instance is a compute service, and S3 is a storage service in AWS.
In S3, there is a bucket, and in the bucket, we can store the files and create the directory, and in the directory, we save the files.
The bucket is an object storage system where we can only store objects like files.
S3 is secure to store your critical data, which is encrypted.
S3 has no size limit. (Bucket size can be unlimited)
There is a limitation with a single object it's up to 0 bytes to 5TB.
The bucket name must be unique globally.
Built for 99.99% availability.
The S3 platform provides 99.999999999 % of durability (In the backend, AWS maintains 2-3 copies of our data in different geographical areas, so there is a 100% chance to recover the data if we lose it also).
Features of S3
The main objective of S3 is to store the objective, and also provide many additional features with S3. which are below:
Replication.
Tiered Storage (classes).
Life Cycle Management.
Versioning.
Encryption.
Access Control List.
Static Web-Hosting.
Tags and Metadata.
Transfer Acceleration.
1) Replication
It means the S3 bucket is replicated in another geographical location. For example, if our bucket is in the Mumbai region then we can replicate it in the Singapore region.
Replication is done either manually or automatic method.
Manual Method: - When we want to share only selected objects (data).
Automatic Method: - When we need to copy all the objects from the original bucket to another replica bucket that is in another region or if we want to create a backup bucket, in such a scenario, we go with the automatic method.
2) Tiered Storage (Classes)
AWS provides different types of classes, as per our requirements and budget we can choose the class.
General Example for understanding
Let's take an example of Indian railways, when we book a ticket for a train there are different classes which are 1AC, 2AC, 3AC, Sleeper, and General Coach. Every coach has a different cost for 1AC it's high and 2AC has less than 1AC like the General coach has a very low cost.
The facility and comfort are more in 1AC than in other classes. So we have to extra for comfort and extra facility.
Like, AWS provides different classes in S3 storage, and as per our requirements and affordable we have to choose the class for storing our data.
Classes are: -
- S3 Standard
It is for very critical data and more users access it frequently. AWS Provide 99.999% of availability and 99.999999999 % of durability. In general, it's like a 1AC in Indian Railways.
- S3 Intelligent Tiering
The data is very critical but we are not sure how frequently data is going to be accessed.
- S3 Standard -IA (in-frequent access)
Provide less availability and durability as compared to the above two classes.
In S3 standard IA the data is stored in different availability zones in one region as well as the copy of the same bucket is stored in another region in different availability zones.
- S3 one zone - IA
The features and cost are less than the above three classes.
In this class, a copy of the bucket (data) is stored in different availability zones in only one single region.
- S3 Glacier
When the data is not critical and access to the data is very rare then AWS recommended the S3 Glacier class.
After uploading data, it takes 2 to 5 hours to process the file. After processing, other users can access the data.
- S3 Glacier Deep Archive
This class has a very low cost and provides very few features compared to other classes. If any data is copied to this class and we would like to access it, then we need to wait at least 12 hours.
Where depends on the classes the features are provided and the cost depends.
3) Life Cycle Management
In Life Cycle Management, all the types of tiers of storage(classes) are connected to each other.
If our company generates a huge amount of data, and for the first few days or at the beginning, it is frequently accessed and the data is critical, after some time it is not accessed frequently and the data is not that critical. In such a scenario, we go through this AWS S3 storage feature, which is life cycle management.
4) Versioning
Versioning is one of the features of S3 storage where every change is recorded.
With Versioning, we have two advantages
We can recover the files from accidental deletion.
Maintain the history (Revision), changes made its recorded.
5) Encryption
The S3 bucket data is in an encrypted format, so no one can read the data even also AWS team.
This provides better security for our data.
6) Access Control List
If we create the private bucket, then the Access Control List feature provides a facility for administrators to give permission to access the bucket to users.
Which bucket will be accessed by which user?
Giving the administrator the right facility using the Access Control List
7) Static Web Hosting
We can host the website also on the S3 bucket, it is handling unlimited user traffic, but the issue is below
We can host only a static website, which means the website has fixed web pages that do not change dynamically.
The webpages should be created only with a basic technology i.e html
Not support advanced technology
8) Tags and Metadata
After creating a bucket, there is a bucket name and description, as well as information about when the bucket was created, its size, modifications, and so on.
All these features are known as tags and metadata in the S3 bucket.
Metadata is nothing but configuration information.
9) Transfer Acceleration
Amazon S3 Transfer Acceleration can speed up content transfers to and from Amazon S3 by as much as 50-500% for long-distance transfer of larger objects. Customers who have either web or mobile applications with widespread users or applications hosted far away from their S3 bucket can experience long and variable upload and download speeds over the Internet. S3 Transfer Acceleration (S3TA) reduces the variability in Internet routing, congestion, and speeds that can affect transfers, and logically shortens the distance to S3 for remote applications
S3TA improves transfer performance by routing traffic through Amazon CloudFront’s globally distributed Edge Locations and over AWS backbone networks, and by using network protocol optimizations.
This feature is used to speed up the uploading and downloading process if the bucket is in a different region that is very long from us.
Thank you for taking the time to read my blog. I hope you found it informative and engaging. Your interest and support mean a lot to me and motivate me to keep writing. If you have any feedback or suggestions, please don't hesitate to leave a comment or contact me directly. Once again, thank you for reading, and I hope to see you again soon.
Pawan JD Bhagat