Don’t get Caught Out by AWS Data Egress Fees…

Money growth vector illustration, flat golden coins pile with revenue graph, concept of income increase or earnings, financial boost chart, success capital investment, cash budget isolated
Voiced by Amazon Polly

It’s no secret that AWS, like most cloud providers, charge nothing for data ingress.  It’s free to put your data in to the cloud, yet they do charge for data egress – getting your data back out again.  This fact is often overlooked when modelling the business case for cloud versus on premise.

Recently NASA have committed to upload hundreds of petabytes of data in to AWS, and it seems they failed to factor egress costs into their business case.

Egress costs are published on the AWS website:

Data Transfer OUT From Amazon Internet Price per GB
Up to 1 GB / Month                   –  
Next 9.999 TB / Month              $0.09
Next 40 TB / Month             $ 0.085
Next 100 TB / Month            $0.07
Greater than 150 TB / Month              $0.05

These are the latest prices – as per Amazon’s pricing philosophy to continually lower prices they have reduced over the years – in 2010 they were around 60% higher, so you can expect these prices to continue to drop over time.

Even if you have a ‘Direct Connect’ dedicated network connection in to the AWS cloud, you can still expect to be charged between $0.02 and $0.19 depending on which region you are downloading data to.

Of course whether or not this presents a problem for you will largely depend on your use case.  In NASA’s use case, data is being downloaded regularly by 3rd parties for modelling purposes – this could get very expensive very quickly.

However, you may be uploading data into the cloud in order to take advantage of cloud based data processing services such as Amazon Redshift, EMR or Elasticsearch.  In these cases you won’t be charged for data egress as your data will remain within the AWS cloud while being processed. But beware you could be charged for moving data between AWS Regions – typically inter region transfer is $0.02 per GB.

If you wanted to remove all your data from the cloud – for example to migrate to another cloud or back to on premise, then this could get costly and it is probably worth modelling this cost beforehand should the situation ever arise – that way you’ll avoid the nasty sticker shock when you get your final AWS bill!  

If NASA were to download all 247 petabytes of data at the rates listed above, I make that over $12,000,000 of egress charges alone!  Unlikely NASA will be paying those rates of course, they will undoubtedly have a private pricing agreement, but you get my point.

If you are building a hybrid cloud solution with some infrastructure in AWS and some on premise, then it would be a good idea to model the data flows in advance to try and estimate data egress fees.  Also consider architecting the solution to minimize data egress where possible.

If you are hosting a web application in the cloud, then you are probably used to paying data egress charges for your outbound traffic anyway, so you will be comfortable with this charging model.

Finally, make sure you are leveraging AWS Cost Explorer or 3rd party tools/services to understand your AWS bill and how much you are actually spending on data egress.  With the right tools and tagging policies in place you should be able to tell who is downloading what, and attribute costs accordingly.

You Might Be Also Interested In These...

Amazon EC2

How to Change or Upgrade an EC2 Instance Type

EC2, or Elastic Compute Cloud, is Amazon Web Services IaaS (Infrastructure as a Service) offering – essentially it is a service for running virtual machines in the AWS cloud.  I wrote an earlier post about EC2 and all the different instance types titled AWS EC2 – Everything You Need To Know About EC2 Instances which touched […]

View Post
Realistic set of bright yellow cargo containers. Front, side back and perspective view.

5 New Features in AWS Fargate Version 1.4

What is AWS Fargate? AWS Fargate is a serverless computing engine for containers that enables customers to deploy and manage applications, not infrastructure.  Fargate works with Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS), and enables customers to deploy container based applications without having to provision EC2 instances or Kubernetes pods. AWS […]

View Post
AWS Wall

AWS EC2 – Everything You Need to Know About EC2 Instances

EC2 is short for Elastic Compute Cloud, and it is Amazon Web Services IaaS (Infrastructure as a Service) offering, enabling developers to gain easy access to compute resources in the AWS cloud. AWS offer 275 instances all with set configurations of CPU, RAM, storage type and network performance.  They are grouped into categories of instance […]

View Post
ebook featured image

5 Steps to a Successful

AWS Migration

DOWNLOAD FREE EBOOK