Enabling Bucket Versioning
This section describes how to enable versioning on a bucket. For more information about versioning support in Amazon S3, see Using Versioning in the Amazon Simple Storage Service Developer Guide. For more information about managing objects when versioning is enabled, see Managing Objects in a Versioning-Enabled Bucket.
If you have an object expiration lifecycle policy in your non-versioned bucket and you want to maintain the same permanent delete behavior when you enable versioning, you must add a noncurrent expiration policy. The noncurrent expiration lifecycle policy will manage the deletes of the noncurrent object versions in the version-enabled bucket. (A version-enabled bucket maintains one current and zero or more noncurrent object versions.) For more information, see Lifecycle Configuration for a Bucket with Versioning.
To enable versioning on a bucket
Sign in to the AWS Management Console and open the Amazon S3 console at https://console.aws.amazon.com/s3/.
In the Buckets list, click the details icon on the left of the bucket name and then click Properties to display bucket properties.
In the Properties pane, click Versioning and then click Enable Versioning.
The console displays a confirmation dialog. Click OK to enable versioning on the bucket.
Amazon S3 enables versioning on the bucket. Accordingly, the console UI replaces the Enable Versioning button with the Suspend Versioning button.
After you enable versioning on a bucket, it can be in only the enabled or suspended state; you cannot disable versioning on a bucket. If you suspend versioning, Amazon S3 suspends the creation of object versions for all operations, but preserves any existing object versions. For more information, see Working with Versioning-Suspended Buckets in the Amazon Simple Storage Service Developer Guide.