Moving to the cloud is attractive in a lot of ways. Increased flexibility, scalability, disaster recovery and lower capital costs are just some of the reasons.
However, for companies considering a move to AWS, there are a few downsides worth looking into before making the jump. One of the most obvious ones is the AWS data transfer cost structure.
It is always good practice to come up with an estimation of your overall AWS costs before making the move. A strategy to see where these costs can be reduced should also be developed from the get go.
In this blog post, we will try to understand what AWS data transfer costs are and how to go about minimizing them.
What are AWS data transfer costs?
AWS data transfer costs are the costs associated with transferring data either with-in AWS between various AWS services like EC2 and S3 or AWS and the public internet.
These data transfer fees are mostly unidirectional i.e. only data that is going out of an AWS service is subject to data transfer fees. However, there are exceptions to this rule as we will see later.
To understand how AWS data transfer costs work, it is important to understand the architecture of AWS itself. AWS data transfer costs differ based on whether your data is going outside AWS to the public internet or staying inside AWS.
The following approximations are made for AWS US-East 1 Virginia and EC2. Data transfer costs for other AWS regions can be different.
AWS data transfer outside AWS
If your data is going outside AWS to the public internet it is charged at $ 0.09/GB (For AWS US-East 1 Virginia). It is important to remember that these costs are different for different regions. E.g. Singapore is charged at $0.120/GB.
Data transfer with-in AWS
There are two aspects to data transfer with-in AWS:
1. Data transfer across regions:
Data transfer between AWS services and across AWS regions is treated as internet data transfer and is charged at $0.02/GB (outgoing data transfer). These costs fluctuate a lot depending on the region e.g. all data transfer from AWS Singapore to other AWS regions is charged at $0.09/GB.
Data transfer in to an AWS region from any service in any other region is free.
2. Data transfer with-in a region:
Inter-regional AWS data transfer costs depend on whether data is being exchanged with-in an availability zone or across availability zones.
a) With-in availability zone (AZ):
Data transfer costs for transferring data in the same region and within the same availability zone are zero, with one caveat. You must be using a private IP address.
If you are using a public or Elastic IPv4 address or IPv6 address data transfer out from EC2 will be charged at 0,01/GB. In the same way, data transfer in to AWS EC2 will be charged at 0.01/GB if using a public or Elastic IPv4 address or IPv6 address.
b) Across availability zones in the same region:
Data transfer between AWS services located in the same region but in different availability zones is considered as regional data transfer and is charged at $ 0.01/GB (outgoing data transfer).
In the same way, data transfer in to EC2 from an AWS service in another availability zone is charged at $ 0.01/GB.
*This is only true for some AWS services like Amazon EC2, Amazon RDS, Amazon Redshift or Amazon ElastiCache instances.
How to minimize AWS data transfer costs
Minimizing AWS data transfer costs should always be a multi-pronged strategy. Following are a few rules of thumb:
- AWS data transfer costs are generally higher for data transfer between regions as compared to inter-region data transfer between availability zones.
- Data transfer costs between availability zones are in turn higher as compared to costs for data transfer with-in an availability zone.
In general you can say that costs are the highest if data is transferred between regions. They get lower if you transfer data between availability zones within a region and are the lowest if you transfer data within an availability zone.
- Architect your systems so that there is minimal data transfer across AWS regions or availability zones.
- Architect your AWS environment such that data transfer is restricted to with-in an availability zone or at the most with-in a region.
- Since different AWS regions have different associated data transfer costs, it is always a good idea to look at the cost structure of different candidate regions before deciding about using a region.
- Whenever possible try to use private IP addresses instead of public or elastic IP addresses.
Want to minimize your AWS data transfer costs?
Get in touch today – we will design an optimized routing policy for your AWS traffic to ensure minimum data transfer costs.