Course Introduction
Cost Management
Improve Planning and Cost Control with AWS Budgets
AWS Cost Management: Tagging
Understanding & Optimizing Storage Costs with AWS Storage Services
Monitoring for underutilized services in AWS
Using Instance Scheduler to Optimize Resource Cost
The course is part of this learning path
This section of the AWS Certified Solutions Architect - Professional learning path introduces you to cost management concepts and services relevant to the SAP-C02 exam. By the end of this section, you will know how to select and apply AWS services to optimize cost in scenarios relevant to the AWS Certified Solutions Architect - Professional exam.
Want more? Try a Lab Playground or do a Lab Challenge!
Learning Objectives
- Learn how to improve planning and cost control with AWS Budgets
- Understand how to optimize storage costs
- Discover AWS services that allow you to monitor for underutilized resources
- Learn how the AWS Instance Scheduler may be used to optimize resource costs
In this video, I’ll create a cost budget to monitor the costs in my AWS account. To do this, I’ll search for Budgets in the AWS console, and click Create Budget.
The first thing I’ll select is the type of budget, I have four options: cost, usage, savings plans and Reserved Instances. I’ll select a cost budget.
From there, you can see my screen has been split. On one side, I’m selecting the options for my budget, and on the other side, it generated a chart from AWS Cost Explorer so I can view the historical cost data in my account. This account is fairly new, only a few months old, so it only has data from the past few months and you can see I generally stick around the $15 range monthly.
Using this data, I can gain a solid understanding of my costs and fill out the rest of my information to create my budget. First, I’ll choose a budget name, I’ll call it TakeMyFifteenDollars. Then I’ll select the time period. My options are daily, monthly, quarterly, and annually. I’ll choose monthly.
Then I can choose to have this budget set to recur after my budget period of a month, or I can have it expire after a certain period of time that I choose. I want this to be ongoing, so I’ll select recurring.
Then I select my threshold. I can either choose a fixed amount, such as $15. Or I can select a planned amount for each month in my budget period, in this case, a year. I can input these values manually, or I can let AWS calculate them based on a starting budget and a percentage of budget growth that I’m expecting.
So for example, if I own a consulting company, and I know the beginning of the year is typically tight budget wise, I can start with a low number - let’s say $100. And let’s say I know I’m going to grow at least 1% every month. AWS will use this information to fill in the data for my period of time, starting with $100 and ending with a compounded budget that accounts for my monthly 1% growth - in this case $111.57.
However, there may be times when you know your spending patterns will change over time, but you don’t know the exact percentage increase. So if you want to avoid having to update and maintain your budget yourself, you can choose the auto-adjusting option.
This, as the name suggests, will adjust your budget automatically based on spending patterns over a time range that you specify. You can choose to base your budget on the forecast for the current month, your bill last month, your average spend over 6 months, or a custom time period.
Since my account is new and I only have data for the past four months, I’m going to use the custom time period and select four months and click apply. Using this, it generates a budget amount for me - in this case it recommends $14 as my budget amount.
If AWS chooses to increase this budget threshold for me, it will notify me through email that it did so. And I can always make updates and edit this budget if I need.
Moving on to the budget scope, I can either choose to track costs from any services or filter based on specific resource attributes. With filters, you can get pretty advanced with how you configure your budgets. For example, EC2 instances for my development environment are often the most expensive part of my bill, so I might choose to add a filter to set a budget for my EC2 instances that are tagged with the tag value “dev”.
However, since I want to monitor costs for my entire account, I’ll choose all services. As far as advanced options, you can choose how to aggregate your costs for your budget. You can choose between unblended, blended, or amortized costs. Additionally, you can also specify whether your budget includes credits, discounts, taxes and more.
I’m going to leave these options on the default settings and click next. From there, I can create my alert threshold where I can specify a percentage or an absolute value to trigger my alert. For example, I can choose to get notified when I reach the $10 value, or if I’ve spent 80% of my budget. Then I can choose if this is based on actual spend or forecasted. I’ll choose forecasted. If I’m forecasted to spend above 80% of my budget, it will notify me and then I can make changes before I’ve actually spent that money.
Then, I can notify myself through email, or choose to integrate Amazon SNS or Amazon Chatbot alerts.
I can also have multiple alert thresholds to receive additional notifications to have a better pulse on my spending at different times. I’ll leave it at one alert, click next, ignore the Budget actions section for this video, and then I can finally click create budget. And I’m done. From there, AWS will monitor all activity in my account, and send me an email notification if I’m forecasted to spend 80% of my $15 budget.
Danny has over 20 years of IT experience as a software developer, cloud engineer, and technical trainer. After attending a conference on cloud computing in 2009, he knew he wanted to build his career around what was still a very new, emerging technology at the time — and share this transformational knowledge with others. He has spoken to IT professional audiences at local, regional, and national user groups and conferences. He has delivered in-person classroom and virtual training, interactive webinars, and authored video training courses covering many different technologies, including Amazon Web Services. He currently has six active AWS certifications, including certifications at the Professional and Specialty level.