Tracking AWS Spend? Be Prepared for the Unexpected

2 Min Read

The original version of this blog was contributed by Chris Haag, Director of Engineering, Agari, and featured on their blog. Agari is a CloudHealth Technologies Customer.

Tracking AWS spend is complex, baffling, and can sometimes look like mission impossible. At Agari, we know you can only improve something once you can measure it. We’ve discovered CloudHealth as a meaningful partner in tracking both AWS usage and costs. Specifically, we’ve found it helpful in analyzing cost trends. It’s advantageous in examining cost drivers and being alerted of unexpected cost spikes before our monthly bill spirals out of control. Our first month, however, presented us with a costly shock:

Tracking AWS Spend - Agari Cost History Report

Our AWS spend seemed to almost increase by 200% at the beginning of every month! The bill for these spikes were recorded as “EC – Unused RI”, meaning we may have been throwing away money on unutilized Reserved Instances (RIs).

In order to uncover the cause for this anomaly, it’s essential to first consider EC2 Reserved Instances’ uses and how they work. Relative to RIs, On-Demand pricing seems much more uneconomical than the three RI categories: No Upfront, Partial Upfront and All Upfront. Although the discounts change over the period of time, types of instances and regions, they can still yield 20% to 45% of savings when compared to the On-Demand rate. There is a catch: purchasing an RI term commits you to that spend, even if the instance hours go unused. Accordingly, we spend a lot of time analyzing our “consolidated payer AWS” account (which i what we use to handle RIs), auditing usage with their Billing > Reports > EC2 Reserved Instance Utilization Report:

Tracking AWS Spend - Agari Reserved Instances Utilization

Looking at the chart, anyone can discern that our usage is fudging amazing, so we thought, “What’s going on?!” Why does CloudHealth attribute half our costs as “Unused RI”?

The story is the charges stem from CloudHealth pulling data straight from the daily AWS billing data for us. This isn’t a technical issue, it’s just an unclear label from AWS: a better one might be “Not Yet Used, but Reserved RI”. AWS accrues the full cost of all instance reservations at the beginning of each month and shows it in one single charge. As the month progresses and you utilize instance hours covered by your reservation term, the charges are processed as “EC2 – Compute” and are taken away (at a monthly rate) from the “EC2 – Unused RI” line item on Day 1. If you actually use 100% of your reservations, your monthly bill will never show the “Unused RI” charges.

We very much advocate analyzing AWS daily costs with CloudHealth – we only advise you to be ready for some unexpected findings!

We Think You Might Like These: