Cloudability logo
Listen to our AWS re:Invent 2018 Reaction
Visibility

Simplifying Cloud Storage Costs: How AWS S3 Pricing Works

By Gavin Cahill on September 27, 2018
With so many variables in play, AWS S3 pricing can seem very complicated. The trick is breaking the billing structure down, then finding the best fit for your data use.
How S3 pricing works

S3 may stand for Simple Storage Service, but many people consider Amazon S3 pricing to be far from simple. And no wonder. Your final S3 costs depend on a bunch of different pieces, including storage use, the amount of outbound data transferred every month and the number of requests made.

Let’s look at your S3 options and the billing associated with each one so you can take the first steps towards getting a handle on your storage spend.

Breaking Down AWS S3 Storage Classes

Running a business today means dealing with a massive amount of data, and there’s a wide spectrum of how often that data is accessed. On one side you have data that’s almost constantly being accessed, revised, overwritten and deleted. On the opposite end you have compliance or regulatory data that won’t be touched for years at a time.

To cover this whole spectrum, Amazon S3 offers four different storage classes, each with different durability, availability and performance requirements:

S3 Standard

S3 Standard is the default for many users. It’s designed for data that’s accessed frequently. S3 Standard is the workhorse of Amazon S3. The low latency and high throughput makes it an extremely versatile backbone for many applications.

S3 Standard – Infrequent Access (IA)

S3 Standard-IA is best for storing data that is accessed less frequently than data stored in S3 Standard, but that still requires rapid access when it’s needed. It’s ideal for long-term storage or backups, and it’s often used as a data store for disaster recovery. Its storage costs are lower than S3 Standard, but there are data retrieval charges.

S3 One Zone – Infrequent Access (S3 One Zone-IA)

This Amazon S3 class stores data in a single AWS Availability Zone (AZ). Unlike the other S3 classes, it isn’t designed to be resilient to the physical loss of an AZ due to a major event such as an earthquake or a flood. But if you don’t need the extra protection provided by geographic redundancy, then you can take advantage of prices 20% lower than S3 Standard-IA.

Amazon Glacier

Glacier is intended for very long-term, rarely accessed data. It’s often used for end-of-lifecycle data that can’t be deleted because of compliance and regulatory requirements. There are a few ways to retrieve your data at various speeds, but it can take up to 12 hours to get your data back.

Comparing AWS S3 Classes

S3 Standard S3 Standard-IA S3 One Zone-IA Glacier
Redundancy 99.99999999% 99.99999999% 99.99999999% 99.99999999%
Availability 99.99% 99.99% 99.95% Not applicable
Minimum period of storage Unlimited 30 days 30 days 90 days
Minimum size of object Unlimited 128KB (you can have smaller objects, but you’re charged for 128K) 128KB (you can have smaller objects, but you’re charged for 128K) Unlimited
Accessibility Milliseconds Milliseconds Milliseconds 1 minute to 12 hours depending on the retrieval method
Data retrieval charges None Per GB of the data retrieved Per GB of the data retrieved 10GB per month free, then per GB of the data retrieved

AWS S3 Basic Costs

Amazon S3 Data Storage Costs

S3 data storage costs vary according to their region. As an example, this table shows the costs of all four S3 classes in the US West (Oregon) region:

S3 Standard Storage Pricing
First 50 TB / Month $0.023 per GB
Next 450 TB / Month $0.022 per GB
Over 500 TB / Month $0.021 per GB
S3 Standard-Infrequent Access (S3 Standard-IA) Storage
All storage $0.0125 per GB
S3 One Zone-Infrequent Access (S3 One Zone-IA) Storage
All storage $0.01 per GB
Amazon Glacier Storage
All storage $0.004 per GB

To make sure you’re always looking at the current pricing for your region, refer to Amazon S3 Pricing.

The key to managing your storage costs is to pair the right data with the right storage class based on how the data is used. We recommend sorting your data by how frequently it needs to be accessed to figure out whether you need S3 Standard or not. Once you’ve ruled out S3 Standard, you have to figure out whether you should stick with S3 Standard-IA or if you can take advantage of the savings from One Zone-IA and Glacier. If the data can be easily recreated or has redundancy, then S3 One Zone-IA can be a good choice. If the data’s an archive or long-term storage, then Glacier may be your best bet. Focus on how you’re using the data now rather than years in the future. AWS Lifecycle management has tools that can help sort data into the right classes automatically as its use evolves. We’ll go into that a little more later.

Amazon S3 Data Transfer Costs

AWS data transfer charges are based on the amount of data transferred from S3 to the Internet (Data Transfer Out), as well as data transferred between AWS regions (Inter-Region Data Transfer Out). Transfers between S3 buckets or from S3 to any service(s) within the same region are free. In the US West (Oregon) region, the costs for Internet data transfers roll out like this:

Data Transfer IN To Amazon S3 From Internet Price
All data transfer in $0.00 per GB
Data Transfer OUT From Amazon S3 To Internet
Up to 1 GB / Month $0.00 per GB
Next 9.999 TB / Month $0.09 per GB
Next 40 TB / Month $0.085 per GB
Next 100 TB / Month $0.07 per GB
Greater than 150 TB / Month $0.05 per GB

Transfers Out from one region to another also come with a cost, but substantially less than to the Internet. From US West (Oregon), for example, transfers to any other region, including AWS GovCloud (US), are priced at $0.02 per GB. Transfers Out to CloudFront, Amazon’s global content delivery network, are free. As a note, if you’re going to be transferring more than 500 TB a month you should reach out directly to AWS for special pricing.

Amazon Transfer Acceleration

Amazon S3 Transfer Acceleration enables fast transfers of files over long distances between your client and your Amazon S3 bucket. It’s easy to use and you don’t need custom protocols or apps. Thanks to AWS’ intelligent routing, you can achieve up to six times faster data transfer. When it comes to billing, Transfer Acceleration comes with a handy control: if AWS can’t make the data packet move faster, you won’t be charged the premium. Transfer Acceleration pricing is in addition to Data Transfer fees and is not region-specific.

Data Transfer IN to Amazon S3 from the Internet:
Accelerated by AWS Edge Locations in the United States, Europe, and Japan $0.04/GB
Accelerated by all other AWS Edge Locations $0.08/GB
Data Transfer OUT from Amazon S3 to the Internet:
Accelerated by any AWS Edge Location $0.04/GB
Data Transfer between Amazon S3 and another AWS region:
Accelerated by any AWS Edge Location $0.04/GB

Transfer Acceleration uses Edge Locations that are part of CloudFront, and your price is based off which Edge Location you use. CloudFront’s global network includes 125 Edge Locations and 11 Regional Edge Caches in 62 cities across 29 countries. To test out how much faster your can go, check out the Amazon S3 Transfer Acceleration Speed Comparison tool. It lets you see how much of a difference Transfer Acceleration makes to your uploads for different regions.

AWS Snowball

AWS Snowball is a petabyte-scale data transport solution that uses devices designed to securely transfer large amounts of data into and out of the AWS Cloud. Simply create a job in the AWS Management Console and a Snowball device will be automatically shipped to you. Each job includes the use of a Snowball device for 10 days of free onsite usage. After that, there’s a small charge for extra onsite days. Data transfer into AWS is free, while transfer out is priced by region. There are also job fees and shipping fees. Check out the Snowball Pricing page for more info.

AWS S3 Query in Place Pricing

One of the great parts about Amazon S3 is the tools that allow you to analyze and process large amounts of data in the cloud. Query in Place eliminates the need to transfer data out, analyze and process it, then transfer it back into S3. There are three different services you can use: S3 Select, Amazon Athena and Amazon Redshift Spectrum.

Amazon S3 Select Request Costs

Pricing for S3 Select is done by request. Requests include PUT, COPY, POST, LIST GET and SELECT. The PUT, COPY, POST and LIST requests, which are for uploading objects, cost more than the GET and SELECT requests, which are for downloading objects. Like most AWS costs, these will vary by region.

Pricing
Data Returned by S3 Select $0.0007 per GB
Data Scanned by S3 Select $0.002 per GB
PUT, COPY, POST, or LIST Requests $0.005 per 1,000 requests
GET, SELECT and all other Requests $0.0004 per 1,000 requests
Lifecycle Transition Requests into Standard – Infrequent Access or One Zone – Infrequent Access $0.01 per 1,000 requests

Sample pricing table for S3 Select requests with S3 Standard in US West (Oregon). Check out the full pricing page for other classes and regions.

Amazon Athena S3 Costs

With Amazon Athena, you can analyze S3 data using standard SQL expressions. Athena is a serverless service, so you only pay for the queries that you run. Billing is based on the amount of data scanned in each query, priced at $5 per TB scanned.

Since pricing is based on data scanned, the trick to controlling Athena costs is to format your data correctly to mesh with your SQL expressions to scan as little data as possible with each query. Compressing, partitioning or converting your data to a columnar format can dramatically increase the efficiency of your queries. When done right, you can lower your costs anywhere from 30% to 90% and increase the performance at the same time.

Amazon Redshift Spectrum S3 Costs

Amazon Redshift Spectrum is designed for using SQL to run queries against exabytes of data. Like Amazon Athena, it’s priced by the amount of data scanned at $5 per TB scanned. And also like Athena, you can control your costs by compressing your data and converting it to columnar formants like Apache Parquet.

Redshift Spectrum and Athena are very similar. A lot of deciding which one to use comes down to whether you’re already using or are going to use Redshift as a data warehouse. Redshift Spectrum is often run as part of a greater Redshift setup. Because of this, any Redshift Spectrum S3 costs will also include the standard costs of using Redshift nodes.

AWS S3 Storage Management

AWS has a number of tools that let you manage your storage. They include AWS Object Lifecycle Management, inventory, analytics, and object tagging. The last three have costs associated with them.

Using Lifecycle Management to reduce costs

AWS Object Lifecycle Management lets you programmatically configure rules for data deletion or migration between types of S3 storage to help lower long-term storage costs. For example, active data should remain in S3 Standard storage. However, if some data begins to be accessed less frequently, you can automatically migrate that data over to S3 Standard-IA for a cheaper storage rate.

Object Lifecycle actions are sorted into Transaction Actions (moving data) and Expiration Actions (deleting data). Expiration Actions are free, and while there are no actual costs for using AWS Object Lifecycle Management, there are costs for Transaction Actions, such as transferring data between S3 Standard-IA and Glacier.

Lifecycle Management Tip: Glacier Requests

You can add lifecycle management rules to tell Amazon S3 to transition objects to another S3 class, including Glacier. If you plan to do this frequently, remember that some extra storage is needed to store metadata. Also, remember that there are fees for data retrieval, the retrieval speed, the archive request and a few other options. Take a look at the AWS documentation, Transitioning Objects for more info.

Inventory

Amazon S3 inventory provides a flat file list of your objects and metadata, and is a scheduled alternative to the Amazon S3 synchronous List API operation. Take a look at the AWS documentation, How Do I Configure Amazon S3 Inventory? for more information.

Billing for S3 Inventory is based on how many objects are listed and priced at $0.0025 per million objects listed.

S3 Analytics Storage Class Analysis

Storage Class Analysis lets you monitor the access frequency of the objects within your S3 bucket in order to move less frequently-accessed storage to a lower cost storage class. Learn more by checking out the AWS documentation: Amazon S3 Analytics – Storage Class Analysis.

S3 Analytics is priced at $0.10 per million objects monitored per month.

S3 Object Tagging

Amazon S3 Object Tagging lets you manage and control access for S3 objects. S3 object tags are key-value pairs applied to S3 objects, and they can be created, updated, or deleted at any time during the lifetime of the object. To find out more, take a look at the AWS documentation, Object Tagging.

S3 Object Tagging is price by the number of tags at $0.01 per 10,000 tags per month.

Using Other AWS Services with S3

AWS has a few other services that provide more options for delivering and using S3 data. Each one of these services has their own systems and pricing that incorporate others AWS services, so we won’t go into their pricing here. But it’s important to know that they’re there and that part of their use can be allocated to your total S3 costs.

AWS Direct Connect

AWS Direct Connect lets you create a dedicated network to access direct ports into AWS data centers at incredible speeds. Direct Connect can be used for all AWS services, including EC2, DynamoDB, VPC and S3. AWS charges per port per hour and by the amount of data transferred.

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose loads streaming data into data stores, including S3, Lambda and more. Pricing is based on the volume of data ingested, which is calculated as the number of data records you send to the service times the size of each record rounded up to the nearest 5KB. For example, if your data records are 42KB each, Kinesis Data Firehose will count each record as 45KB of data ingested.

Getting a Handle On Your AWS S3 Costs

As you can see, there are a lot of moving parts to Amazon S3, all of which can unexpectedly drive up your costs. This is where a culture of cloud cost management and the right cloud cost management platform are vital for an organization.

With a solid cost management culture, every member of your team from executive to developer is empowered to take actions that get your more for your cloud investment. And the right platform, like Cloudability, will make sure they have the data they need to be empowered. Sign up for a free trial to see how Cloudability can help you control your AWS costs.

Being in the know feels great