Table Of Contents
What Are AWS Data Transfer Costs? AWS Data Transfer Pricing: How Does Billing Work? AWS Data Transfer Pricing Cost-Saving Tips Need Help Managing AWS Data Transfer Costs? FAQs

You’re probably familiar with finding surprise, hidden charges if you’ve been using the cloud for a while. Data transfer fees are the most common source of unanticipated Amazon Web Services (AWS) charges. They can be so costly that some companies, like Netflix and Pinterest, have spent fortunes on data transfer fees — up to $30 million a year.

In this post, we’ll share tips for navigating AWS data transfer pricing and how you can optimize costs.

What Are AWS Data Transfer Costs?

AWS charges for transferring data between its platform and the Internet and between its services, such as Amazon EC2 and S3.

AWS services sometimes include the cost of moving data rather than charging a separate fee. Because of this, sometimes there is no distinct data transfer cost, such as when using Kinesis on AWS.

In other situations, there may be a charge for moving data one way but not the other, such as with AWS S3 data transfers across regions. Other situations incur different costs for transferring data in or out, such as between EC2 instances in different availability zones.

So evidently, there are quite a few variables. To control data costs, you need to understand how your data moves around and the charges it incurs.

Related Read: The No BS Guide To Understanding S3 Storage Costs

The Cloud Cost Playbook

AWS Data Transfer Pricing: How Does Billing Work?

Billing for AWS data transfers depends on several factors, including the type of data transfer involved, the AWS Region, and the specific AWS services involved.

AWS data transfer charges are also known as bandwidth charges or data egress fees.  Identifying what counts as a data transfer on AWS is also crucial to understanding how data transfer billing works. 

AWS Data transfer types: What counts as a data transfer on AWS?

The following are considered data transfers on the AWS cloud:

  • Data transfer Into AWS (DTI): Importing or uploading data into an AWS service for the first time (not write operations that update existing data), such as into an Amazon S3 bucket or Amazon RDS database. This is also known as data ingress.
  • Data transfer out of AWS to the Internet (DTO): Also known as data egress, this involves outbound data from an AWS service to the Internet. Downloading data or moving it into a third-party processing service are two examples of DTO. 
  • Data transfer within AWS: This involves transferring data from one AWS service (where your workload is) to a different AWS service within the same AWS Region, Availability Zone, or across Regions or Availability Zones.
  • Data transfer between on-premises and AWS: This option involves moving data from an on-premises data center into or out of AWS. There are two options in this case: AWS Site-to-Site VPN or AWS Direct Connect. 

Here’s a quick breakdown of how each AWS data transfer type is billed, so you can tell exactly what you are paying for. 

Billing for data transfers into AWS (DTI)

DTIs are free. AWS does not charge for inbound data transfer (data incoming from the Internet) across all its services and Regions. For example, there will be no charge for uploading data into an S3 bucket, EC2 instance, or DynamoDB database. 

Billing for data transfer out of AWS to the Internet (DTO)

AWS charges a fee for transferring data from an AWS service to the Internet. The provider refers to this as outbound data charges. AWS charges as low as $0.09 per GB for data transfers for most US Regions, $0.12 in the Asia Pacific Region, and $0.154 per GB in Cape Town (South Africa).

The DTO transfer can include downloading objects from an S3 bucket, moving data to a third-party processing service, or pushing it to another cloud provider’s storage.

However, DTO offers free data transfers from AWS to the Internet for the first 100 GB per month. So, the $0.09 per GB rate kicks in when you blow past the free tier of 100 GB but are within 10 TB.

AWS Region

Pricing for data transfer out of Amazon EC2

The rate drops to $0.085 for transfers up to 40 TB per month. The next 100 TB per month cost $0.07 per GB, while transfers up to 150 TB are $0.05 per GB. Customers who forecast they’ll need to transfer more than 500 TB of data in a single month are encouraged to contact AWS directly for custom pricing.

Billing for data transfers within AWS 

Data transfer within AWS can occur among different components of your workload or from your workload to another AWS service. 

But that’s not all.

  • Data transfers from one AWS service to Amazon CloudFront are usually free.
  • Data transfers you make within the same Availability Zone (AZ) are also free.
  • There may ($0.01 per GB) or may not be a fee associated with data transfers out across Availability Zones, but within the same AWS Region. For example, data transfers to and from Amazon EC2 instances and Amazon S3, DynamoDB, SNS, Kinesis, and EBS do not incur charges.
  • For data transfers across AWS Regions (cross-region data transfers), pricing starts at $0.01 per GB or $0.02 per GB, depending on which Regions are involved. For example, a data transfer from Amazon EC2 in the US East (Ohio) Region to the US East (North Virginia) Region costs $0.01 per GB. Meanwhile, transfers to the US West (N. California), Europe (Vodafone), London, or Asia Pacific (Mumbai) are $0.02 per GB.

Here’s one more billing option you’ll want to know.

Billing for data transfers between on-premises data centers and AWS

Charges apply based on the type of data transfer you choose, PLUS the standard data out (egress) fees applicable; Site-to-Site VPN or Direct Connect. 

  • Site-to-Site VPN: This managed service securely connects your data center and AWS VPCs or AWS Transit Gateway to transfer data. 

Pricing is based on the time you use (connection time) and the volume of data you transfer (per GB).

The connection time applies as long as a VPN connection is available and provisioned. Billing is per hour. A connection hour is charged at $0.05, and a partial hour is billed as a full hour.

In addition to that $0.05 per hour rate, you’ll pay data egress (DTO) charges if you transfer more than 100 GB per month. 

Here’s an example: 

Say you create a Site-to-Site VPN connection to an Amazon VPC in the US East (N. Virginia) region. You keep the connection going for 7 days, 12 hours daily. During that time, you transfer 1,000 GB in and 400 GB out. 

The connection fee will be: $0.05 per GB in US East (N. Virginia) X 12 hours X 7 days = $4.2

The data transfer out (DTO) fee will be: 400 GB – 100 GB free tier = 300 GB X $0.09 per GB for the up to 10 TB tier = $27

The data transfer in (DTI) fee will be: $0

The total charges for this AWS Site-to-Site VPN data transfer will be $4.7 + $27 = $31.7. 

  • AWS Direct Connect: This option lets you create a dedicated connection to AWS. You can either connect using your own direct connection from AWS or a hosted connection by one of the AWS Direct Connect Delivery Partners worldwide. This option only transfers your data to a Direct Connect location — not out into the Internet.

Billing for AWS Direct Connect data transfers is based on:

  • Capacity (in Mbps or Gbps)
  • Port hours (duration that a port is provisioned for your use): This  
  • Data transfer out

It costs $0.30 per hour for 1 Gbps, $2.25 per hour for 10 Gbps, and $22.50 per hour for 100 Gbps for a dedicated connection. A hosted connection starts at $0.03 per hour for 5 Mbps, up to $2.48 per hour for 10 Gbps.

Hosted Connections

Data transfer out charges start at $0.02 per GB and are region-dependent. To get the most up-to-date prices, check the AWS Direct Connect pricing page here.

This is an overview of AWS data transfer pricing. Each of its service pricing pages includes a “Data Transfer” section. You can check out each page to get specific rates for your exact needs. 

Here are examples from the most common AWS services:

Once you have a good idea of what goes into calculating that AWS data transfer bill, you can take the next step: cut unnecessary costs and optimize your necessary spend.  

AWS Data Transfer Pricing Cost-Saving Tips

Maybe you have wondered the same thing as the person in this Reddit thread.

Cost Saving Tips AWS

Yes, AWS data transfer fees can really add up. And on that note, here are some guidelines to help you understand, control, and optimize your AWS data transfer costs.

1. Limit outbound data transfer where possible

The simplest way to reduce AWS data transfer costs is to look for ways for your application to reduce the fat when​​ sending outbound data. AWS egress pricing is where most data transfer costs really pile up at AWS egress pricing. 

As you can see from the AWS Data Transfer Pricing Chart below for the US West (Oregon) region, inbound data is not taxed, whereas outbound is (on a sliding scale).

Of course, for some applications, restricting outbound data is not possible. If you’re serving any sort of media content over the internet, particularly images and videos, you will quickly rack up outbound data transfer fees. And while you’ll notice that the price per GB decreases as you transfer more outbound data, this isn’t much of a comfort when considering total spend.

Suppose, for the sake of an example, that your application is serving 150 TB of data per month — something not out of the realm of possibility for large-scale enterprise applications. Even using the cheapest rate of $0.05/GB, you’re looking at 150TB = 150,000GB *$.05/GB = $7500/month in AWS data transfer costs alone!

Data Transfer

(AWS Data Transfer Cost Breakdown – Representative Example)

2. Add “cost allocation tags” to your instances and load balancers

The first step in AWS cost reduction is getting insight into where your application is incurring the highest usage fees. To assist in this process, AWS provides a handy feature called cost allocation tags, which can be used with the AWS Cost Explorer to analyze which instances/services data transfer fees are stemming from.

Cost Explorer will identify the EC2 and other transfer costs driving your bill higher. 

By applying these tags to your instances and load balancers, you can identify which ones are generating the highest AWS data transfer costs and further filter them by type: CloudFront (out), Inter AZ, Internet (In), Internet (Out), Region to Region (In), and Region to Region (Out).

EC2 Filters

(Applying Cost Allocation Tag Filters)

3. Use Amazon CloudFront

Once you’ve used a tool like the AWS Cost Explorer to identify pain points, you can try using an additional AWS service like CloudFront to ease them. 

CloudFront is explicitly designed to reduce charges arising from EC2 to public internet transfer, such as one might incur from hosting a website that serves content to the public.

Caching your content in CloudFront can greatly reduce the charges incurred. CloudFront offers a free tier that entitles customers to 50 GB outbound data transfer and 2 million HTTP requests per month for the first 12 months. 

Beyond that, CloudFront data transfer is charged according to the following table.

Here is a complete guide to CloudFront pricing.

On-Demand Pricing

4. Keep data transfer within a single region

When transferring data between AWS services such as EC2 and S3, architect your application to ensure these transfers happen within a single AWS region.

Beyond this, ensure you’re transferring data via private IPs, not public or elastic IPv4/IPv6 addresses. Assuming you adhere to these caveats, your data transfer cost will be $0.

5. Keep EC2 data transfer within a single availability zone

When transferring data, notably between EC2 instances but also RDS, Redshift, and other service instances, you will be charged $0.01/GB in each direction unless you keep the data transfer within the same availability zone.

The advice from the previous section on transferring data using private IP addresses still applies. To incur the lowest possible costs, combine solutions four and five, and keep data transfer confined to a single availability zone within a single region.

6. Use the cheapest available AWS regions that make business sense

Data transfer costs can vary widely due to AWS region pricing. AWS data transfer costs for certain regions are cheaper than others. Regions within the United States and Canada are normally the most inexpensive, whereas Singapore, India, and South America are among the most costly.

Unless there is a compelling business reason to host your services in these countries, opt for the more cost-effective North American regions.

7. Use a third-party monitoring service to help you identify your data transfer pain points

Using a third-party AWS cost monitoring service, such as CloudZero, can alert you to unforeseen data transfer charges as they arise. Using proprietary machine learning algorithms, CloudZero will identify which services are causing you to incur high data transfer costs and suggest fixes you can make to reduce your overall spending.

Cost Anomaly Alerts

Need Help Managing AWS Data Transfer Costs?

Here’s the thing. Cost management tools generally only show average and total costs, not specific data transfer costs. 

This often makes it hard to identify who, what, and why your data transfer costs are changing. Trimming unnecessary data transfer costs becomes a challenge. If this is a problem you’d like to fix, CloudZero can help.

With CloudZero, you can:

  • Track cloud migration costs from the start to prevent surprises.
  • Map your data transfer costs to the specific services, environments, teams, and products that generated them. Then you can tell exactly where to reduce unnecessary expenses.
  • View your data transfer costs alongside other costs — broken down by immediately actionable, hourly insights, like cost per customer, team, feature, project, environment, and more.
  • Allocate 100% of your AWS costs, no matter how complex your environment is.
  • Receive timely, noise-free, and contextual cost anomaly alerts right in your inbox so you can fix issues at the root cause.

We mean it. CloudZero helped LawnStarter save 50% on cloud storage. And NinjaCat cut its cloud costs by 40%. It doesn’t stop there. The average CloudZero customer hits 33% efficiency on average in their first year with help from our Certified FinOps Practitioners. Want similar results or better? to experience Cloudzero firsthand. 

FAQs

What is data transfer cost in AWS billing?

This refers to the fees AWS charges for data transfers from AWS to the Internet. There is no charge for transferring data into AWS, such as uploads or imports.  

How much does it cost to transfer data out of AWS?

AWS charges for data transfers out of AWS vary depending on the service and the region. For example, after the first 100GB of free storage per month, data transfer out of Amazon EC2 instances to a third-party service starts at $0.09 per GB.

How much does it cost to transfer data from EC2 to S3?

The cost can vary based on the total number of files, the average file size, and the regions involved. For example, transferring 1 TB of S3 files from the US West (Oregon) Region to Asia Pacific (Beijing) Region would involve factors such as Amazon EC2 instance hours, GET and PUT requests, DynamoDB write requests, SQS requests, and Data Transfer Out charges. Additionally, the cost of transferring data between an Amazon EC2 instance and an Amazon S3 bucket in the same region is typically $0.09 per GB.

Which types of data transfer are free for Amazon S3?

Data transfers into AWS (ingress), data transfers out of AWS to Amazon CloudFront, and data transfers you make within the same Availability Zone (AZ) are free.

How much does AWS egress cost per GB?

The standard rate starts at $0.09 per GB for data transfer out of AWS to the Internet.

The Cloud Cost Playbook

The step-by-step guide to cost maturity

The Cloud Cost Playbook cover