By using AWS re:Post, you agree to the Terms of Use

CloudWatch Dashboard to manage & monitor a budget


In CloudWatch dashboard, is it possible to use math expressions (e.g. based on EstimatedCharges or some other metric) to create a metric that shows a budget, with month-to-month cloud spending gradually deducted from that budget?

Example: Suppose there is a starting budget of $1000. The cloud spend is $200 in the first month, and $100 in the second. Hence, the metric needs to have an initial value of $1000, which decreases to $800 at the end of the first month, and $700 at the end of the second month.

Can I use CloudWatch Dashboards with math expressions for this, or would other services be needed? e.g. QuickSight, Lambda?

2 Answers

This graph would be approximately what you need, where you are plotting 1000 less the running total of your estimate spend.

    "metrics": [
        [ { "expression": "1000 - RUNNING_SUM(monthly)", "label": "Expression1", "id": "budget" } ],
        [ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "id": "monthly", "visible": false } ]
    "view": "timeSeries",
    "stacked": false,
    "region": "us-east-1",
    "stat": "Maximum",
    "period": 2592000

However, it is difficult to get exact value of spend in a month. To get exact values you would be better off querying AWS Cost Explorer. CloudWatch Dashboards has a Custom Widget feature that comes with a simple AWS Cost Explorer report. It would be relatively easy to adapt the code in that to display what you need.

answered 7 months ago
reviewed 7 months ago

Your use case might be met using AWS Budgets? For more details see

answered 4 months ago
  • Okay, I will test this out to see if it works. I suppose Budget Renewal Type = "Expiring budget" and Budgeting method = "Fixed"?

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions