Going Over My First Amazon Bill

So I just (at the time of writing this on the 5th) got my Amazon AWS bill for the month of March, a whopping 31¢.

Let’s take a look at the real cost of what I’m using AWS for.

A Foreword

March has two unusual properties to it:

  1. I didn’t sign up for services until the middle of March
  2. The second evolution of VCS internals part came out that I helped with, and that caused a.. shall we say large traffic surge to my site.

Billing By Service

Athena

Athena is essentially the Google BigQuery of Amazon. You define a SQL table, point it towards an S3 bucket of data that matches that table schema, and then you can query it… like a table.

I have server-side logging enabled on my CDN bucket, and therefore, I can search through those logs, pulling out individual bits of data or looking for anything suspicious.

You’re charged on the Terabyte scanned per query. In my case, this is practically nothing.

Budgets

Yes, you have to spend money to track how much money you’re spending.

Simple answer: you can create two budges a month for free. I have two. It’s free.

CloudTrail

Essentially, account logging. Management events (this changed, logins, etc.) are free, so… free.

CloudWatch

Metrics on other services. I have some things set up tracking the rate of requests to my CDN bucket that return errors, the average amount of data downloaded per request, latency, all sorts of things.

First, a “dashboard” that organizes metric graphs nicely.. can only have 3 for free. So that’s free.

Second, you can only attach up to 10 alarms to metrics for free. I have 2, it’s free.

Similarly, you can only track 10 metrics for free, and I think I’m under that limit too.

And the last item I’ll cover, the first million CloudWatch API requests are free. 166 < 1,000,000,000.

Data Transfer

Data IN or OUT of an S3 data center.

Data IN is always free, it’s data OUT that you pay for, usually between 2¢–9¢ depending on the datacenter it’s coming from, per GB.

Data OUT for the first GB (per datacenter) is free.

After this, it’s a prorated1 9¢ per GB of data out. At 3.271 GB out, that’s 3.271 x 0.09 = 0.29511, so 29¢ total.

Key Management Service

IAM, API keys, all that.

With almost everything else, I’m not exceeding the free tier.

Simple Notification Service

Notifying you when your alarms trigger.

The first 1,000 emails and first million API requests are free, and I’m well below that bar.

Simple Storage Service

The only other part they charged me for! There’s a few items in here.

First, 2.3¢ per GB, for the first 50 TB you store. This is calculated in GB-days, where storing 2 GB for one day “costs” the same amount as storing 1 GB for two days. I got… 0.083 GB-days.

Second: S3 analytics (CloudWatch): 10¢ per million. 37.903 / 1,000,000 = 0.000037903, 0.000037903 x 0.10 = 0.00000379, and… 0.000379¢ isn’t something you can charge.

Third: 0.4¢ per 10,000 GET (download) requests, and all other not covered by point 4. I have 7,709 of them… 7,709 / 10,000 = 0.7709, 0.7709 x 0.004 = 0.0030836. 1/3rd of a cent.

Finally: 0.5¢ per 1,000 PUT, POST, COPY, and LIST requests (upload, show what exists). 3,440 of those… 3,440 / 1,000 = 3.44, and 3.44 x 0.005 = 0.0172, or, rounded, 2¢.

My entire bill is 29¢ of data transfer and 2¢ of requests. The storage at this point is free, I’m just paying for people to grab it, essentially.

March is a little skewed though, we’ll see what April holds. Because besides the one day that dropped 22 of those cents on me, well… it’s relatively cheap for this.


  1. Proportionally calculated. Instead of staying at 0¢ until I hit 1 GB, and then 9¢ until I hit 2 GB, and so on… it’s calculated proportionally. Half a GB is 4.5¢, 1.5 GB is 13.5¢, and so on. You don’t get to squeeze a little more out for free here. ↩︎