Cloudability logo
Check out our complete guide to AWS Reserved Instances
Optimization & Automation

AWS data transfer costs: What they are and how to minimize them

By Leah Weitz on August 19, 2015

For more details on digging into specific data transfer costs with a cloud cost management solution, check out this post.

Data transfer costs can be a nasty surprise for folks new to AWS—and a big headache for even the most advanced users. However, they can be reigned in.

Controlling your data transfer costs comes down to understanding how they work, and architecting accordingly. It’s a critical step toward visualizing AWS costs to optimize cloud spend.

What are data transfer costs?

Data transfer costs are fees for moving data across AWS services to and from EC2. There’s a fee for transferring data into EC2 from another AWS service, and a fee for transferring data out of EC2 to another AWS service; these fees differ for each AWS service.

For some AWS services, the cost for moving data in or out is accounted for in the cost of the service itself, rather than billed as a separate data transfer fee. Sometimes this means that there won’t be a distinct data transfer cost in either direction (such as with AWS Kinesis); sometimes it means that there will be a distinct cost to move data one way but not the other way (such as when transferring to and from AWS S3 across different Regions); other times, there will be a cost to transfer data in and a cost to transfer data out (such as when transferring across EC2s in different AZs).

Download our free playbook: Tracking Down AWS Data Transfer Spikes

It’s important to note that data transfer costs vary based on Region. For each Region, there’s a cost for moving data across services within that same Region, and a different (generally greater) cost for moving data across services outside that Region. Some Regions may have higher or lower data transfer costs than others, which is often based on capacity.

Minimizing data transfer costs

Minimizing data transfer costs depends on designing an infrastructure in which data flows along the least expensive routes. Since the cost of a data transfer route is generally determined by which service types and Regions are involved, minimizing those fees will come down to your selection of service types and Regions, and the direction of data flow across them.

Making Region selections

As a general rule, pulling across Regions will result in higher data transfer fees. It’s kind of like making a local call versus a long-distance call: if all of your machines are in the same physical location, it won’t require much for them to interact and your bill will be minimal. But if you have to communicate across the country, you’re going to rack up a big phone bill (or AWS bill, as it were). The pricing for AWS S3 exemplifies this concept: whereas transferring data to and from S3 across different Regions has a distinct price, transferring data to and from S3 within the same Region is free.

Since pulling across Regions is expensive, you’ll likely want to limit the number of Regions that your data transfers span. The cheapest solution is a data transfer route limited to a single AZ within a single Region. Your next best option is a data transfer route spanning multiple AZs within the same Region. Finally, a large data transfer route that has to span across multiple Regions will have the most significant data transfer fees.

When you’re choosing a Region, keep in mind that all Regional data transfer costs are not created equal. Note the variety, for example, in how much it costs to transfer up to 10 TB of data OUT of EC2 to the Internet from each Region:

AWS data transfer cost by Region

Businesses hoping to architect in an Asia Pacific Region, for example, might consider building in Asia Pacific Singapore over Asia Pacific Tokyo in order to minimize data transfer costs.

Choosing and ordering services

Some AWS services cost more to send or receive data than others; as such, your architectural choices around data flow can have a substantial impact on your data transfer costs. You’ll want to take note of the prices to transfer data to and from each service within your region of choice, and architect accordingly so that you aren’t regularly transferring data along expensive routes when there could be lower-priced alternatives that would serve your needs.

Considering CloudFront

If data transfer to or from the Internet is proving a significant source of costs, consider using AWS CloudFront. In certain regions, and particularly for high volumes of data transfer, CloudFront can offer lower data transfer fees for speedy delivery of static content to and from the Internet.

The IP address

One of the most common missteps that AWS users make around data transfer costs comes down to the IP address. Across the board, data transfer costs are higher with a public IP or Elastic IP address than with private; unfortunately, this fact sometimes goes unnoticed or forgotten. If you have the option to operate out of a private IP, ensuring that you consistently do so can represent a significant source of savings.

Learn more about cost-saving architecture strategies

You can learn more about cost-saving architecture strategies by checking out our other blog posts on AWS Usage Optimization. To catch all future tips for saving on your AWS costs, subscribe to receive new posts by email.

 

Editors note: we take a closer look at digging into data transfer costs in this article.

Being in the know feels great