Deciding on an instant access S3 class
Posted: | Tags: storage aws cloudAmazon S3 provides multiple storage classes depending on your object’s access patterns and requirements for retrieval speeds. S3 Standard, Infrequent Access and Glacier Instance Retrieval all provide millisecond first-byte latency for object retrievals but charge different rates per GB of data stored and retrieved. Generally speaking, the colder a storage tier is, the cheaper it is to store data, but the more expensive it gets to retrieve. For this example, I’ll only be comparing three storage classes that offer millisecond first-byte data retrieval.
Cost parameter | Storage class | Charge (USD per GB) |
---|---|---|
Storage | S3 Standard | 0.0245 |
S3 Standard - Infrequent Access | 0.0135 | |
S3 Glacier Instant Retrieval | 0.0050 | |
Data retrievals | S3 Standard | 0.0000 |
S3 Standard - Infrequent Access | 0.0100 | |
S3 Glacier Instant Retrieval | 0.0300 |
The table above demonstrates the concept, S3 Standard being the most expensive class at 0.0245 USD per GB of storage, is also the cheapest class to retrieve data from, as it costs nothing. For Infrequent Access, the storage gets 0.0110 USD cheaper per GB stored compared to Standard, but now you’re charged 0.01 USD per GB you retrieve. Going further, Glacier Instant Retrieval is 0.0195 USD cheaper per GB stored compared to Standard, but you’re charged 0.03 per GB you retrieve. All costs are based on the Frankfurt (eu-central-1) region.
So, say you have an idea of the amount of data you retrieve each month compared to the data stored in that class, what are the tipping points for each of the three listed storage classes?

This graph was generated using the costs listed in the table above, and it used a total storage of 1000GB to make the numbers easier to work with.
With S3 Standard, as expected, regardless of the amount of data you retrieve, the cost doesn’t change. With S3 Infrequent Access, however, you’ll be saving money compared to Standard as long as you don’t retrieve more than 110% of the data you store. Lastly, looking at Glacier Instant Access, you’ll be saving money if you don’t retrieve more than 65% compared to Standard or 42% compared to Standard Infrequent Access.
It’s worthwhile to note that I’m not taking into account API request charges for each storage class, which vary slightly. In this circumstance, it doesn’t affect the overall pricing, as I assume each file averages 1GB in size, the API charges would be higher the smaller the files get, as you’d be using more requests to retrieve them.
If this all seems too much to calculate, there’s S3 Intelligent Tiering, which auto-magically moves objects between storage tiers based on access patterns for a monthly monitoring and automation fee of 0.0025 USD per 1,000 objects. This applies to all objects larger than 128KB. S3 Intelligent-Tiering also doesn’t charge per GB for data retrievals.