S3 Storage Classes
While initially S3 did not offer many different storage classes, times have changed. Today, AWS offers many different classes to permit you to save on costs while providing the required levels of durability. At this writing, the following storage classes are available in AWS S3:
S3 Standard: This is the default storage class. If you do not specify a storage class, this class is assigned to your data.
S3 Express One Zone: This is a high-performance, single-zone S3 storage class. Express One Zone is the lowest-latency cloud object storage class available today. Also, your data is redundantly stored on multiple devices within a single Availability Zone (AZ).
Reduced Redundancy: This class is designed for noncritical, reproducible data. As the name implies, you sacrifice redundancy with this class.
S3 Intelligent-Tiering: This storage class automatically moves your data to the most cost-effective storage tier associated with the Intelligent-Tiering class. This storage class uses three access tiers: Frequent Access, Infrequent Access, and Archive Instant Access. In addition to using these three tiers, you can also choose to archive data from this class into two different archive tiers: Archive Access and Deep Archive Access.
S3 Standard-IA: With this storage class, object data is stored across multiple AZs.
S3 One Zone-IA: With this storage class, object data is stored in only one AZ.
S3 Glacier Instant Retrieval: This class archives your data in such a way that it is available within milliseconds, as needed.
S3 Glacier Flexible Retrieval: This class archives your data in such a way that portions of the data can be retrieved in minutes. Data stored in the S3 Glacier Flexible Retrieval storage class has a minimum storage duration period of 90 days and can be accessed in as little as 1 to 5 minutes by using an expedited retrieval.
S3 Lifecycles
To assist you in saving storage costs, AWS S3 makes the configuration of storage lifecycles very simple. A lifecycle is a set of rules that define actions that S3 will take automatically for you with your data. S3 can use two types of automated actions with your data: transition actions and expiration actions. AWS uses transition actions to automatically move your data between S3 storage classes, and it uses expiration actions to automatically delete your data.
S3 lifecycles can be of tremendous benefit to you and your organization. Consider a company that is planning on uploading (and sharing) documents via an S3 bucket. Within the first 60 days, these documents might be accessed frequently by several employees. After 60 days, the access might switch to infrequent. After 120 days, it might be appropriate to archive the documents. Thanks to S3 lifecycles, you can easily construct rules to automate these transitions within your storage classes. Figure 16-2 shows the configuration of S3 lifecycles in the AWS Management Console.
Figure 16-2 Lifecycles in AWS S3