Making the most of your AWS data transfer calculator

A data transfer calculator can be a bit like weighing scales.  You may not want to look at it, but you probably should and you should probably pay attention to what it’s telling you.  Just like with weighing scales, the initial reading only tells part of the story.  If it looks bad (in other words excessive), the reasons probably lie with your behavior – and usually they can be fixed.

What your data transfer calculator is telling you

At a basic level, your data transfer calculator is telling you how much data you transferred between:

AWS and the internet

Different AWS regions

Different AWS availability zones (essentially sub-regions)

Different AWS services

At a deeper level, it’s telling you how good you are at routing your data traffic effectively.

What your data transfer calculator isn’t telling you

There is a bit of a twist to data transfer calculations which is that some services (like AWS Kinesis) incorporate data transfer into the cost of the service.  While this can be convenient, it also obscures the amount of data you are actually using.  Effectively, this means that the only way to keep a lid on these costs is to be really strict about keeping control of your data flows.

The fundamental rules of cost optimization for AWS data transfers

  • Try to keep all data traffic within the same availability zone if at all possible.
  • If that’s not possible, try to keep it within the same region.
  • Minimize the amount of outbound data you send to other regions or the internet.

Point three may look like it is basically an extension of points one and two (and to a certain extent it is), but the basic idea is that you look at traffic routing first and if you reach a situation where you must transfer to another region or the internet, then you do everything possible to keep a lid on how much data you transfer.  Admittedly you should be doing this at all times, but it does take on a whole new level of importance with data transfers between regions and the internet.

(If you can) choose your region with great care

These days, the choice of AWS region is increasingly likely to be determined by the law than by issues of latency and cost.  Assuming you do have a choice, however, then investigate all your options including the non-obvious ones to see which offers the best overall deal.

If you are constrained by legal requirements, then you really need to be on point with regards to managing your data flow and keeping on top of cost optimization, so as to minimize the impact of the extra costs.

Remember Amazon CloudFront

If your issue is data transfers to the internet, rather than to other Amazon regions, then Amazon CloudFront could be well worth a look.  Basically it’s a content delivery network.  It’s free to transfer data from EC2 to Amazon CloudFront.  Charges to transfer data from Amazon CloudFront to the internet do carry a charge and this varies by region. 

On this point, please note, that you cannot select a region for Amazon CloudFront the way you can for most other services.  Basically, your content will be made available from data centers around the world and when a user requests it, they will be directed to the one which offers the lowest latency at that point in time.  This offers the highest level of speed and convenience to the user, but the downside of this is that costs can be unpredictable. 

Having said that, if you know your user base and their habits, you could probably make an educated guess as to what data centers they’re likely to end up using and hence be able to take an educated guess at what your costs are likely to be.

Think about using a private IP address

Amazon charges more for data transfers made using a public IP address, this includes Elastic IP addresses.  If you can make a point of using private IPs as much as you possibly can, you can really make a difference to your data transfer costs.

Experiment with Amazon pricing tools

Amazon is currently in the process of replacing its Simple Monthly Calculator with a new tool called the AWS Pricing Calculator.  At this point in time, it’s unclear when it will launch (it’s currently in Beta testing) or what, exactly, it will offer.  Based on its website, however, it looks like it’s going to offer a whole lot more flexibility and transparency than the current Simple Monthly Calculator.  Having said that, the Simple Monthly Calculator is still a whole lot better than nothing and can certainly be looked at in the meantime.

Stay on top of pricing changes

The information given in this article is correct for December 2019.  Obviously, AWS pricing can and does change.  Make a point of keeping track of these changes so you can take early action if you need to.