S3 storage classes and their trade-offs
S3 Standard is the default. Data is replicated across at least three Availability Zones, retrievals are free and instant, and there is no minimum storage duration. You pay a higher per-GB price for this flexibility. It is the right choice for data you access regularly because there are no retrieval penalties to offset the higher storage cost.
S3 Intelligent-Tiering automatically moves objects between frequent and infrequent access tiers based on access patterns. There are no retrieval fees, which makes it ideal when you do not know how often data will be accessed. There is a small per-object monitoring fee. Objects that have not been accessed for 30 days move to the infrequent tier at lower cost. Objects that are accessed move back automatically.
S3 Standard-IA (Infrequent Access) is for data you access less than once a month. Lower storage cost than Standard, but there is a retrieval fee and a 30-day minimum storage charge. Storing data in Standard-IA for only a few days will cost more than Standard because of the minimum. S3 One Zone-IA stores data in a single AZ for an even lower price, but you lose data if that AZ fails.
The Glacier tiers are for true archival data. Glacier Instant Retrieval retrieves in milliseconds but charges for retrieval. Glacier Flexible Retrieval takes minutes to hours and is cheaper. Glacier Deep Archive is the cheapest storage on AWS and retrieves in up to 12 hours. All Glacier tiers have minimum retention periods: Glacier Instant and Flexible at 90 days, Deep Archive at 180 days.
Lifecycle policies and object management
Lifecycle policies automate storage class transitions based on object age. A policy might say: transition to Standard-IA after 30 days, transition to Glacier Flexible after 90 days, delete after 365 days. This is set once and runs automatically, eliminating manual management of large object collections.
Transitions must follow a specific order: Standard can transition to Intelligent-Tiering, Standard-IA, One Zone-IA, Glacier Instant, Flexible, or Deep Archive. Intelligent-Tiering can transition to Glacier. You cannot transition backward to a higher-tier storage class via lifecycle policy; you would need to copy the object.
Versioning keeps previous versions of objects when they are overwritten or deleted. Combining versioning with lifecycle policies is common: expire current versions after 365 days and delete non-current (previous) versions after 30 days. Without lifecycle rules on non-current versions, your storage costs compound as versions accumulate.
How to choose the correct answer
Access pattern matching: frequently accessed, latency sensitive = Standard. Unknown access pattern = Intelligent-Tiering. Accessed monthly, retrieval fees acceptable = Standard-IA. Accessed quarterly, millisecond retrieval needed = Glacier Instant Retrieval. Archived, hours retrieval acceptable = Glacier Flexible. Compliance archive, years retention = Glacier Deep Archive.
Cost structure trap: Standard-IA has lower storage cost but higher retrieval cost. If you access the data frequently, the retrieval fees will exceed the savings. Standard-IA is only cheaper when access is genuinely infrequent.
Minimum storage period: Standard-IA = 30 days. Glacier Instant and Flexible = 90 days. Deep Archive = 180 days. Storing data for shorter periods will still incur the minimum charge.
One Zone-IA vs Standard-IA: One Zone-IA is cheaper but data is not zone-redundant. Do not use it for any data you cannot recreate from another source.