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)
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)|
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.