7 pricing plans. Multiple tiers in most of those 7 plans. Hundreds of potential extras, addons, and bonus charges that aren’t fully disclosed unless you go digging. That is the nightmare of trying to understand Amazon S3 pricing.
That’s what we’re here to demystify.
So strap in for another deep dive into the facts and figures behind S3 pricing, along with an examination of why these costs are what they are, and even why Amazon’s internal operations make it seem like they’re trying to trick you with pricing complexity.
This post will cover:
- An Amazon S3 pricing overview
- What’s so complicated about S3 pricing?
- Why is S3 priced this way?
- How to simplify your S3 pricing
Let’s get started.
An Amazon S3 pricing overview
On the surface, Amazon S3 pricing is pretty simple. You only pay for what you use, and the price of what you use depends on the S3 storage class that you’re using. It’s a typical on-demand pricing plan, similar to EC2 instances and many other products (AWS-based and otherwise).
You can choose from the following storage classes:
- S3 Standard
- S3 Standard - Infrequent Access
- S3 One Zone - Infrequent Access
- S3 Glacier Instant Retrieval
- S3 Glacier Flexible Retrieval
- S3 Glacier Deep Archive
- S3 Intelligent - Tiering
We’ll dive into the why of these prices a little later, but let’s have a refresher on the basics first. All of the following prices are accurate as of 18th July 2023, and are based on the region of US East (Ohio).
Understanding S3 pricing: S3 Standard
Designed with a 99.99% availability rate in any given year, S3 Standard is an extremely reliable place to store any data that needs to be frequently accessed. As you might imagine, this makes it the most generally useful storage class on Amazon S3, with use cases for it including public websites, mobile apps and games, log storage for frequently accessed or analyzed logs, cloud applications, and config files.
If you need something to be highly available and durable, S3 Standard is the way to go. And if you sign up for S3 without any major configuration, you’re getting S3 Standard.
S3 Standard will cost you $0.023 per GB stored for the first 50 TB stored per month, with the price dropping to $0.022 per GB for the next 450 TB, and finally scaling down to $0.021 per GB for anything over that initial 500 TB.
Understanding S3 pricing: S3 Standard - Infrequent Access
S3 Standard - Infrequent Access is suitable for anything that you don’t need to access much (hence the name), but that you need fast access to when you do. This makes it great for long-term storage and backups.
The price of this plan matches the equivalent S3 Intelligent tier at $0.0125 per GB stored per month, but note that it will cost you more to retrieve your data (more on that in the “What’s so complicated about S3 pricing?” section).
Understanding S3 pricing: S3 One Zone - Infrequent Access
S3 One Zone - Infrequent Access is very similar to the regular Infrequent Access plan, but sacrifices a little retrieval speed and reliability in order to reduce the cost. As such it’s only really suitable for data that can be easily reproducible, such as secondary backups.
Storage on S3 One Zone costs $0.01 per GB stored per month.
Understanding S3 pricing: S3 Glacier Instant Retrieval
S3 Glacier Instant Retrieval is best suited for data archiving, but is designed to still allow you to quickly (if not instantly) retrieve any data therein. This makes it cheaper than any of the Infrequent Access plans, but still a little more expensive than the other Glacier plans.
S3 Glacier Instant Retrieval will set you back $0.004 per GB stored per month.
Understanding S3 pricing: S3 Glacier Flexible Retrieval
S3 Glacier Flexible Retrieval (formerly S3 Glacier) is designed to be used to store data long-term, with a longer retrieval time (1 minute to 12 hours) in return for lower costs. As you might imagine, this makes it ideal for long-term backups, archives, and data stored for compliance reasons, but not for objects relating to running an application.
S3 Glacier Flexible Retrieval costs $0.0036 per GB stored per month.
Understanding S3 pricing: S3 Glacier Deep Archive
The final conventional S3 pricing tier is S3 Glacier Deep Archive, which functions in the same way as the other Glacier plans, but has retrieval times of up to 12 hours and is (bar a few exceptions) the most expensive to retrieve data from. It’s great for data that you only have to retrieve or access once or twice per year, such as anything that you may have previously stored on magnetic tapes.
S3 Glacier Deep Archive costs $0.00099 per GB stored per month.
Understanding S3 pricing: S3 Intelligent - Tiering
S3 Intelligent - Tiering is akin to an amalgamation of several pricing plans, but the basics remain simple. You still pay for what you use, and the cost still depends on how frequently you access your items. However (as long as an object is over 128 KB) this plan will automatically shift your objects to the cheapest storage plan, depending on your access patterns.
If you access something frequently, it’ll be charged according to the Frequent Access Tier (the most expensive). If it’s accessed less, it’ll be moved to a lower-cost plan.
The only other thing of note is that the price of all of these plans is the same as their equivalent set plans. For example, the Frequent Access Tier costs the same in storage as the S3 Standard plan. The difference is that you’ll pay a little extra for the privilege of having your objects automatically sorted onto the most appropriate plan.
The flat cost for all types of S3 Intelligent - Tiering is $0.0025 cost for every 1,000 objects over 128 KB to cover monitoring and automation costs.
Frequently accessed objects will be placed on the Frequent Access Tier, which has the same pricing plan as S3 Standard. Your first 50 TB per month cost $0.023 per GB stored, the next 450 TB per month cost $0.022 per GB, and any extra storage is $0.021 per GB.
Scaling down, there is the Infrequent Access Tier, which is generally cheaper. Objects moved to this plan will cost $0.0125 per GB per month for all storage. Archive Instant Access is the final tier available in the general plan and costs $0.004 per GB stored per month.
For any files that are even more infrequently accessed (think in terms of backups of other data), S3 Intelligent offers optional asynchronous tiers. The Archive Access Tier will set you back $0.0036 per GB stored per month, and the Deep Archive Access Tier costs $0.00099 per GB stored per month.
What’s so complicated about S3 pricing?
So far, so simple. So why is S3 pricing considered to be confusing?
It all comes down to the bonus charges.
These costs cover:
- Bucket requests and data retrieval
- Data transfer
- Management features and analytics
- Replication costs
- S3 Object Lambda
- Early retrieval penalties
The tricky thing with these is that they all vary depending on the storage class of the data they’re related to. For example, S3 Standard has the lowest costs for bucket requests, while most Archive and Glacier tiers incur much heavier data retrieval costs.
We won’t cover every pricing point for these extra costs (check out our Ultimate Guide to S3 Pricing for the full rundown) but let’s go through the broad strokes to get an idea of what you’ll be working with.
PUT, COPY, POST, and LIST requests will cost you between $0.005 per 1,000 requests on S3 Standard and $0.05 per 1,000 requests on S3 Glacier Deep Archive. GET, SELECT, and all other requests cost between $0.0004 per 1,000 requests on S3 Standard, S3 Glacier Flexible Retrieval, and S3 Glacier Deep Archive, and $0.01 per 1,000 requests on S3 Glacier Instant Retrieval.
Lifecycle Transition requests cost between $0.01 per 1,000 requests on S3 Intelligent - Tiering and $0.05 per 1,000 requests on S3 Glacier Deep Archive.
Data Retrieval requests cost between $0.025 per 1,000 requests for bulk retrievals on S3 Glacier Deep Archive and $10.00 per 1,000 requests on the Archive Access, Expedited branch of S3 Intelligent - Tiering and on the Expedited branch of S3 Glacier Flexible Retrieval. Data retrievals also cost you per GB retrieved, at between $0.0025 per GB for bulk retrievals on S3 Glacier Deep Archive and $100.00 per Provisioned Capacity Unit on S3 Glacier Flexible Retrieval.
There are no data transfer charges associated with the first 100 GB of data transferred out to the internet from an S3 bucket each month, nor for transferring data into an S3 bucket from the internet, transferring data between S3 buckets in the same AWS Region, transferring data from an S3 bucket to any AWS service in the same Region as the bucket, or transferring data out to Amazon CloudFront.
However, transferring data out of your S3 bucket to the internet will cost you. This scales from $0.09 per GB for the first 10 TB per month to anything over 150 TB costing $0.05 per GB. Transferring data out of your S3 bucket to a different AWS Region will also result in a charge of between $0.01 per GB for certain regions in the US to $0.02 per GB for others in the US and any outside the US. The final data transfer charges are all related to accelerating your connection, from $0.0025 per GB for certain S3 Multi-Region Access Points to $0.08 per GB for certain locations with general S3 Transfer Acceleration.
As stated above, there are also costs incurred via management features and analytics, replication, and S3 Object Lambda. For example, Amazon S3 Inventory costs $0.0025 per million objects listed, and S3 Object Lambda costs $0.005 per GB of data retrieved. Again, for the full prices, check out our Ultimate Guide to S3 Pricing.
Finally, every tier below S3 Standard has a minimum-duration requirement, beginning with 30 days for Infrequent Access and extending as long as 90 days for Glacier Deep Archive. If you retrieve an object from a deeper storage tier before that minimum duration requirement, you will be assessed an early retrieval penalty equal to the cost of storing the data for the remaining days of the minimum duration time period. The only exception to this is if deeper classes are assigned via Intelligent Tiering. In that case, there are no retrieval penalties for any class, making Intelligent Tiering an even more cost effective option for unpredictable retrieval schedules.
Why is S3 priced this way?
When trying to understand why S3 pricing can be so confusing, there is a short (oversimplified) answer, and a longer, more nuanced explanation.
The short version is that it’s priced this way because that’s the value that Amazon ascribes to these features and services in order to cover their own costs while still making a profit. You don’t have the infrastructure that Amazon does, meaning that you’re having to pay for the privilege of using that, and for the interfaces with that infrastructure.
The more complicated explanation is that Amazon operates in small independently managed groups which buy and sell services from other independently managed groups. That means there are teams running storage hardware, teams running retrieval mechanisms, teams running S3 interfaces, etc. Each of these teams have a base cost to run, and a service charge they bill to the internal teams using their service.
By the time you’re purchasing an S3 storage class, the S3 product has incurred quite a lot of internal costs along the way, and they need to recoup those costs from the customer in order to make sure the service is profitable.
While many other businesses smooth over these independent costs into a single price point, that’s simply not how Amazon was built. Every AWS service’s individual price points are representative of the underlying costs incurred from using the technology created by disparate underlying teams.
S3 pricing is more complicated simply because there’s so many more systems running under the hood.
So what can you do in the face of a pricing system that’s complex both by design and by the sheer convoluted nature of its offerings?
Simple. You bring in the experts.
How to simplify your S3 pricing
Here at Aimably we’re dedicated to cutting through the confusion and helping you to know what you’re spending, whether that money is worth the return, and how to save as much money as possible.
Our AWS Cost Reduction Assessment will view your data and bills in regard to your business’ goals and priorities to generate a list of action items you can use to cut costs. Our proprietary S3 analysis algorithm will recommend the precise storage class for each of your buckets, taking into consideration custom lifecycle policy modeling against the Intelligent Tiering offering, making sure your storage is fully cost-optimized. Each recommendation has its own risk assessment to show you how safe you are in making that adjustment versus your business’ performance, so you’ll never be caught off guard by unexpected consequences, and we draw from every potential saving method available to AWS account holders, so you’ll never miss a trick.