How to Avoid Cost Overages in Amazon Web Services

Shocked Woman

What’s your monthly Amazon Web Services bill? A few hundred dollars? A few thousand? Would it be surprising if it jumped to $60,000? It’s actually not that hard to do.

We’ve all been there. In the haste to ship code out the door, you spin up extra EC2 nodes, upgrade instance types, and convert to EBS-optimized storage to eke out just a few more IOPS in your Hadoop cluster. After your seventh Redbull, the collection of terminal screens and configuration windows begin to blur, and you struggle to keep the code straight in your head. You forget all about the Amazon Web Services modifications, right up until that monthly bill arrives.

Only then do you find that you’ve just spent $60,000 on cloud services.

Common Gotchas

AWS Availability Zones

The Availability Zones Trap

Even in well run organizations, it’s easy to make small configuration changes which carry dramatic cost differences.

Take data transfers for example. Transferring within a region is free, but transferring between regions is metered and charged. However, data transfers between availability zones in the same region are charged at $0.01/GB. This tidbit is left out of the New Users Billing FAQ from Amazon.

Other culprits for billing surprises can include:

  • Leaving instances idle without terminating them.
  • Stopping instances rather than terminating them.
  • Forgetting to release Elastic IP addresses.
  • Keeping more EBS snapshots than needed.

With careful and well planned resource usage, along with full understanding of configuration options, users can avoid most surprises. Even still, computing power is a prime target for malicious users. Stories about Amazon credentials being stolen for use in botnets or bitcoin miners are depressingly common, and re-enforce the need for monitoring and vigilance.

Tools

Thankfully, there are tools you can use to catch these events before they get out of hand.

From Amazon directly:

For more complex arrangements, you can access CloudWatch via API, or enable Detailed Billing Reports, which drops CSV files into an S3 bucket for further analysis or integration.

And for third party options,  Cloudability, CloudCheckr and Cloudyn all offer tools to track usage, provide alerts, and control spend in AWS.