Restrict your AWS expenditure to avoid bankruptcy

How to plan your expenditure in Amazon Web Service(AWS)?


“It is impossible to lose everything and still be alive.”

Budget is important! In reality, all of us including the richest person has a plan or prepare a budget for the month. Only the capacity of expense may vary from one to another. We normally do this for many valid reasons - to minimize unwanted costs, to perform some savings or in other words to secure the future for us and our family and so on. 
When you opt for any cloud service, be it AWS, Azure, Google Cloud or any, it should not be an exception! You should always plan your budget first before you actually start using them. In this article, we will restrict ourselves within AWS. We will discuss the service that enables us to do such planning!

AWS provides a great tool for provisioning your budget -
  • AWS Budgets 
This allows you to provision your spending. It gives you the ability to set custom budgets that alert you when your costs or usage exceed (or are forecasted to exceed) your budgeted amount.

You can also use AWS Budgets to set reservation utilization or coverage targets and receive alerts when your utilization drops below the threshold you define. Reservation alerts are supported for Amazon EC2, Amazon RDS, Amazon Redshift, Amazon ElastiCache, and Amazon ElasticSearch.

Now lets see how can we create it -

In order to create AWS budgets, you need to search "AWS Budgets" in Services drop-down as shown below:

How to find AWS budgets

Alternatively, you can search for "billing" and click on the highlighted service.

Click on "Create a budget"

Create budgets option
Select the "Type" of the budget you want to create depending on your goal

Type of AWS budgets provisioning
Note: 
    • Cost budget: Monitor your costs against a specified dollar amount and receive alerts when your user-defined thresholds are met.
    • Usage budget: Monitor your usage of one or more specified usage types or usage type groups and receive alerts when your user-defined thresholds are met.
    • Reservation budget: Track the RI Utilization or RI Coverage associated with your reservations.
In this article, we are interested to monitor the total expenditure. So, we will opt for Cost budget here.

First, name your budget plan.
Name of your AWS Budgets

Second, select the period. I would recommend to use "monthly" in case if you're using AWS for your personal use.
Period option in AWS Budgets

Third, select the span of your budget to set the expiry date for the budget that you're setting. You can even specify if it is a recurring budget.

Life span of AWS Budgets

Fourth, specify the budget. In case if you want to allocate a fixed maximum amount, select "Fixed". Else select "Monthly Budget Planning".

Monthly Budget Planning in AWS Budgets

In case if you select "Fixed", you need to specify the amount.
Budget amount in AWS Budgets

For "Monthly Budget Planning", you need to specify the budget for each months.

Monthly Budget Planning in AWS Budgets
You can aggregate the costs by "Blended", "Unblended" and "Amortized" way. By default, all are selected. You can leave it as it is.

Advanced options in AWS Budgets

Once done, click on "Configure alerts" to go to the next page.

Configure alert in AWS
Here, you need to select the notification parameters - meaning if you want to get page once some threshold is reached on actual cost or forecasted cost. Remember, you can select forecasted cost only when AWS has stat for your account at least for five months or more.

You need to provide your email and select if you want to use AWS SNS.

Create alarm in AWS Budgets


You can create many criterion that you want to set. 

Once you are done, you simply click on "Confirm budget". You will find a summary of the setup that you have performed so far. You review and then click on "Create". Once you click on "Create", you will find your budget under "Budgets" section.

You can download the CSV anytime you want to analyze the cost. You can edit the budget you created and delete it when you do not need it.

Takeout from this post:

So, let's summarize what we have learned in this article:
  • We now know why budget is important.
  • We also know how to set this up for your personal or business account. 

Future scope:

In the next article, we will see how can we set AWS budget using Terraform.

Experienced AWS reader, please feel free to comment to improve it.
For new AWS reader, please use 'Contact us' page in case if you want to contact me.  


Comments