AWS Fundamentals for Startups Part 1 — Set up Billing Alerts to Avoid Unexpected AWS Charges
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.
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
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.