Why (& How) You Should Set An AWS Budget Alert Using Dimensions
Tags: aws, cloud, beginners, cost
Published: 2022-08-18 06:49:00

This post is inspired from my previous post on "[Why Is My AWS Cloudwatch Service Cost So High?](https://dev.to/aws-builders/why-is-my-aws-cloudwatch-service-bill-so-high-4fp3)". 

From experience, I have noticed either no budgeting alerts are set up, or if they are, they are typically at the overall AWS cost/account level. There are advantages and disadvantages to setting alerts at the overall cost/account level.

One disadvantage of this approach is that you may miss out on services whose costs have increased but are being obscured by those whose costs have reduced. I once encountered a situation in which the cost of [Cloudwatch doubled](https://dev.to/aws-builders/why-is-my-aws-cloudwatch-service-bill-so-high-4fp3) but the total AWS budget warning did not go off because the cost of other services had decreased for the month.

While working to improve our cost analysis process, I discovered that AWS has a budget alert feature that allows you to set up an alert by dimension as well as overall cost level, ensuring that such a scenario does not occur in the future. Examples of dimensions that you can choose to set a budget alert are AWS services, linked accounts, regions, instance types, consumption types, and other options.

The rest of this post will lead you through the steps of creating a dimension-specific alert. As an example, we will use AWS services as the dimension, and we will set up a Cloudwatch service budget alert. There are five steps to creating a budget alert.

_**Step 1: Select budget type**_
There are four types of budget alerts you can set. They are Cost, Usage, Saving plan and Reservation budgets. In our scenario, we need to create a cost budget alert.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bof7ckuioesnjm3s5y9v.png)

_**Step 2: Set Your budget**_
In "Set Your Budget" step, you provide budget name, budget amount and budget scope. Budget scope is where you filter specific AWS cost dimension as seen in the screenshot below.  
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l65oxe5qt1wv1h9ub6qv.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/df0tpzqang583wj8i6ff.png)

_**3: Configure alerts**_
In configure alerts step, you set the alert threshold and notification. In the example below the alert threshold is set to 70% of actual budget. This means if the actual budget is $3000 per month than if the cost of CLoudwatch service in any given month crosses $2100, the budget alert will be triggered and notification will be sent to appropriate team/person defined in the notification section.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/guzzwo9z20cixnkq1krn.png)

_**4: Attach Actions (Optional)**_
Attach Actions step is optional but you can define an automatic action to take if alert is triggered.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xft54jc0qsog9e9ae1vq.png)

_**5: Review & Create Budget**_
Final step is to review the budget and if you are happy, Create the budget.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i2qwucw1ivhuepagks6b.png)


There is benefit in setting up dimension-based budget alerts in addition to overall cost budget alerts. It will allow in detecting a spike in the cost of a specific service that may be concealed by cost decreases in other services.

------------------------------------------------------------------

Thanks for reading!

If you enjoyed this article feel free to share on social media 🙂

Say Hello on: [Linkedin](https://www.linkedin.com/in/harinderseera/) | [Twitter](https://twitter.com/harinderseera) | [Polywork](https://www.polywork.com/harinderseera) 

Blogging: [Dev](https://dev.to/harinderseera) | [Hashnode](https://harinderseera.hashnode.dev/)