With more than 32 percent of the world’s public cloud share, it’s no surprise that Amazon Web Services (AWS) serves more than 190 countries with scalable, reliable, and low-cost cloud infrastructure. One of its most powerful and commonly used storage services is Amazon S3. S3 (“Simple Storage Service”) enables users to store and retrieve any amount of data at any time or place, giving developers access to highly scalable, reliable, fast, and inexpensive data storage. Designed for 99.999999999 percent durability, S3 also provides easy management features to organize data for websites, mobile applications, backup and restore, and many other applications.
Now, let’s jump into our first topic and learn about cloud storage in general.
What is Cloud Storage?
Cloud storage is a web service where your data can be stored, accessed, and quickly backed up by users on the internet. It is more reliable, scalable, and secure than traditional on-premises storage systems.
Cloud storage is offered in two models:
- Pay only for what you use
- Pay on a monthly basis
Now, let’s have a look at the different types of storage services offered by AWS.
Types of AWS Storage
AWS offers the following services for storage purposes:
Storage services offered by Amazon
We’ll eventually take an in-depth look at the S3 service. But before we get to that, let’s have a look at how things were before we had the option of using Amazon S3.
Before AWS S3
Organizations had a difficult time finding, storing, and managing all of your data. Not only that, running applications, delivering content to customers, hosting high traffic websites, or backing up emails and other files required a lot of storage. Maintaining the organization’s repository was also expensive and time-consuming for several reasons. Challenges included the following:
- Having to purchase hardware and software components
- Requiring a team of experts for maintenance
- A lack of scalability based on your requirements
- Data security requirements
These are the issues AWS S3 would eventually solve. So, what exactly is AWS S3?
What is AWS S3?
Amazon S3 (Simple Storage Service) provides object storage, which is built for storing and recovering any amount of information or data from anywhere over the internet. It provides this storage through a web services interface. While designed for developers for easier web-scale computing, it provides 99.999999999 percent durability and 99.99 percent availability of objects. It can also store computer files up to 5 terabytes in size.
AWS S3 Benefits
Some of the benefits of AWS S3 are:
- Low cost
- Simple data transfer
Let’s have a look at some of the major components of the AWS S3 storage service.
AWS Buckets and Objects
An object consists of data, key (assigned name), and metadata. A bucket is used to store objects. When data is added to a bucket, Amazon S3 creates a unique version ID and allocates it to the object.
Example of an object, bucket, and link address
Logging into AWS
Selecting S3 from Service offerings
Amazon S3 bucket list (usually empty for first-time users); create a bucket by clicking on the “Create bucket” button
Create a bucket by setting up name, region, and other options; finish off the process by pressing the “Create” button
Select the created bucket
Click on upload to select a file to be added to the bucket
Select a file to be added
The file is now uploaded into the bucket
Let’s now have a look at how Amazon S3 works.
How Does Amazon S3 work?
Like we saw in the example above, first off, a user creates a bucket. When this bucket is created, the user will specify the region in which the bucket is deployed. Later, when files are uploaded to the bucket, the user will determine the type of S3 storage class to be used for those specific objects. After this, users can define features to the bucket, such as bucket policy, lifecycle policies, versioning control, etc.
Now, let’s talk about the different storage classes offered by Amazon S3.
Learn about the AWS architectural principles and services like IAM, VPC, EC2, EBS and more with the AWS Solutions Architect Course. Register today.
Amazon S3 Storage Classes
Let’s have a look at the different storage classes using the example of a school:
- Amazon S3 Standard for frequent data access: Suitable for a use case where the latency should below. Example: Frequently accessed data will be the data of students’ attendance, which should be retrieved quickly.
- Amazon S3 Standard for infrequent data access: Can be used where the data is long-lived and less frequently accessed. Example: Students’ academic records will not be needed daily, but if they have any requirement, their details should be retrieved quickly.
- Amazon Glacier: Can be used where the data has to be archived, and high performance is not required. Example: Ex-student’s old record (like admission fee) will not be needed daily, and even if it is necessary, low latency is not required.
- One Zone-IA Storage Class: It can be used where the data is infrequently accessed and stored in a single region. Example: Student’s report card is not used daily and stored in a single availability region (i.e., school).
- Amazon S3 Standard Reduced Redundancy storage: Suitable for a use case where the data is non-critical and reproduced quickly. Example: Books in the library are non-critical data and can be replaced if lost.
A comparison of all storage classes
Technical comparison between classes
Let’s now have a look at the different features offered by S3.
AWS S3 Features
In lifecycle management, Amazon S3 applies a set of rules that define the action to a group of objects. You can manage and store objects in a cost-effective manner. There are two types of actions:
1. Transition Action
With this action, you can choose to move objects to another storage class. With this, you can configure S3 to move your data between various storage classes on a defined schedule. Assume you’ve got some data stored in the S3 standard class. If this data is not used frequently for 30 days, it would be moved to the S3 infrequent access class. And after 60 days, it is moved to Glacier. This helps you to migrate your data to lower-cost storage as it ages automatically.
2. Expiration Actions
Here, S3 removes all objects within the bucket when a specified date or time period in the object’s lifetime is reached.
An example of how lifecycle management works:
From within your bucket select management
Select “Lifecycle” and then click on the “Add lifecycle rule.”
Add a rule name and scope
Configure transaction options
Set up expiration details
Bucket policy is an IAM policy where you can allow or deny permission to your Amazon S3 resources. With bucket policy, you also define security rules that apply to more than one file within a bucket. For example: If you do not want a user to access the “Simplilearn” bucket, then with the help of JSON script, you can set permissions. As a result, a user would be denied access to the bucket.
Use an online tool to generate a policy. Select the type of policy as an S3 bucket policy. Select the appropriate effect. In this case, denying access.
Find the ARN of the bucket
Set up additional conditions and set up a JSON script to deny access to a particular user. In this case, “simplilearn.”
Go back to the bucket and set up a bucket policy under “Permissions.” Then click on “Save.”
Amazon S3 provides IT teams with a highly durable, protected, and scalable infrastructure designed for object storage.
Amazon S3 protects your data using two methods:
- Data encryption
- Cross-region Replication
- Transfer Acceleration
Go to your bucket, select properties, and turn on “Versioning.”
Upload an object
Upload another file of the same name
Select the file and alternate between its current and older versions
1. Data Encryption
This refers to the protection of data while it’s being transmitted and at rest. It can happen in two ways, client-side encryption (data encryption at rest) and server-side encryption (data encryption in motion).
It is utilized to preserve, recover, and restore an early version of every object you store in your AWS S3 bucket. Unintentional erases or overwriting of objects can easily be managed with versioning. For example, in a bucket, it is possible to have objects with the same key name but different version IDs.
3. Cross-region Replication
Cross-region replication provides automatic copying of every object uploaded to your buckets (source and destination bucket) in different AWS regions. Versioning needs to be turned on to enable CRR.
Create a new bucket in a different region
Select uploaded file, go to “Management” and then replication.
Here, click on “Add Rule.”
Select the source, destination, and IAM rule
4. Transfer Acceleration
This enables fast, easy, and secure transfers of files over long distances between your client and S3 bucket. The edge locations around the world provided by Amazon CloudFront are taken advantage of by transfer acceleration. It works by carrying data over an optimized network bridge that keeps running between the AWS Edge Location (closest region to your clients) and your Amazon S3 bucket.
Go to properties and select transfer acceleration to enable it
Jumpstart Your Career with AWS Certifications
We’ve covered cloud storage, the types of storage offered by AWS, how storage worked before AWS S3, an overview of AWS S3, objects and buckets, storage classes, and the various features of S3.
If you’re ready to take your career to the next level, consider signing up for Simplilearn’s Introduction to Amazon S3 Training Course. You will be fully trained by industry professionals and career-ready upon completion.