How Do I Enable Versioning for an S3 Bucket?

How Do I Enable Versioning for an S3 Bucket?

Enabling versioning on an S3 bucket allows you to preserve, retrieve, and restore every version of every object stored in the bucket. This is especially useful for:

  • Protecting against accidental deletion or overwrite

  • Maintaining historical versions of datasets or files

  • Enabling point-in-time recovery for data workflows


What Is S3 Versioning?

When versioning is enabled:

  • Every object PUT or DELETE action creates a new version.

  • Older versions are retained and can be restored or permanently deleted.

  • DELETE operations add a delete marker, which can be removed to restore the object.

  • Versioning can be combined with lifecycle policies for cleanup and storage cost management.


Enabling Versioning in Spinup

To enable versioning on a bucket you’ve created in Spinup:

  1. Log in to Spinup
    Visit https://spinup.internal.yale.edu and sign in with your Yale NetID.

  2. Navigate to Your Space
    Go to the Spinup Space where your bucket resides.

  3. Open the Storage Tab
    Click on the Storage tab to view your existing S3 buckets.

  4. Select the Bucket
    Click on the bucket name for which you want to enable versioning.

  5. Enable Versioning
    In the bucket details panel:

    • Find the Versioning section.

    • Click Enable Versioning.

    • Confirm when prompted.

    Once enabled, versioning cannot be disabled—only suspended.


Suspended vs. Disabled

AWS does not allow versioning to be fully disabled once enabled. You may suspend it, which prevents new versions from being created but retains existing versions.


Best Practices

  • Enable versioning early: You can’t retroactively recover versions created before versioning was enabled.

  • Pair with lifecycle rules: Use lifecycle rules to delete older versions or transition them to Glacier for cost savings.

  • Monitor bucket size: Versioned buckets can grow large—use cost analysis tools to track storage use over time.


Need Help?

Versioning is one of the simplest and most powerful ways to add resilience to your cloud storage—enable it whenever you’re working with important or shared data.