S3 Version Control
Amazon S3 protects with versioning capability. Through versioning you can save, retrieve, and restore every version of every object stored in your Amazon S3 bucket. This allows you to recover from both unintended user actions and application failures easily. It is a great backup mechanism. With the help of versioning, you can go back to your previous version.
Why do we need versioning in AWS S3?
We use the versioning feature in AWS S3 bucket to make multiple copies of the same file and ensure the availability of the original file as well. Multiple copies help to keep the record of modification of file in the same bucket. Versioning of file helps to recover the original file anytime because multiple files have same name with different version IDs. These different versions indicate any modification made to the file.
Benefits of Versioning
The key benefits of versioning in S3 bucket are that when you upgrade the file, it is saved in versioned form and you can have an option to get the original file whenever you want. Some other benefits of versioning are:
It works as backup tool
It provides the whole history of file from original to upgrade copies
It provide a extra layer of security by using Multi-Factor Authentication method
Features of Versioning
- Object Creation: Within AWS S3 bucket, you can easily create an object by simply uploading any file
- Creation of Version: If you want to do some modification in the uploaded file, the new file with modification could be saved with a different version ID in S3 bucket
- Deletion of Object: When you delete the uploaded file, the modified versions remains available in the bucket
- Delete Marker: The deleted file will become a new version with a label of “Delete Marker”. The file would not contain any data
- Restore the Previous Version: If you saved the previous copy of a file without any changes, the copied file would be saved with different version ID. This means you could have same copies of file with different versions
- Versioning Suspended: You cannot delete the version. You can only suspend versions. When you add a new copy of file, the current file is save with empty version ID. When you delete this copy, the copied file with empty version ID is shown with “Delete Marker”
- MFA Delete: Multi-Factor Authentication is used as an additional security layer to the bucket versioning. In order to permanently delete the object (file) or perform changes in versioning, there are some extra authentication required in your standard security. The password generated by hardware or MFA device is a temporary password, which is an authentication code. Root account has the right to enable MFA Delete.
The use of versioning in AWS S3 bucket is discussed in the following figure. Let’s suppose, an IT company has a file named “IPS_Record” stored in AWS S3 bucket. The file contains the record of hardware (laptop, router, etc) available to the company. Every week, hardware is added or deletde from the company assets. To maintain the records, IT Admin decides to create a version of the file using S3 versioning feature.
In this blog, the versioning feature in AWS S3 bucket is discussed. When we enable versioning in AWS S3 bucket, we can easily create different copies of the same file in the bucket and these multiple copies help to keep the record of modification of file in the same bucket. Versioning of file helps to recover the original file anytime. These different versions indicate any modification made to the file. The key benefits of versioning in S3 bucket are; we can upgrade the file that is saved in versioned form and we have an option to get the original file whenever we want.