Each object in Amazon S3 has a storage class associated with it. Storage class defines how your object is stored on Amazon S3 and how you can access it. The prices may vary for different storage classes and you may save on your storage costs if you choose correct S3 Storage Classes for your use case.
S3 Storage Classes maintain the integrity of the data using checksums. S3 provides lifecycle management for the automatic migration of objects for cost savings.
Amazon S3 offers customers and users a wide range of S3 Storage Classes which allows users the flexibility in configuring their storage. The different storage classes include:
- S3 Standard
- S3 Standard IA
- S3 One Zone – Infrequent Access (IA)
- S3 Glacier
- Amazon Glacier & Glacier Deep Archive
S3 Standard – General Purpose:
Standard storage class stores the data redundantly across multiple devices in multiple facilities.
High durability (99.999999999%) of objects across multiple AZ
If you store 10,000,000 objects with Amazon S3, you can on average expect to incur a loss of a single object once every 10,000 years
99.99% Availability over a given year
Sustain 2 concurrent facility failures
Use Cases: Big Data analytics, mobile & gaming applications, content distribution…
S3 Standard – Infrequent Access (IA):
IA stands for infrequently accessed.
Standard IA storage class is used when data is accessed less frequently but requires rapid access when needed.
Suitable for data that is less frequently accessed, but requires rapid access when needed
High durability (99.999999999%) of objects across multiple AZs
Low cost compared to Amazon S3 Standard
Sustain 2 concurrent facility failures
Use Cases: As a data store for disaster recovery, backups…
S3 One Zone – Infrequent Access (IA):
Same as IA but data is stored in a single AZ.
S3 one zone-infrequent access storage class is used when data is accessed less frequently but requires rapid access when needed.
It stores the data in a single availability zone while other storage classes store the data in a minimum of three availability zones. Due to this reason, its cost is 20% less than Standard IA storage class.
It provides lifecycle management for the automatic migration of objects to other S3 storage classes.
The data can be lost at the time of the destruction of an availability zone as it stores the data in a single availability zone.
High durability (99.999999999%) of objects in a single AZ; data lost when AZ is destroyed
Low latency and high throughput performance
Supports SSL for data at transit and encryption at rest
Use Cases: Storing secondary backup copies of on-premise data, or storing data you can recreate.
S3 Glacier storage class is the cheapest storage class, but it can be used for archive only.
You can store any amount of data at a lower cost than other storage classes.
Low cost object storage meant for archiving / backup.
Data is retained for the longer term (10s of years)
Alternative to on-premise magnetic tape storage.
Average annual durability is 99.999999999%
Cost per storage per month ($0.004 / GB) + retrieval cost
Each item in Glacier is called “Archive” (up to 40TB)
Archives are stored in ”Vaults”
Amazon Glacier & Glacier Deep Archive:
These two cold storage classes for data that will be stored for decades without the need to access. As of Jun 2019, these are the cheapest storage classes on AWS. You pay when you need to access your data stored under the GLACIER and DEEP_ARCHIVE storage classes
Amazon has added to their S3 Glacier service and introduced Amazon Glacier Deep Archive. At 1GB/month starting at $0.00099, it will be the cheapest solution to storing data on Amazon AWS. This storage class is specifically meant for data that you absolutely would never need instantly, as the fastest restore time takes 12 hours.
Amazon Glacier – 3 retrieval options:
- Expedited (1 to 5 minutes)
- Standard (3 to 5 hours)
- Bulk (5 to 12 hours)
Minimum storage duration of 90 days
Amazon Glacier Deep Archive – for long term storage – cheaper:
- Standard (12 hours)
- Bulk (48 hours)
Minimum storage duration of 180 days
S3 Intelligent Tiering:
INTELLIGENT_TIERING S3 Intelligent-Tiering storage class designed for customers who want to optimize storage costs automatically when data access patterns change, without performance impact or operational overhead. Amazon S3 monitors access patterns of the objects in S3 Intelligent-Tiering, and moves the ones that have not been accessed for 30 consecutive days to the infrequent access tier. If an object in the infrequent access tier is accessed, it is automatically moved back to the frequent access tier.
Same low latency and high throughput performance of S3 Standard
Small monthly monitoring and auto-tiering fee
Automatically moves objects between two access tiers based on changing access patterns
Designed for durability of 99.999999999% of objects across multiple Availability Zones
Resilient against events that impact an entire Availability Zone
Designed for 99.9% availability over a given year
S3 Storage Classes Comparison:
S3 Storage Classes Lifecycle Rules:
There are 3 types of actions in AWS S3 lifecycle –
It defines when objects are transitioned to another storage class.
Move objects to Standard IA class 60 days after creation
Move to Glacier for archiving after 6 months
Configure objects to expire (delete) after some time
Access log files can be set to delete after a 365 days
Can be used to delete old versions of files (if versioning is enabled)
Can be used to delete incomplete multi-part uploads
Rules can be created for a certain prefix (ex – s3://mybucket/mp3/*)
Rules can be created for certain objects tags (ex – Department: Finance