Getting a Grip on Your AWS Data Transfer Costs
Understanding Your AWS Data Transfer Costs
Your data is one of the most valuable assets your company has. Utilizing the cloud improves your data’s mobility and flexibility to enhance its value. With the cloud, it’s easy to move that data where you need it, when you need it. The catch is that moving data costs money, and those AWS data transfer costs can add up quickly. Let’s take a look at what those costs are and how you can get a handle on them.
What Are AWS Data Transfer Costs?
AWS data transfer costs are what AWS charges to transfer data either:
- Between AWS and the internet
- Within AWS between services, such as EC2 or S3
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 EC2 instances in different availability zones (AZs).
All those variables mean that controlling data transfer costs means knowing exactly how your data is moving around.
Data transfer between AWS and the Internet
Data transfer costs from AWS to the internet are highly dependent on the region. For example, for S3 buckets located in the US West (Oregon) region, the first GB/month is free and the next 9.999 TB/month cost $0.09 per GB. However, if the S3 buckets are located in the South America (São Paolo) region, the first GB/month is still free, but the next 9.999 TB/month cost $0.25 per GB.
Data transfer within AWS
Within AWS, you can transfer data across regions or within a region.
Data transfer across regions
Transferring data between AWS services across regions has the same cost structure as transferring data between AWS and the internet. These costs also depend on the region, but data transfer into an AWS region from any other AWS region is free. In other words, you only pay for the outbound transfer of the originating region, not the inbound transfer in the target region.
Data transfer within regions
Transferring data between AWS services within a region costs differently depending on whether you’re transferring data within or across AZs.
Data transfers are free if you are within the same region, within the same availability zone, and use a private IP address. Data transfers within the same region, but in different availability zones, have a cost associated with them.
To help you visualize how this all fits together, here’s a diagram that shows the various types of data transfers for EC2 instances. Rates are for US West (Oregon).
Cost-Saving Tip: Plan Your Route
Here are a few things to remember about data transfer costs:
- Costs are usually highest for data transfers between regions.
- Second-highest costs are for data transfers between AZs within a region.
- Lowest costs are within a single AZ.
Reduce your data transfer costs by designing an infrastructure where data flows along the least expensive routes. Minimize traffic across regions and AZs. Maximize traffic that stays within an AZ or, at least within a region.
As we mentioned earlier, different regions have different data transfer costs. If you aren’t required to use a specific region, take a look at a few of them to see which offers the most cost savings.
Cost-Saving Tip: Use Private IP Addresses
Across the board, data transfer costs are higher with public IP or Elastic IP addresses than with a private address. Consistently using private IP addresses can drastically reduce costs.
Cost-Saving Tip: Consider Amazon CloudFront
Amazon CloudFront is a global Content Delivery Network (CDN) service. Data transfers from EC2 to Amazon CloudFront cost nothing. If you move high volumes of data to your users, such as videos, images and audio, then Amazon CloudFront can help you keep your data transfer costs down. Pricing for transfers from CloudFront to the internet depends on the region and on the amount of data you transfer. Here are some of the options.
Regional Data Transfer Out to Internet (per GB)
|Per Month||United States & Canada||Europe||South Africa & Middle East||Japan||Australia||Singapore, South Korea, Taiwan, Hong Kong, & Philippines||India||South America|
You can see the full CloudFront pricing guide here.
Cost-Saving Tip: Experiment with the AWS Simple Monthly Calculator
The AWS calculator lets you experiment with different configurations to see how you can save the most money. It’s also a good way to immediately see what variables can impact your costs. Click on the resource you want to use, such as EC2 or S3, set your region, and look at the Data Transfer section of the calculator to see what you need to consider. Try plugging in some values to get a sense of what your costs will be.
Data Transfer Costs at a Glance
This table summarizes the data transfer costs you can incur for various AWS services. If there’s a black dot, then you can get charged for that transfer. Remember that data transfer OUT is data transferred from the service to the internet. Data transfer IN is data transferred to the internet from the service.
|Service||Data transfer in||Data transfer to different AZ in region||Data transfer out to other regions||Data transfer out to internet||Data transfer out to CloudFront|
|Amazon EC2 (Includes EBS)||•||•||•|
|Amazon EKS (Based off EC2 clusters)||•||•||•|
A Few Notes About EC2 and S3
EC2 and S3 are probably the two most widely-used AWS services. So let’s dig into them a little deeper.
EC2 — What’s free?
Within the same region, there’s no data transfer cost when you transfer data out of EC2 to:
- Amazon S3
- Amazon Glacier
- Amazon DynamoDB
- Amazon SES
- Amazon SQS
- Amazon SimpleDB
Within the same AZ, there’s no data transfer cost when you transfer data to:
- Amazon RDS
- Amazon Redshift
- Amazon ElastiCache instances
- Amazon Elastic Load Balancing
- Elastic Network Interfaces
Regardless of the region or AZ, there’s no data transfer cost to transfer data to CloudFront or when using a private IP address. All data transfer IN to Amazon EC2 from the internet is free.
You can see the complete EC2 pricing guide here.
S3 — What’s free? What’s not?
Data transfer IN to S3 from the internet is free. Data transfer OUT to CloudFront is also free. Everything else will have some cost associated with it.
S3 also has various data transfer acceleration options which cost extra. Pricing varies depending on the AWS Edge Location used to accelerate the data transfer.
|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|
You can see the complete S3 pricing guide here.
Take Control of Your Data Transfer Costs
The more insight you have into your AWS data transfer costs, the better able you’ll be to take control of them. You want to know not just what you’re spending, but how you can save money without losing any of the power the cloud gives you. That’s where a cloud cost management platform, like Cloudability, comes in. Using our wide variety of capabilities, everyone involved, whether they’re in Finance, Development or IT, can work together to cut costs and increase efficiency.
If you want to control your data transfer costs, then you need visibility into the costs and data analysis reports that give you actionable insights. Sign up for a free trial find out how Cloudability can give your team the visibility it needs to get more from their cloud.