Understanding Amazon S3 Storage Classes
Tags: aws, s3, cloud
Published: 2022-11-23 19:17:37

Amazon S3 offers a range of [storage classes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) based on the data access patterns, resiliency, and cost requirements of your workloads. Understanding the S3 Storage classes is essential to optimally manage your costs and access to the S3 objects.

### Intro
Each object in Amazon S3 has a storage class associated with it. S3 Storage Classes can be configured at the object level and a single bucket can contain objects stored across S3 Standard, S3 Intelligent-Tiering, S3 Standard-IA, and S3 One Zone-IA. You can set a storage class on an S3 object when you create the object. Also, you can change the storage class of an existing S3 object. This can be done by copying the object with the new storage class. You can also use S3 Lifecycle policies to transition objects between storage classes automatically.

You pay for storing objects in your S3 buckets. The rate you’re charged depends on your objects’ size, how long you stored the objects during the month and the object’s storage class. You can estimate your costs using the [AWS Pricing Calculator](https://calculator.aws/).

The storage classes can be split into groups based on the access pattern: frequent access, unknown or changing access, infrequent access, and archive access.

### Frequent Access
S3 Standard is a general-purpose storage class for any type of data, typically used for frequently accessed data. If a storage class is not specified when the object is uploaded, S3 Standard class is the default class assigned to an S3 object. S3 standard has low latency and high throughput which makes it suitable for a wide range of use cases. Use the S3 Standard class when an object is accessed more than once a month and millisecond access is needed.

### Unknown or changing access
For data with changing, unknown, or unpredictable access patterns, such as data lakes, analytics, or new applications, use S3 Intelligent-Tiering. S3 Intelligent-Tiering automatically moves your data between three low-latency access tiers optimized for frequent, infrequent, and rare access. S3 Intelligent-Tiering monitors access patterns and automatically moves objects that have not been accessed to lower-cost access tiers.

S3 Intelligent-Tiering automatically stores objects in three access tiers: a Frequent Access tier, an Infrequent Access tier, and a Archive Instant Access tier. Objects that are uploaded or transitioned to S3 Intelligent-Tiering are automatically stored in the Frequent Access tier. S3 Intelligent-Tiering works by monitoring access patterns and then moving the objects that have not been accessed in 30 consecutive days to the Infrequent Access tier. Any existing objects that have not been accessed for 90 consecutive days will automatically move to the Archive Instant Access tier. As data moves into a more cost-efficient storage class, you pay less for the storage and at the same time, you can still access the data immediately. Frequent, Infrequent, and Archive Instant Access tiers have the same low-latency and high-throughput performance as S3 Standard.

Additionally, for data that does not require immediate access, you can activate one or both of the archive access tiers: Archive Access and Deep Archive Access tier. To access the archive data you will need to restore the data.

You pay a monthly monitoring and automation charge per object stored in the S3 Intelligent-Tiering storage class to monitor access patterns and move objects between access tiers. There are no retrieval charges, and no additional tiering charges apply when objects are moved between access tiers.

Objects smaller than 128KB are not eligible for auto-tiering. They can be stored in S3 Intelligent-Tiering but will always be charged at the Frequent Access tier rates, and you are not charged for the monitoring and automation of these objects.

### Infrequent access
Use S3 Standard-IA and S3 One Zone-IA storage classes for long-lived and infrequently accessed data, that require millisecond access. Amazon S3 charges a retrieval fee for these objects, so they are most suitable for infrequently accessed data.

S3 Standard-IA class stores the object data redundantly across multiple geographically separated Availability Zones. Use it for your primary or only copy of data that can’t be re-created. S3 Standard-IA offers the high durability, high throughput, and low latency of S3 Standard, with a low per GB storage price and per GB retrieval charge.

Unlike other S3 Storage Classes which store data in a minimum of three Availability Zones (AZs), S3 One Zone-IA stores data in a single AZ and costs 20% less than S3 Standard-IA. But, the data is not resilient to the physical loss of the Availability Zone. It’s a good choice for easily re-creatable data. You can also use it as cost-effective storage for data that is replicated from another AWS Region using S3 Cross-Region Replication.

### Archive access
The [Amazon S3 Glacier storage classes](https://aws.amazon.com/s3/storage-classes/glacier/) are purpose-built for data archiving and you can choose from three archive storage classes optimized for different access patterns and storage duration.

S3 Glacier Instant Retrieval, is built for long-lived archive data accessed once a quarter with instant retrieval in milliseconds. Compared to S3 Standard-IA, this class offers storage cost savings but higher data access costs. With S3 Glacier Instant Retrieval, you can save up to 68% on storage costs compared to using the S3 Standard-Infrequent Access (S3 Standard-IA) storage class, when your data is accessed once per quarter. S3 Glacier Instant Retrieval delivers the fastest access to archive storage, with the same throughput and milliseconds access as the S3 Standard and S3 Standard-IA storage classes.

S3 Glacier Flexible Retrieval, is built for archiving data that does not require immediate access and offers retrieval option from 1 minute to 12 hours. S3 Glacier Flexible Retrieval delivers low-cost storage, up to 10% lower cost (than S3 Glacier Instant Retrieval), for archive data that is accessed 1–2 times per year and is retrieved asynchronously. S3 Glacier Flexible Retrieval delivers the most flexible retrieval options that balance cost with access times ranging from minutes to hours and with free bulk retrievals.

S3 Glacier Deep Archive is Amazon S3’s lowest-cost storage class and supports long-term retention of data that may be accessed once or twice a year. It is designed for customers that retain data sets for 7–10 years or longer to meet regulatory compliance requirements. S3 Glacier Deep Archive can also be used for backup and disaster recovery use cases.

S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive objects are not available for real-time access. You must first restore S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive objects before you can access them.