Data Transfer Costs; Everything You Need To Know
In the cloud-dominated world of AWS, a vast array of cloud services and pricing models are available to choose from. Though AWS lets you pick the services that best fit your IT landscape, organizations quickly end up with complex, tangled cloud bills; data transfer costs, for instance, contributing up to 30% to the total cost.
But, as they say, being pampered for choice and variety has its own downside, so is true for the Cloud.
Had it been one or two services or, pricing models being used for your workloads, understanding the cloud bill would be no challenge. But the nasty fact that hundreds of services and various pricing models are required to run multiple projects simultaneously, itself explains that estimation of cloud cost and spiky surprises can be horrifying for fellas new to AWS and even for the most traditional, advanced users. In any case, they need to be reigned in.
Data transfer costs come on top of every other service cost in AWS.
Controlling your data transfer costs boils down to getting clarity on what are data transfer costs, how they are associated with other services, and architecting in an optimal state.
What do we mean by Data Transfer Costs?
Data transfer costs are charges incurred for transferring data in & out, to & from an AWS cloud service. You are also charged for transferring data into one service from another AWS service, and charged for transferring data out of the service to another one. These data transfer costs differ for each AWS service.
It is quite important to understand that data transfer costs fluctuate on the basis of AWS Regions.
For each and every AWS Region, there’s a fee for transferring data across services within the same Region and, for moving data across services outside that Region, the charges applied are different (usually higher costs than others). Some Regional data transfer costs vary based on capacity.
How Data Transfer Makes Your Cloud bill to Skyrocket?
In AWS, data transfer between regions generally rips off your pocket as compared to intra-region data transfer between various availability zones (AZs). Whereas, data transfer between different availability zones incurs a higher cost than what is charged for transferring data within an availability zone.
What can be concluded from the above statements is that costs incurred are the highest if data is transferred across different regions.
- Data transfer into EC2 is usually free but, the outbound transfer has its fees. This is something that gets many new AWS customers to fall into the “unawareness” trap. Generally, data transfer “OUT from Amazon EC2 to the Internet” incurs substantial costs. These costs can rapidly mount up and keep on adding to your month to month cloud bills.
- Re-hosted applications that are not configured and/or aligned with AWS features needs a reality check as they are more prone to sky-rocket the costs we are discussing. They should be re-architected (opening opportunity door for an MSP with the right skills) to ensure that data transfers are completed through the cheapest route possible.
- Enterprises leveraging the benefits of Hybrid Cloud need to give a thought on their on-premise data centers. The communication and incremental migrations to the Cloud from on-premise systems can bring spiky surprises to Cloud bills.
Cut Down Your Data Transfer Costs
Cutting down data transfer costs relies on how you architect an infrastructure that streams your data along the cheapest routes possible.
Pick Your Regions Wisely:
With a standard perspective, irrespective of different fees for different AWS services and data capacities, pulling across Regions is expensive. You probably need to narrow down the number of Regions that your data flows across.
If you transfer data across different availability zones within the same region, odds are; charges will be lower than what used to be. And if you take a data transfer route that is confined to a single AZ within a single AWS Region, the costs are the lowest. If either way does not work out, try architecting or re-architecting your frameworks in a way so that the data transfer across various AWS regions or availability zones, is minimum.
When you’re selecting a Region, keep in mind that all Regional data transfers are not going to cost you equally.
Consider the pricing range, for example, how much it costs to transfer up to 40 TB of data OUT from EC2 to the Internet from each Region:
Organizations can thus choose accordingly, considering the least expensive AZ(s) within the cheapest Region amongst all.
Selection and Organization of Services are Important:
There are particular AWS services which cost more to send and/or receive data as compared to the others. Taking capacity as an additional factor, your infrastructure choices or the AWS environment you choose for data flow can significantly affect your data transfer costs.
Your best option is to analyze which services incur higher costs for transferring data to and from within the selected Region, and re-design in a manner that you don’t need to transfer data along costly routes on a regular basis. Go for lower-costing alternatives that would equally cater to your needs.
IP Addresses Can Save You Some:
The most common and commonly ignored fact that, the type of IP address used directly impacts data transfer costs makes many AWS customers pay big-time. Costs are higher when data is transferred using a public IP or Elastic IP address than using a private IP; which often goes into sheer negligence.
Therefore, if you have the option to operate in and out of private IP addresses instead of public or elastic IP addresses consistently, do not step back. This is going to grab you some significant savings.
A trend of “modest to huge” spends is followed in your AWS cloud bill due to transferring large volumes of data via public or elastic IP addresses. AWS customers usually neglect or forget the fact that compressing or caching their data before transferring can save quite an amount.
Also, when you deploy production changes, do not forget to automate server-side compression and client-side caching post deployment, in your release automation cycle.
This way you can save more on your data transfer jobs and take a step ahead towards AWS Cloud Cost Optimization.