Cloudability logo
Webinar - How DataVisor Scaled Machine Learning on AWS and Lowered Costs
Optimization

AWS S3: understanding cloud storage costs and how to save

By Andrew Nhem on July 7, 2016
AWS S3 billing gets complicated, such as navigating the different types of storage and operations that can determine a user’s cloud storage costs. Identifying them all can help users make sense of extra charges beyond what it costs to store digital goods and improve cloud efficiency.

NOTE: This post was published in 2016. Click here to go to our new post about Amazon S3 pricing.

AWS S3 billing can get complicated, such as navigating the different flavors of S3 storage types and operations that can determine a user’s cloud storage costs. Identifying them all can help users make sense of extra cloud charges beyond what it costs to store digital goods.

[EDIT: 11/23/16] AWS recently updated S3 and Glacier pricing in various regions. We use U.S. West Oregon pricing for our examples in this piece. Check out the AWS documentation for the most updated pricing and information.

Let’s walk through how AWS bills users for S3 and a few different considerations that might come up when determining costs of the service.

Pricing by S3 storage types

Most users store content that’s frequently accessed by their users, audiences, colleagues, and other folks who need to access that data. Some data receive less attention, but require rock-solid, redundant storage. And then, there are data that hardly get touched, but require storage due to compliance or regulatory reasons.

Fortunately, there are a few different flavors of S3 to suit many different storage needs. Users can specify which class of S3 to use for their data from the AWS console, which region to place the S3 resource, and begin to store their data. The available types are as follows:

S3 Standard

This S3 class is the standard use case for many businesses and individuals. Create a storage account, choose a region to place it, use it, and be billed for only what’s used.

S3 Standard – Infrequent Access

This S3 class is best for storing data that is accessed less frequently, but might require rapid access when it’s needed. It’s ideal for long-term storage, backups, and is popularly used as a data store for disaster recovery. It’s a little cheaper to store over time, but with higher charges to retrieve or transfer the data.

AWS Glacier

Glacier is not a S3 class, but an AWS storage product for very long-term, infrequently accessed data. It’s ideal for end-of-lifecycle data that can’t yet be deleted, compliance-type backups, and other long-term needs. Data can be restored at any time with a few different methods of data retrieval at various speeds.

Here’s how much these types of storage can cost

Storage prices vary by AWS Region. Each S3 resource incurs a storage, request, and data transfer fee. Here’s an example of U.S. West Oregon’s storage, request, and data transfer pricing. More regional pricing can be found on the AWS S3 pricing site. Pricing may also vary by region.

S3 Standard S3 Standard – Infrequent Access AWS Glacier
STORAGE
First 50 TB/ month $0.023 / GB $0.0125 / GB $0.004 / GB
Next 450 TB/ month $0.022 / GB $0.0125 / GB $0.004 / GB
Over 500 TB/ month $0.021 / GB $0.0125 / GB $0.004 / GB
REQUESTS
PUT, COPY, POST, or LIST $0.005 / 1,000 requests $0.01 / 1,000 requests
GET and all other requests $0.004 / 10,000 requests $0.01 / 10,000 requests
Delete requests Free Free Free, but with limits and potential surcharges
Lifecycle Transition Requests into S3 Standard IA $0.01 / 1,000 requests
Glacier archive and restore requests $0.05 / 1,000 requests, see Glacier pricing for more details on retrieval fees

Here’s a snapshot (pun intended) of pricing as an illustrative example. Note that in late 2016, there were pricing updates to S3 and Glacier.

About S3 Tier requests and tagging them

AWS Billing for S3 Requests is broken into three tiers that indicate the type of requests, as shown in the table above. For each request type, the tiers include:

AWS users who take the time to tag their S3 resources can visualize these tiers, requests data, associated costs, and data transfer. We cover this type of cloud cost monitoring extensively within Cloudability, for example. For more tagging and linked account information, check out this free eBook for helpful best practices and tips.

Data Transfer Charges: U.S. West Oregon example

Data Type Pricing
Data IN to Amazon S3
All data transfer in $0.000 per GB
Data OUT from Amazon S3 TO
Amazon EC2 in the same region $0.000 per GB
Another AWS Region $0.020 per GB
Amazon CloudFront $0.000 per GB
Data OUT from Amazon S3 to Internet
First 1 GB/month $0.000 per GB
Up to next 10 TB / month $0.090 per GB
Next 40 TB / month $0.085 per GB
Next 100 TB / month $0.070 per GB
Next 350 TB / month $0.050 per GB
Next 524 TB / month Contact AWS
Next 4 PB / month Contact AWS
Greater than 5 PB / month Contact AWS

Visit the AWS pricing page for S3 to see the costs of data transfer, to and from, for other regions.

Some fine (web) print

S3 Standard – Infrequent Access and AWS Glacier can include particular extra charges under certain circumstances. S3 Standard IA has a minimum billable object size of 128KB. Smaller objects can be stored, but will be priced as 128KB object sizes.

Using Lifecycle Management to reduce costs

Users can programmatically configure rules for data deletion or migration between types of S3 to help lower long-term storage costs using AWS Object Lifecycle Management. For instance, active data can remain in S3 Standard storage. Yet, if certain data begin to show signs of infrequent access, users can program rules to migrate that data over to S3 Standard Infrequent to incur a cheaper storage rate.

Migrating infrequently accessed data to cheaper storage can reduce AWS storage bills over time with Lifecycle Management configurations, and can start with writing a simple XML file. AWS has plenty of resources on how to get started.

How filling the S3 buckets incurs charges

Aside from using your business or individual internet service provider to upload data, AWS has a few other methods to deliver data and content to S3. Each of these methods have their own pricing nuances that can increase your storage bill.

Using these alternative means of transferring data over to S3 can increase AWS storage bills beyond what’s outlined on the S3 product page.

Need for speed: AWS Transfer Acceleration

AWS Transfer Acceleration grants Wide Access Network speeds without the need for custom protocols or apps. AWS users can achieve up to six times faster data transfer thanks to AWS intelligent routing. The best part about Transfer Acceleration from a billing standpoint is that if AWS can’t make the data packet move faster, it won’t charge the premium.

Data OUT from Amazon S3 to the InternetData Transfer between Amazon S3 and another AWS region

Data 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
Accelerated by any AWS Edge Location $0.04 / GB
Accelerated by any AWS Edge Location $0.04 / GB

Each time users activate Transfer Acceleration to upload an object, AWS checks whether or not the feature will be faster than a typical Amazon S3 transfer. If AWS determines that Transfer Acceleration will not improve transfer (of a regular Amazon S3 transfer of the same object to the same destination AWS region), AWS will not charge the premium. Often, it may bypass the Transfer Acceleration system for that upload.

Bottom line: Storage pricing includes more than storing the data

Realizing all of the moving billable parts of S3 storage can help operations managers and engineers keep financial surprises to a minimum. Not only can they set proper billing expectations by knowing exactly what to expect when moving data around from S3 type to type, but they can also identify key storage metrics to monitor and measure storage costs over time.

We’ve covered strategic ways to reduce S3 billing in the past, so check out that article for tips on lowering the bill. Otherwise, setting up a cloud cost management tool, like Cloudability, is a great way to start monitoring cloud storage usage and costs to identify possible ways to make storage cost-efficient. We have a Free Trial available for AWS users wanting to see this in action.

Being in the know feels great