Data transfer cost can be a messy affair for most of the people new to AWS. These basic tips can help beginners save cost on their data transfer.

Anxiety over Dynamic Cost Elements

The key advantage of dynamic provisioning of Cloud Platforms is the variability of costs based on actual usage patterns. Without the dynamic costing mechanism, Cloud Platforms are indistinguishable from internal data centers or hosting servers that provide dedicated servers. Even though the cost benefits of the dynamic provisioning feature are very clear, there is always an anxiety among users, especially during the initial adoption phase, that the bills from the Cloud usage would get out of control and give a surprise shock. Data Transfer is one of the most common cost element that Cloud Platform users are oblivious about. Understanding and Managing this can neutralize the biggest risk to Cloud Cost management.

Cost Management for Data Transfer Intensive Applications

Developers and Administrators of Web Applications that are data intensive such as websites that have millions of users, applications that use audio-video files heavily and Big Data applications have to take adequate controls in data transfer to avoid surprise spikes in bills. Data Transfer costs to special purpose data storage services incur costs specific to the storage types. However it is free if the data transfer is between the instances in the same availability zone. It is critical to understand about when the data transfer costs are applicable for EC2 instances. While there are many sources for billing information about data transfer costs, we need to put the information within the context of actual usage scenarios to get a clear understanding of the costs involved.

Understanding the Incoming Data Transfer Costs for EC2

For EC2 instances, the incoming data transfer costs are different from outgoing data transfer costs. Let us look at the costing information for EC2 incoming Data Transfer costs:

The costs are free, except:

Using a public or Elastic IP address, it’s 1c / GB

Amazon EC2, Amazon RDS, Amazon Redshift and Amazon ElastiCache instances or Elastic Network Interfaces in another Availability Zone or peered VPC in the same AWS Region, it’s 1c / GB

To understand the above costing information better, we need to know the usage scenarios when incoming data transfers happen to EC2 instances.

The incoming data transfer happens when the developers upload code and additional software modules into the application server. It is very rare that the volume of this type of data transfer crosses volumes in multiples of GBs. Even then, if the EC2 instance is using a public or Elastic IP address, the cost would be about 1c / GB only. The other usage scenario when this happens is only where the end users of the application upload high volume data such as image, audio and video files to the application server. If this use case is not in the application, one need not worry about incurring the incoming data transfer cost at all.

Understanding Outgoing Data Transfer Costs for EC2

Let us look at billing information for outgoing data transfer costs for the EC2 instances.

It’s charged out of EC2 for:

Using a public or Elastic IP address, 1c / GB

Amazon EC2, Amazon RDS, Amazon Redshift or Amazon ElastiCache instances, Amazon Elastic Load Balancing

or Elastic Network Interfaces in another Availability Zone or peered VPC in the same AWS Region – 1c / GB

Another AWS Region, 2c / GB

We need to understand the above information from usage scenarios perspective to evaluate the cost implications. Mostly the above costs would be incurred only when the data transfer occurs via web services between two Public and Elastic IP addresses. Even in these use cases, the cost is just about 1c per GB. The other use case is where data stored in the EC2 instance have to be moved to specialized storage services like Amazon RDS etc. Another use case is Disaster Recovery application when data is moved between storage services in different AWS region.

Managing Costs using Amazon CloudFront

The Data Transfer Cost is free for most common usage scenarios where data is transferred between storage in same zone.

There is no data transfer cost involved when transferring data out of EC2 to Amazon S3, Amazon Glacier, Amazon DynamoDB, Amazon SES, Amazon SQS, or Amazon SimpleDB in the same AWS Region

Amazon EC2, Amazon RDS, Amazon Redshift or Amazon ElastiCache instances, Amazon Elastic Load Balancing, or Elastic Network Interfaces in the same Availability Zone

Using a private IP address

Amazon CloudFront

From the above billing information, it is clear that there is no cost for data transfer from EC2 to Amazon CloudFront. The implication is that if we leverage Amazon CloudFront to server images, audio and video files to the end-users, we can keep the data transfer costs at a very optimal level.

Botmetric has a dedicated app for Data Transfer cost analysis so that this grey area of cost in your AWS bill is unraveled. You can drill down to discover granular cost by transfer type, accounts, services, tags, regions and many more.