Amazon S3 provides customers with a highly secure and durable storage infrastructure. Amazon S3 Versioning, originally launched in 2010, provides an additional layer of protection by storing multiple versions of an object in the same S3 bucket, so you will be able to preserve, retrieve, and restore any version of an object stored in the bucket.

Buckets can be in one of the three states:

  • Unversioned (default)
  • Versioning-enabled
  • Versioning-suspended

S3 Object Versioning is not enabled by default and has to be explicitly enabled for each bucket and applied to all objects within the bucket. Once enabled, versioning cannot be disabled and can only be suspended. 

You can create a new version of an object by simply uploading it to a versioning-enabled bucket. The old versions continue to exist and remain accessible. Whenever Amazon S3 receives multiple requests for the same object at the same time, it stores them all.

When to use Amazon S3 Versioning

Amazon S3 Versioning provides an additional level of protection by providing a way to recover from unintended user actions and application bugs.

  • Recovery from unintended overwrites and accidental deletions
  • Recovery from application failures
  • Data retention
  • Data archiving

The S3 rates apply to every version of an object stored and requested when versioning is enabled. Every version of an object is the whole object, not the delta from the previous version.

Anodot’s cloud cost management automatically recommends when to suspend S3 versioning.

Amazon S3 Versioning pricing and storage options

You pay for storing objects in your S3 buckets and for requests made against your S3 buckets and objects. S3 charges depend on object size, the length of time the object was stored, and the storage class.

Amazon S3 Versioning maintains multiple copies of the same object, and charges accumulate for each version. For example, if you create a new version of a 1GB file every 6 days with a 5% difference, you would consume 3.283 GB-Month of S3 storage.

Cumulative charges for S3 versioning

Day of Month Object Size (GB) Storage Used (GB-Month)
Day 1 1 1.000
Day 7 1.05 0.847
Day 13 1.1 0.674
Day 19 1.16 0.486
Day 25 1.22 0.275
Total 5 Versions 3.283

Pricing for Amazon S3 Standard and S3 Intelligent Tiering storage classes

Storage Class S3 Standard S3 Intelligent Tiering **
Frequent Access Tier, First 50 TB / Month $0.023 per GB $0.023 per GB
Frequent Access Tier, Next 450 TB / Month $0.022 per GB $0.022 per GB
Frequent Access Tier, Over 500 TB / Month $0.021 per GB $0.021 per GB
Infrequent Access Tier, All Storage / Month $0.0125 per GB
Archive Instant Access Tier, All Storage / Month $0.004 per GB
Monitoring and Automation, All Storage / Month (Objects > 128 KB) $0.0025 per 1,000 objects
PUT, COPY, POST, LIST requests (per 1,000 requests) $0.005 $0.005
GET, SELECT, and all other requests (per 1,000 requests) $0.0004 $0.0004
Lifecycle Transition requests into (per 1,000 requests) $0.01

* Prices shown are for the US East (Northern Virginia) AWS Region. 

** Moving objects between access tiers does not incur any retrieval charges or additional tiering charges.

Written by Anodot

Anodot leads in Autonomous Business Monitoring, offering real-time incident detection and innovative cloud cost management solutions with a primary focus on partnerships and MSP collaboration. Our machine learning platform not only identifies business incidents promptly but also optimizes cloud resources, reducing waste. By reducing alert noise by up to 95 percent and slashing time to detection by as much as 80 percent, Anodot has helped customers recover millions in time and revenue.

Start optimizing your cloud costs today!

Connect with one of our cloud cost management specialists to learn how Anodot can help your organization control costs, optimize resources and reduce cloud waste.