Don't just learn the cloud—BYTE it!
Byte the Cloud is your go-to, on-the-go, podcast for mastering AWS, Azure, and Google Cloud certifications and exam prep!
Kelly 0:00
All right, so you know how it is. As a cloud engineer, you're working in AWS and everything's going smoothly, then you get that notification that your costs are way higher than you thought they were going to be. Oh, yeah, and you're left scrambling. It
Chris 0:11
happens to the best of us.
Kelly 0:12
It really does. And today, we're diving deep into AWS Budgets, which is going to help us hopefully get ahead of that and avoid those really painful surprises when it comes to cost for sure. So think of this as like a focused session to really get into the nuts and bolts of how budgets works, why it's so important, and even get a little bit of insight that might be valuable for those certification exams out there. Absolutely. Oh, AWS, budgets is not just about looking at your bill at the end of the month. It's about really having controls and alerts before you get to that point so you can avoid those unexpected charges and just have better control over your spending.
Chris 0:50
Yeah, and you know, one of the things that lets you do is define thresholds for your AWS costs, so you can look at like how much you're spending overall. You can look at your resource usage. You can even look at things like reserved instances and savings plans.
Kelly 1:02
Oh, yeah, those are key for saving money,
Chris 1:04
absolutely. And it's about making sure you're leveraging those effectively too. So I think
Kelly 1:08
no matter what your role is in the cloud, whether you're just a one person team or part of a huge organisation, understanding AWS Budgets is pretty fundamental.
Chris 1:18
Yeah, it's really a cornerstone of cost management in AWS, definitely, and
Kelly 1:21
that's why we're gonna break it all down today, what it does, how it works, those key features, and how it fits into everything else you're doing in AWS, sounds good. So let's just start at the beginning. What exactly is AWS Budgets? So
Chris 1:35
at its core, AWS Budgets is a web service that helps you set specific limits. Okay? You can set limits on your AWS spending, on how much of your different resources you're using, and even how well you're using those cost saving things we were talking about, like reserve instances and savings plans, right? And
Kelly 1:52
that's something I wanted to ask you about, because we get a bill at the end of the month anyway, right? So why is it so important to have this kind of like ahead of time view?
Chris 2:00
I think a good analogy is like looking in the rear view mirror versus looking ahead. I like that. So your bill is like the rear view mirror. It tells you what happened, but it's in the past, right? You can't change it exactly. Can't go back and change it, but budgets is like looking through the windshield. It helps you see what's coming. So you can, like, course correct, precisely. You can course correct, you can prevent those Bill shocks we were talking about, and you can also make sure you're not overspending in certain areas,
Kelly 2:26
right? So if we have a budget set up and it looks like we're going to blow past it, we can start making adjustments right away. Exactly I see that, I see that, and that can be a huge cost saver. That makes
Chris 2:38
a lot of sense. And I think what would be really helpful is to walk through some examples of how AWS Budgets gets used like in the real world. Yeah,
Kelly 2:46
absolutely. So let's start with something that happens all the time, a development environment where you've got teams spinning up resources and then tearing them down constantly for testing.
Chris 2:56
Yeah, development can be a really like intensive time for resource usage, exactly,
Kelly 3:00
and it's easy to lose track of costs during those cycles, especially
Chris 3:03
if people are launching things and forgetting about them exactly. So what you can do with budgets is set a monthly budget for the entire team's AWS spending. Okay? So just like an overall cap, exactly. And then what budgets can do is send an alert if it looks like they're gonna go over that budget. That's smart. So it's like a warning system, yeah, exactly. And then the team can look into it and see if maybe there's some resources they can shut down or optimise.
Kelly 3:27
That's a great example. Okay, so we've got cost control for development environments. What other use cases are
Chris 3:34
there? So another really common one is tracking usage for specific services, okay? Like what kind of services? So let's say you have an application that moves a lot of data out of AWS. You know that data transfer out to the internet can get expensive. Oh, yeah, that egress cost can sneak up on you. It really can. Yeah. So what you could do is create a budget specifically to watch how much data is being transferred. And if you see a sudden spike that's unexpected, it could be a sign that something's wrong. Or maybe you need to optimise how you're moving that data around.
Kelly 4:03
It's like an early warning system for potential cost overruns. Got it and what about those reserved instances and savings plans you mentioned earlier? How does AWS Budgets help us manage those? So there are actually
Chris 4:17
a couple of ways budgets comes in handy there. Okay, one is what's called Ri and savings plans coverage. And what that does is track the percentage of your eligible instances that are covered by those discounts.
Kelly 4:28
So it's like making sure we're getting the most out of those cost savings Exactly.
Chris 4:32
So for example, if your goal is to have 85% of your EC2 instances covered by rise budgets can send you an alert if that percentage drops, so we know to go and buy some more rise, maybe Exactly. And on the flip side, there's also Ri and savings plans utilisation, which is, which is making sure you're actually using the capacity you've paid for with those RIS and savings plans. Oh, that's
Kelly 4:53
a good point, because we might have over provisioned precisely. So if your utilisation is
Chris 4:58
really low, like, let's say, below. 70% it could mean you have more eyes than you need, and then
Kelly 5:03
we could maybe even sell those extra eyes, right? Exactly?
Chris 5:05
There's a marketplace for our eyes so you can potentially recoup some of that cost. Interesting, so
Kelly 5:10
it's not just about saving money upfront, but also making sure we're using what we've paid for, right? And
Chris 5:14
it's about that continuous optimization, finding ways to be more efficient with your cloud spend.
Kelly 5:20
I like that. Okay, so that's helpful for individual teams, but what about for large organisations that have maybe multiple AWS accounts? How does AWS Budgets work in that context?
Chris 5:32
So AWS Budgets actually has some really great features for larger organisations. One of the key things is custom budgets, okay? And what those allow you to do is filter your budgets based on a tonne of different criteria. So for example, let's say you have a big company with lots of departments, right? Each department might have their own AWS account, makes sense, and they're all tagging their resources to say which department they belong to.
Kelly 5:55
Okay, yeah, tagging is really important for organisation. It
Chris 5:58
really is. And so what you can do is create a budget for each department that filters by their specific
Kelly 6:03
tags. So each department gets their own little mini budget exactly,
Chris 6:07
and that way they can track their spending and see how they're doing, right?
Kelly 6:10
And that rolls up to a bigger budget for the whole company, I assume, precisely. Yeah. And
Chris 6:14
you can even filter by things like specific AWS
Kelly 6:17
services. Oh, wow. So we can get granular. You can get extremely granular.
Chris 6:21
You can filter by AWS region, even by cost categories that you define yourself. So
Kelly 6:26
we could have a budget for all of our S3 costs across the company, or something like that, precisely. Wow, that's really flexible. Okay, so we've talked a lot about what AWS Budgets can do. Let's get into the actual features that make this all possible. Yeah.
Chris 6:39
So the first thing to understand is the different budget types, okay, we've talked about some of them already, like cost budgets. Those are all about tracking your overall spending and making sure you stay within a certain limit, right? Then there are usage budgets, which are for monitoring how much you're using specific AWS services, like we were talking about with data transfer, okay? And then what were the other two? So there's ri coverage budgets, which are for tracking what percentage of your instances are covered by reserved instances. And then Ri and savings plans utilisation, which is all about making sure you're actually using the reserve capacity you've paid
Kelly 7:14
for right? So each of these budgets serves a slightly different purpose, exactly,
Chris 7:18
and it's about picking the right one for your needs. Okay,
Kelly 7:21
so how do we actually set up these budgets? Is it complicated? It's actually
Chris 7:26
pretty straightforward. AWS has made it really user friendly. You can do it all through the AWS Management Console. Oh, so it's all graphical and clicky, exactly. It's very intuitive. You define the budget, type, set your limits and configure notifications.
Kelly 7:39
Okay, sounds easy enough, but what about for people who like to automate things, or maybe they have a tonne of budgets to manage.
Chris 7:46
AWS, has you covered there too? They have APIs for budgets. Yeah, you can do everything programmatically. Oh, that's cool.
Kelly 7:51
So you can script it out and manage it all in code, precisely. Nice. And we talked earlier about filtering and how important that is. Can you go into a bit more detail about just how specific those filters can be
Chris 8:01
sure. So the filtering options in AWS Budgets are really extensive. You can filter by individual AWS services like EC, two, three, Lambda, you name it, right? You can filter by AWS account. So if you have multiple accounts, you can track them separately or even together. Okay? You can use tags, which is incredibly powerful, especially for larger organisations.
Kelly 8:22
Yeah, like we were talking about earlier, with those departmental budgets,
Chris 8:25
exactly, you can filter by region, by cost categories that you define yourself, and even by billing periods. So
Kelly 8:32
we can really narrow down and look at spending for a specific team a specific service in a specific region all in one budget.
Chris 8:40
Absolutely, the granularity is really impressive. That's great.
Kelly 8:43
So we've got our budget set up. We're monitoring things closely, but how do we actually get alerted if something is going wrong, like if we're approaching or exceeding our limits?
Chris 8:52
That's where notifications come in. Okay? You can configure AWS Budgets to send you notifications via email or through Amazon SNS, which is simple notification service, right? And these notifications can be triggered when your actual spending or usage goes above a certain threshold, or if AWS forecast is that it's gonna exceed your budget. So it's like a heads up, exactly. And you have a lot of control over those notifications, like, what? Well, you can set up multiple notification thresholds so you might get one alert at 50% of your budget, another at 80% and then a final one at 100%
Kelly 9:25
so it's like escalating levels of urgency, exactly. And you
Chris 9:30
can also specify who gets those notifications, so you can send them to different email addresses or to different SNS topics,
Kelly 9:37
and that SNS integration, that's where things get really interesting, right? Because we can trigger other actions based on those notifications. Absolutely so.
Chris 9:46
For example, you could set up an SNS notification to trigger a Lambda function that automatically scales down some of your resources if you hit a certain cost threshold.
Kelly 9:55
Oh, wow, that's powerful. So it's not just about getting an email, it's about automating those. Cost control responses, right? And
Chris 10:01
that brings us to a more advanced feature of AWS Budgets, which is called actions. Oh, okay, what are actions? So actions allow you to do exactly what we were just talking about, automatically take specific steps when a budget threshold is crossed. So it's
Kelly 10:14
like taking that automation to the next level, precisely.
Chris 10:17
And there are a couple of ways you can implement actions. Tell me more. One way is through AWS Systems Manager Runbooks, okay? And those allow you to define and run operational procedures automatically. So you could have a runbook that automatically terminates some EC2 instances if your cost budget is exceeded.
Kelly 10:38
So it's like a predefined set of steps that gets executed
Chris 10:41
Exactly. And another way to use actions is by making changes to IAM policies.
Kelly 10:46
Oh, interesting. So we could restrict permissions based on Budget Status Exactly.
Chris 10:50
So if a budget is exceeded, you could automatically modify IAM policies to prevent users from creating new resources or maybe limit their access to certain services.
Kelly 10:59
Wow, that's really getting into the nitty gritty of cost control, it is. And it's important
Chris 11:03
to note that setting up actions requires careful planning and testing, because you don't want to accidentally disrupt your production environment,
Kelly 11:09
right? It's powerful, but you got to use it wisely Exactly, okay, so we've covered a lot of ground here. What would you say are the biggest overall benefits of using AWS Budgets? I think the biggest
Chris 11:19
one is definitely improved cost visibility. Budgets gives you that really clear and granular view of where your AWS money is going. You can see trends, you can see outliers, and you can identify areas where you might be overspending,
Kelly 11:33
right? So it's not just about getting a bill, it's about understanding the details exactly.
Chris 11:37
And then that leads into the second big benefit, which is proactive cost management, meaning, meaning you can see potential overspending before it happens, and you can take action to
Kelly 11:48
prevent it. So it's about staying ahead of the curve precisely.
Chris 11:51
And then the third benefit is enhanced financial accountability,
Kelly 11:55
which is crucial for larger organisations, especially Absolutely.
Chris 11:59
It's about being able to track costs across different teams, projects, departments. You can use those filters and tags we were talking about to really get a handle on who's spending what, right?
Kelly 12:10
So it's not just about the overall number. It's about breaking it down and understanding the components Exactly.
Chris 12:15
And then the final big benefit is optimization of AWS, resources budgets helps you identify areas where you might be able to save money by optimising your resource usage. So for example, if you see that you're consistently under utilising reserved instances, you can make adjustments,
Kelly 12:33
right? So it's not just about cutting costs, it's about making sure we're using our resources efficiently precisely.
Chris 12:38
It's about getting the most value out of your AWS investment. That makes
Kelly 12:42
a lot of sense. Now I know nothing is perfect, so what are some of the limitations of AWS Budgets that we should be aware of? That's
Chris 12:50
a good question. One key limitation is that AWS Budgets is really focused on what's happening inside AWS. Okay? So it's not going to track your spending on other cloud providers or on premises infrastructure, right? It's AWS specific, exactly. Another thing to keep in mind is that the data and budgets isn't always real time. Okay? There can be a bit of a delay, usually a few hours, in the reporting of cost and usage information. So it's not like a live stream of our right? It's more like a snapshot that gets updated periodically, got it
Kelly 13:19
and what about any limits on how many budgets we can create.
Chris 13:22
So there are limits on the number of budgets you can create within a single AWS account, but those limits are usually pretty high, so most users won't run into them.
Kelly 13:31
Okay, good to know. So it's not like a huge constraint, not usually. Okay, cool. So we've talked a lot about budgets in isolation, but how does it actually fit in with the other tools and services that we use in AWS. Yeah.
Chris 13:44
So AWS Budgets integrates really well with other services like, what? Well, a big one is AWS Cost Explorer, right? I've used that before. So cost Explorer is great for doing historical analysis of your spending. You can see trends over time. You can break down your cost by different dimensions. It's very powerful for understanding what happened in the past. Yeah, it's great for like, digging into the details exactly. And budgets complements Cost Explorer by providing those proactive alerts based on your predefined thresholds. So
Kelly 14:13
it's like, Cost Explorer tells us what happened, and budgets warns us about what might happen. It's a good way to put it. Okay, what about organisations that are using AWS organisations to manage multiple AWS accounts. So
Chris 14:26
if you're using AWS organisations, you can actually manage budgets across all of your member accounts from a central management
Kelly 14:32
account. Oh, that's handy. So we don't have to log into each account separately, exactly, and
Chris 14:36
it gives you that consolidated view of spending across your entire organisation,
Kelly 14:40
right? So we can see the big picture and make sure everything is within budget precisely. And we've talked a lot about reserved instances and savings plans. How does budget specifically help us manage those? So
Chris 14:53
budgets has those dedicated budget types for RIS and savings plans we talked about earlier ri coverage and. Ri utilisation, right, right? And those are specifically designed to help you track whether you're hitting your coverage targets and whether you're using your reserve capacity effectively. So
Kelly 15:08
it's all about maximising those cost savings. Exactly makes sense. And lastly, how does budgets tie into the whole monitoring and alerting framework within AWS? So
Chris 15:18
budgets actually uses Amazon CloudWatch for its alarm functionality. So when a budget threshold is crossed, budgets can trigger a CloudWatch alarm, and then those alarms can be configured to send notifications through Amazon SNS, like we were talking about before. So it all ties together. It does it all fits into that broader AWS monitoring and alerting ecosystem. That's
Kelly 15:38
great. So we've covered a tonne of information about AWS Budgets today, from the basic definition all the way to some of the more advanced features and how it fits into the bigger picture of AWS. It's
Chris 15:50
been a comprehensive, Deep Dive. It really has,
Kelly 15:52
and now I know a lot of our listeners are thinking about those AWS certification exams, both for sure, so I thought it would be helpful to go through some example questions that might pop up on those exams. That's a great idea. Let's do it all right. So let's start with a pretty basic one. Let's say a company wants to get an alert when their total AWS spending for the month is forecasted to be over $15,000 which AWS service should they use?
Chris 16:17
So the right answer there is AWS Budgets, okay? And why is that? Because AWS Budgets is specifically designed for setting spending thresholds and getting alerts based on both your actual spending and what AWS forecast your spending will be, right? So it's not
Kelly 16:32
just about what we've already spent, it's about what we're projected to spend exactly.
Chris 16:35
And there are other services that might seem relevant, like AWS cost explore, which is great for analysing historical costs, right? But it doesn't do that forecasting precisely. And CloudWatch is all about monitoring resource metrics, not cost specifically. And Trusted Advisor can give you recommendations, but it doesn't let you set those custom thresholds and get those proactive alerts.
Kelly 16:57
Got it so AWS Budgets is the clear winner for this use case. Absolutely Okay. Let's try another one. Imagine a cloud engineer needs to set up a budget that specifically tracks the cost for their production environment, and all of their production resources are tagged with environment prod. How would they do that using AWS Budgets?
Chris 17:16
So the way to do that is by creating what's called a cost budget in AWS Budgets and then applying a filter based on that environment tag. Okay? So it's a two step process, right? So first you create the budget, and when you do that, you can choose the type of budget, and in this case, it would be a cost budget, and then within the budget settings you can add filters,
Kelly 17:32
right? So we'd filter by that specific tag Exactly.
Chris 17:35
You'd say the tag key is environment and the value is prod, and then budgets will only track the costs for resources that have that tag. Very
Kelly 17:43
cool. So we're really honing in on the specific costs we wanna track precisely. Okay, let's move on to the different types of budgets. Now, what are the four main types of budgets that you can create in AWS Budgets? And can you give us a quick rundown of what each one does? Sure.
Chris 17:57
So the four main types are cost budgets, usage budgets, RI coverage budgets and rise savings plans, utilisation budgets, okay, let's break those down one by one. So cost budgets, we've talked about those already. Those are for tracking your overall spending against a certain target. Yeah. Usage budgets are for monitoring how much you're using specific AWS services. And it's not about the cost, it's about the quantity. So like how many EC2 instance hours you've used, or how much data you've transferred out of S3 then ri coverage budgets are specifically for tracking what percentage of your eligible EC2 instances are covered by reserved instances.
Kelly 18:34
So it's about making sure we're getting those ri discounts Exactly. And then rise
Chris 18:39
savings plans utilisation budgets are for tracking how much of the capacity you've reserved with our eyes, or savings plans you're actually using,
Kelly 18:46
right? Because if we're not using it, we're essentially wasting money. Precisely, okay, those are all really important distinctions to understand. Let's do another question related to reserved instances. Let's say a company has bought a bunch of EC2 reserved instances, and they want to be notified if the utilisation of those RIS drops below 75% which budget type should they use?
Chris 19:08
So in that case, they should use an ri utilisation budget, okay,
Kelly 19:11
and why is that one the right choice? Because
Chris 19:13
that budget type is specifically designed to monitor how much of your reserve capacity is being used.
Kelly 19:18
Got it so we can set that threshold at 75% and if our utilisation drops below that, we get an alert precisely. Okay, let's talk about notifications. Now, when we're setting up notifications for a budget, what are the main ways that we can get those alerts?
Chris 19:31
So the two main ways are email and Amazon SNS.
Kelly 19:35
Okay, so good old email and then the more powerful SNS option, exactly,
Chris 19:39
and you can configure your budgets to send those alerts to specific email addresses or to SNS topics,
Kelly 19:45
right? And the benefit of SNS is that we can trigger other actions based on those alerts precisely. So we could have an SNS notification trigger a Lambda function to scale down some resources or something like that, exactly. Okay, cool. Here's another one, and development team wants to try. How many Amazon S 3p U T requests their application is making each month. To make sure they're staying within some limits, what type of budget should they set up? So
Chris 20:08
for that, they would want to use a usage budget.
Kelly 20:11
Okay, and remind me why a usage budget is the right choice here.
Chris 20:15
So usage budgets are all about tracking the quantity of something that you're using in AWS,
Kelly 20:19
right? So in this case, it's the number of s, 3p, U, T requests, exactly.
Chris 20:23
And it's not about the cost of those requests. It's about making sure they're not exceeding a certain number.
Kelly 20:29
Got it. That makes sense. Okay, so we've talked about tracking our current spending, but what about forecasting future spending? At what level of detail can AWS Budgets typically give us forecasts. So
Chris 20:43
budgets can typically provide you with forecasts at a daily, monthly and quarterly level,
Kelly 20:48
okay? So we can look at those different time horizons and see if we're on track or if we need to make some adjustments. Exactly. Cool. And lastly, is it possible to have AWS Budgets automatically take some action to prevent overspending if a cost budget is exceeded, and if so, how do we do that? Yes, it
Chris 21:06
is possible, and there are a couple of mechanisms for doing that. Okay? One is using AWS Systems Manager run books right? And those allow you to define a set of steps that will be executed automatically when a budget threshold is crossed.
Kelly 21:19
So it's like having a pre scripted response to a cost overrun, exactly.
Chris 21:22
And another way is to use IAM policies, okay? So you can set it up so that if a budget is succeeded, AWS Budgets will automatically modify IAM policies to restrict certain actions so
Kelly 21:33
we could, like, prevent people from creating new resources or something. Wow, that's really powerful stuff, like you said before. We gotta be careful with that kind of automation.
Chris 21:42
Absolutely, it's important to test things thoroughly and make sure you understand the implications before you implement those kinds of automated actions, right?
Kelly 21:50
Because we don't wanna accidentally break something exactly. Okay. So we've covered a lot of ground here. Do you have any final tips for people who are studying for AWS certifications and might get questions about budgets on the exam?
Chris 22:03
Yeah, absolutely. So the key things I would say are really understand those four different budget types and when to use each one. Okay, practice actually creating budgets in the AWS Management Console and experiment with different filters so you get that hands on experience, right? Get comfortable with the interface Exactly. Make sure you understand notification options, those different thresholds, email versus SNS, all of that. And then be able to differentiate between AWS Budgets and those other cost management tools like Cost Explorer. Know how they work together, what their strengths and weaknesses are. And then finally, make sure you understand those concepts of Ri coverage and utilisation, because those come up a lot
Kelly 22:42
excellent advice. So if people take all of that to heart, they should be in good shape for the exam. They should be all right. So to wrap things up, AWS Budgets is a really powerful service that gives you a lot of control over your AWS spending and helps you avoid those nasty surprises. It's
Chris 22:59
essential for anyone managing costs in AWS? Definitely. We've gone
Kelly 23:03
through all the basics today, the different budget types, the features, the limitations, how it integrates with other services, and
Chris 23:10
how to prepare for the certification exams, exactly.
Kelly 23:12
So I hope this has been helpful for everyone. Me too. Now here's a question for you. Our listeners, think about your own AWS environment right now, what's one specific budget that you could set up that would give you better visibility or control over your costs? And
Chris 23:26
how can you use budgets to not just react to your spending, but to actually shape your spending going forward?
Kelly 23:32
It's about being proactive and making budgets a part of your cloud strategy Exactly. And
Chris 23:38
remember things change all the time in the cloud. So it's important to revisit your budgets regularly and make adjustments as needed. Excellent
Kelly 23:45
point. So keep those budgets up to date and keep optimising those cloud costs Absolutely. All right, we'll be back with more deep dives into AWS in the future. Thanks for joining us today.
Chris 23:55
Thanks everyone. Bye.