Object Versioning keeps every version of every object in a bucket, so the earlier copy survives an overwrite or a delete. Turn it on for a bucket you would need to recover from: undoing a bad upload, getting back a file someone deleted by mistake, or stepping back through a file’s history to see what it looked like before a given change.
Turn Object Versioning on
Section titled “Turn Object Versioning on”Open the bucket’s Actions menu, select Object Versioning, and toggle it on. From then on, uploading to an existing object’s name creates a new version instead of replacing it. The bucket’s Bucket Details tab shows its new Object Versioning status.
See, download, or delete a version
Section titled “See, download, or delete a version”On the Objects tab, click View All Versions to list every version of every object with its version ID, size, and timestamp. From a version’s own menu, download it, generate a presigned URL for it, or delete that one version, leaving the others intact.
Turn Object Versioning off
Section titled “Turn Object Versioning off”Select Object Versioning again and toggle it off. This suspends versioning: every version you already have stays exactly where it is, and new uploads stop creating new versions. Once versioning has been on, Suspended is its off position. You cannot suspend versioning while Object Lock is on, or while the bucket has an active replication rule.
Since storage is billed by the total bytes you keep, every version you hold adds to that; a lifecycle rule can expire old versions automatically if that starts to matter.
Replication needs versioning on both buckets; see Replicate a bucket to another region.