AWS, Cloud Computing

5 Mins Read

Step-by-Step Guide to enable Amazon S3-Versioning for Data Backup

Overview

Here we are going to discuss the most common problem of this world i.e “Back-up of the huge amount of data”. Moreover, we will discuss the handling of data in the most precise way with their durability and availability of 99.99% across many generations.

What is Amazon S3?

The full form of Amazon S3 is ‘Amazon Simple Storage Service’. This service is facilitated by the most prominent Cloud Platform “Amazon” as Amazon Web-Service (AWS).

Amazon S3 is an object storage service that facilitates scalability, data availability, security, and promising performance to their all-sized customers.

Via Amazon S3 we can store huge amounts of data and can also protect data from its breaching to their highest end. We can access, retrieve or download the data whenever we want and wherever we want to.

Also, we can take data backup with this service in just a few minutes or seconds as it forms multiple copies of data on data centers so that your data always remains safe across the generations.

  • Cloud Migration
  • Devops
  • AIML & IoT
Know More

How Amazon S3 Works?

Amazon S3 is an object storage service that stores the data in form of objects within buckets.

Object– an object is a file or any metadata that describes the file.

Bucket– A Bucket is a container for objects.

Version Id – unique id which is given to objects. It makes multiple variants of an object in the same bucket.

In Amazon S3 we create buckets and specify their name (bucket name) and AWS region (geographical AWS Region). Then, we upload our data in the form of an object into the bucket. Each object has a unique key within the bucket.

Buckets and Objects are private and can access only with some special grant permissions. Such permissions are easily manageable through- bucket policies, AWS-IAM policies (identity and access management policies), S3 Access points, and an Access control list (ACL).

Bucket Policy – it is a resource-based AWS identity and access management (AMI) policy that is used to grant permissions to your bucket and the objects in it.

Access Control List (ACL) – It grants read and write permission to authorized users for individual buckets and objects. It also grants other user access to the bucket.

Amazon S3 offers the following options to upload data according to the Data size:

  • Using the AWS SDKs, REST API, or AWS CLI- we can upload a single object up to 5GB in size by a single PUT operation. Whereas we can upload a single large object up to 5TB in size by using multipart upload API.
  • Using Amazon S3 Console- we can upload up to 160GB size data in a single object by Amazon S3 Console.

For more info: https://aws.amazon.com/documentations/s3/

The Amazon S3 provides a beautiful feature of S3 versioning to support your specific use cases which allows you to keep multiple versions of an object in the same bucket, which facilitates the restoring of objects that are accidentally deleted or overwritten.

Now we will understand what Amazon S3 versioning is, how it works and what are its features-

Before we understand the S3 versioning, we should know what the version is. Shortly and crisply, the Version is just an interpretation of something that happened.

Now let’s move to the Amazon S3 versioning, its features and how do we maintain multiple versions of data on Amazon S3.

Amazon S3 Versioning and it's Features

Versioning in Amazon S3 is a beautiful way of keeping the multiple variants of an object in the same bucket. We can preserve, retrieve and restore every version of every object stored in our bucket.

By multiple versioning, we can recover our lost data easily either due to our unintentional action or application failure.

By enabling versioning to feature it generates the unique version ids to the object.

For example – I store an excel sheet in an object of a bucket. And now I want to add or rewrite some data in the same object. I will make that modification to the object in the same bucket.

But, due to some reason or miscalculations, I want to compare both data. I realized that I have saved the modification in the previous one and I don’t have any other copy of the original one as well.

It is simple, by enabling Amazon S3 versioning. I can get my both data the original one as well as the modified one. It is just because each version has its object owner which can be easily identified by seeing their unique Id which is generated at the time of versioning.

S3Versioning

Note: Once we enable versioning on a bucket, it can never return to an un-versioned state, we can only suspend versioning.

Steps to enable Amazon S3 Versioning

Step 1: Log in to the AWS management console and open S3.

Step1

Step 2: Choose the Bucket on which you want to enable the versioning.

Step2

Step 3: Go to the properties tab and Edit the Versioning status of the bucket

Step3

Step3b

Step 4: Check the status of versioning.

Step4

Step 5: Re-check. Make a file with the name Demo 1.txt.txt and upload it. The content in this file is “This is version 1 file”.

Step5

Step5b

Now update the same file with the different content – “This is version 2 file !!”  again, to the same bucket.

Step5c

Let’s see what happens Next-

Step5d

We observe that a single file has a different version which verifies that versioning is working fine!!

Conclusion

We learned how to enable the versioning in an S3 bucket using the AWS management console and to handle the data in the most precise way with their durability and availability of 99.99% across many generations. This blog also guides us to take data backups even for a huge amount of data and could maintain many versions of our data by simply giving them the object’s unique Key and IDs. Also, use the delete version id to remove permanently objects. Finally, with the Amazon versioning feature, you can take a backup of your data even after accidental deletion or application failure.

Get your new hires billable within 1-60 days. Experience our Capability Development Framework today.

  • Cloud Training
  • Customized Training
  • Experiential Learning
Read More

About CloudThat

CloudThat is also the official AWS (Amazon Web Services) Advanced Consulting Partner and Training partner and Microsoft gold partner, helping people develop knowledge of the cloud and help their businesses aim for higher goals using best in industry cloud computing practices and expertise. We are on a mission to build a robust cloud computing ecosystem by disseminating knowledge on technological intricacies within the cloud space. Our blogs, webinars, case studies, and white papers enable all the stakeholders in the cloud computing sphere.

Drop a query if you have any questions regarding Amazon S3 and I will get back to you quickly.

To get started, go through our Consultancy page and Managed Services Package that is CloudThat’s offerings.

FAQs

1. Can I have multiple versions of the same Object in S3?

ANS: – Yes, the same object can have multiple versions of the same Object but different IDs.

2. How to restore the previous version of an Amazon S3 Objects?

ANS: – If you delete an object, instead of removing the object permanently, Amazon S3 inserts a delete marker, which becomes the current object version. You can then restore the previous version.

3. What is the maximum size of S3 Bucket?

ANS: – You can store an object from 0 bytes to 5 terabytes.

WRITTEN BY Ayush Agarwal

Ayush Agarwal works as a Research Associate at CloudThat. He has excellent analytical thinking and carries an optimistic approach toward his life. He is having sound Knowledge of AWS Cloud Services, Infra setup, Security, WAR, and Migration. He is always keen to learn and adopt new technologies.

Share

Comments

    Click to Comment

Get The Most Out Of Us

Our support doesn't end here. We have monthly newsletters, study guides, practice questions, and more to assist you in upgrading your cloud career. Subscribe to get them all!