AWS S3 Version Control

In this blog, we are going to learn about AWS S3 version control. Versioning in AWS S3 can be described simply as keeping incremental copies of the same file as you make modifications.
Key Factors Of S3 Versioning
  • In S3 versioning stores, all versions of an object and including all write even if you delete an object.
  • S3 versioning is a great back up tool.
  • Once S3 version control enabled in the sense it cannot be disabled, only you can suspend.
  • Versioning has MFA delete capability also.
Step 1
Go to the AWS management console and click on the S3 option under storage for creating a bucket. Please check the below snapshot.
By default, our bucket and objects are not public, so we need to set bucket policy as public.
Step 2
Let's enable versioning for a bucket. Go to bucket properties by clicking on your bucket name. Please check the below snapshot.
Step 3
As of now, we don't have any objects or files in our bucket. Let's upload files to the bucket using the upload option. Please go through the below snapshots in which I have captured the upload process.
First click on the upload button 
Browse your file and click on the add files button. I am uploading the hellocloudguru.txt file.
See the below snapshot where the uploaded file is stored under the bucket.
Please click on our file so that you can see the file content in a browser.
Step 4
I'm going back to my bucket and we're going to upload a new version of this file. Let's change this file to say this is a  better version of something like that. Please check the below snapshot.
After uploading the new version of the same file, the first thing I wanted to ask you is what do you think has happened to these file permissions? Do you think this file is still public? Do you think that the file permission has changed? Please click on your file or object in a bucket. Check the below snapshot:
You can see that the file is now access denied. By uploading the new file, it has changed the permissions on that file. You can't access it, so you need to just go back and basically go in and set file permission as a  public.
Please click on the object URL so that we can see the changes in a file. 
Please check the below snapshot for the latest version of the file.
We can see in the snapshot that our latest changes are there, including earlier data.
In this blog, we learned about AWS S3 version control so that we can keep track of our changes on files.
I hope that you find it helpful.