AWS S3 cost calculator

A Walkthrough of the AWS S3 Cost Calculator

The AWS S3 cost calculator may well get more use than any of Amazon’s other pricing tools. In fact, it may well get more use than any other pricing tool out there.  If you’re going to use it, you need to know how to use it properly.  With that in mind, here is a quick walkthrough of Amazon’s S3 cost calculator.

The basics of Amazon S3 pricing

There are three factors which determine how much you pay for your Amazon S3 usage.  These are: storage, data transfer and number of requests.

Storage

This is pretty straightforward.  You pay per gigabyte of objects stored in your S3 buckets.

Data transfers

More specifically, outbound data transfers to the internet or to other Amazon regions, intraregional traffic is free.

Web requests

On the one hand, the cost for the various requests (PUT, COPY, POST, LIST and GET) is minimal (currently around $0.005 per 1,000 requests).  This means that even though cost optimization is hugely important to making the cloud work for you, this is one time when you could probably, quite justifiably, say “don’t sweat the small stuff” (or at least not as a priority).

On the other hand, GET requests generally involve outbound data transfers for which there is a charge, which means that it might be helpful to look at them specifically and see what you can do to minimize them.

A walkthrough of the AWS S3 cost calculator

Now that we’ve established the basics of the AWS S3 cost calculator, let’s have a look at how it works in practice.

Everything starts with a region

Whole articles could be written on the importance of regions in AWS, but for now, let’s keep it simple.  First of all, you need to be clear on what regions you can use for your storage.  For example, if you’re an ecommerce company handling personal data (e.g. names and addresses), then you may well be restricted as to where they can be stored. 

If you still have a choice of regions, then you can choose one (or more) according to your business priorities.  For example, you may prefer the region with the lowest pricing or the region closest to your customers which should have the lowest latency, depending on your needs and wants.  You can use more than one region if you wish, but then you have to run the calculation for each region.

Standard storage versus reduced redundancy storage

Amazon has a variety of storage classes to suit various use-case scenarios and performance-access requirements.  In theory there are two storage classes for objects which are accessed frequently and/or need to be made available with the maximum possible speed (as in milliseconds).  These are standard storage and reduced redundancy storage, or, as they are currently shown on the AWS S3 cost calculator, storage and reduced redundancy storage.

In theory, standard is the default and reduced redundancy storage, as its name suggests, is intended for data which can be stored with less redundancy than in standard storage, so basically noncritical, reproducible data.  In practice, however, Amazon itself recommends that you do not use reduced redundancy storage because standard storage is more cost-effective, which does rather raise the question of why they bother to have it in the first place.

On point of principle, you should do your level best to calculate your storage needs as accurately as possible as they will make a difference to your monthly bill.  In reality, it probably won’t hurt all that much if you’re a bit out as the storage aspect of S3 is very affordable.

Requests

You’ll notice that PUT, COPY, POST and LIST requests are on one line and GET requests are on another line.  We’re not sure if AWS did this to encourage you to think hard about the number of GET requests you will make, but even if they didn’t we would encourage you to do so.  As previously mentioned, it’s really not the cost of the requests themselves, it’s the data-transfer costs they usually generate.

Data transfers

The AWS S3 cost calculator shows three options:

Inter-Region Data Transfer Out

Data Transfer Out

Data Transfer In

The big ones are;

Inter-Region Data Transfer Out

Data Transfer Out

As these are where the costs of AWS S3 can start to add up.  Having said that, everything is relative and even using AWS extensively it’s still a very affordable option.  The key point to note is that it pays (or saves, however you want to look at it), to think about how you use objects and to see if there is any way in which your applications and/or work processes can be improved to minimize the need for chargeable data transfers. 

When considering this question, remember to think about the “human factor” or, to put it more bluntly, the fact that people generally appreciate the reality of costs more when those costs impact them in some way.