HomeCloudAWSConfigure an AWS billing alert to control charges

Configure an AWS billing alert to control charges


In this post, we are going to create a billing alert that triggers when your AWS account spends in total goes over a certain threshold each month, to estimate charges. More specifically, I don’t want any funny AWS charges, and I want to configure an alarm and set an alert that triggers when my AWS account spent over 15 USD each month. You can select your desired value, I think this 15 USD is suitable for what I expect to use, for now. Also, if you want to use this account to practice for any AWS certifications.

Using the AWS Free Tier

When you create an AWS account, you're automatically signed up for the AWS Free Tier for 12 months. Your AWS Free Tier eligibility expires at the end of the 12-month period. When your Free Tier expires, AWS starts charging the regular rates for any AWS services and resources that you're using. And even within the AWS Free Tier, you might get charged for some services and resources.

To avoid charges while on the AWS Free Tier, you must keep your usage below the AWS Free Tier limits. You are charged for any usage that exceeds the limits. To help you stay within the limits, you can track your AWS Free Tier usage and set a billing alarm to notify you if you start incurring charges. For more information, see AWS Free Tier limits and Tracking your AWS Free Tier usage. For tips about avoiding unexpected charges, see Avoiding unexpected charges. Contact AWS Support if you require additional explanation of unexpected charges on your bill.


There are two stages for this:

- Advertisement -
  • Under Billing, Enable Receive Billing alerts 
  • Under CloudWatch, Create the desired alarm, in our case, Estimated Charges.

Billing Alerts

The first step is to enable billing alerts. 

  1. Type and click Billing on the search box, or access to the link below (you must be signed in to your account).


  1. This will bring you to the Billing & Cost Management Dashboard. As you can see, my dashboard is totally empty, I just created this account and I don’t have any feature or service enabled. Under Preferences, let’s click Billing Preferences.
mulcas AWS Billing
  1. On the Billing preferences page, check the Receive Billing Alerts option. Then, Save preferences. After saving, go back to the AWS Console from the AWS icon.
mulcas AWS Billing


  1. From the AWS Management Console, let’s search for the CloudWatch service. Ther are two easy options to reach this service. 
  • First, in the text box, type CloudWatch, and click on it. This is the easiest way. 
  • Second, Expand All Services and search for CloudWatch. This is a good option to start getting familiar with all AWS services.
  1. If you decided to fo with the second option, expanding all the services, Search under the Management & Governance, and click CloudWatch. 
mulcas AWS CloudWatch
  1. Under the CloudWatch dashboard, we now need to click on Billing. You will get the message below, indicating that you need to switch to the US East (N. Virginia) region. Unless you are already in this region.
mulcas AWS CloudWatch
  1. Go to your current region, next to your anime account, expand it, and select the US East (N. Virginia) region.


mulcas AWS CloudWatch

Create an alarm

  1. After changing region, on the CloudWatch service, click on Alarms, you’ll be brought to the Billing alarms page. Here, click on Create alarm.
mulcas AWS Configure Alarm
  1. Steps to create the alarm will be shown on the left fo this page. The first step is Specify metric and conditions. Here, click on Select metric.
mulcas AWS Configure Alarm
  1. On the Metric area, under Metric name, type EstimateCharges. Leave other parameters as default.
mulcas AWS Configure Alarm
  1. Scrolling down, under Conditions, select the conditions as the image below and define the threshold value as you desired, I am going to stick with 15 USD. Expand Additional configuration, and under Missing data treatment, select Treat missing data as ignore (maintain the alarm state). This option will prevent getting notifications all the time (every six hours, the default time). 
mulcas AWS Configure Alarm
  1. The second step is Configure actions. On the Notification area, select In alarm, under Alarm state trigger. Next, we need to create a new SNS (Simple Notification Service) topic. Or select one that you have previously created. Name the topic, type an email to receive notifications, and click on Create topic
mulcas AWS Configure Alarm
  1. Under the areas below, Auto Scaling action and EC2 action, leave everything by default. Click Next.
mulcas AWS Configure Alarm
  1. The third step is Add name and description. Here simply add a name for this alarm and an optional alarm description. Click Next.
mulcas AWS Configure Alarm
  1. The final step is Preview and create. Review all the previous steps: metrics, conditions, actions, and naming. Finally, at the end of this page click on Create alarm.
mulcas AWS Configure Alarm

The alarm is created

  1. The alarm will be created under the Billing alarm page.
mulcas AWS Configure Alarm
  1. From the created alarm, notice that under the Actions column you’ll see a Pending confirmation message. This is a call to action to confirm our email for the SNS. After you confirm the SNS email, you’ll get Subscription confirmed notification, similar to the one below.
mulcas AWS SNS Configure Alarm
  1. You can click on the alarm to open the specific alarm page. Here you will see a chart for the select metric and the alarm details. Initially, the alarm will be categorized in Insufficient, as it is new and we don’t have sufficient data to collect. Later on, the alarm will be moved to the OK category.
mulcas AWS Configure Billing Alert 16
  1. After creating the alarm, you’ll have some options for it. From the Action button on the top-right corner of the alarm page you can; Edit, Delete, Copy, or Add to dashboard. 

In conclusion, this alarm will trigger when your account billing exceeds the threshold you specify. It triggers only when actual billing exceeds the threshold. It doesn't use projections based on your usage so far in the month.


Amazon CloudWatch

- Advertisement -

Creating a Billing Alarm to Monitor Your Estimated AWS Charges


Juan Mulford
Juan Mulford
I have been active in IT for over fourteen years now. I am a solutions architect, working with storage, virtualization, and VDI solutions. For the past ten years, I have been living and working in Taiwan.

Leave a Reply

- Advertisement -

Popular Articles


Raspberry Pi OS in a Virtual Machine with VMware

Although the Raspberry Pi OS is designed and optimized for the Raspberry Pi module, it is possible to test and use it without its hardware, with VMware. This solution can be useful if you are a developer (or just a curious guy) and don't have a Raspberry Pi module with you
Unable to delete inaccessible datastore

Unable to delete an "inaccessible" datastore

I was switching my storage array, so I migrated the VMs from that old datastore/storage to a new datastore/storage. The old datastore was shared by 3 ESXi hosts, no cluster. After migrating the VMs and unmount/delete the datastore, it was still presented in two of the ESXi hosts and was marked as inaccessible.
This is not a valid source path / URL

This is not a valid source path / URL - SourceTree and Gitlab

I have been working on a project with a friend who set up a repository in Gitlab but even though I was able to view all projects on it, I couldn’t really join the repository. I was using SourceTree and Gitlab.

How to export a Virtual Machine using the VMware OVF Tool

The VMware OVF Tool is implemented by VMware for easily importing and exporting virtual machines in Open Virtualization Format (OVF) standard format. Here, I want to show you how to download and install it, and then how to use it from a Windows machine.
Couldn't load private key - Putty key format too new

Couldn't load private key - Putty key format too new

couldn't load private key - Putty key format too new.” This issue happens when you use PuTTygen to generate or convert to a ppk key. Here is how to fix it. 
- Advertisement -

Recent Comments