AWS Fundamentals for Startups Part 1 — Set up Billing Alerts to Avoid Unexpected AWS Charges

Andrew WC Brown
ExamPro
Published in
3 min readSep 27, 2018

Motivation

I once received at $3000 USD bill from AWS because I spun up an ElastiCache server where I thought I was using the smallest instance but it was defaulted to use a large instance by default. I never used the server because I thought it had never actually started. AWS was nice enough to forget the bill but ever since than I always make sure I have Billing Alarms set in CloudWatch to catch these billing mishaps.

Considerations

CloudWatch Alarms are stored in us-east-1 US East (N. Virginia) so ensure you’re in this region or you won’t see your alarms.

We are going to create a billing alarms that will send an email when exceed $20 USD. If you have a runaway bill its good to set multiple alarms in case you ignore the lower charge. I might suggest $20, $100 and $500 USD.

On my Minecraft Server I have two alarms at $20 and $100 USD

Enable Billing Notifications

Under your Account Preferences ensure you have Billing Alerts check boxed and Save preferences

Create a Billing Alaram

In the CloudWatch Console under Alarms we’ll create a new Alarm

We’ll select Total Estimated Charge under Billing Metrics

Then we need to checkbox EstimatedCharges and proceed to Next

If you don’t see anything graphed it might be because you have no charges.

Set the Name and the Amount of $ we want to watch. Then lets create a New SNS List to subscribe our email to be alerted when the Billing Threshold is breached.

Naming the SNS Topic NotifyBilling and input my email into the Email List and Create Alarm

When you create the alarm you will see under State INSUFFICENT_DATA. We just have to wait some time before it starts collecting metrics.

So here I have 2 alarms and one has exceeded threshold so its ALARM and the other is OK.

Here is what the email looks like when you get an email that triggers and ALARM.

--

--

Andrew WC Brown
ExamPro

I have an unhealthy obsession with web-development.