In this video, see the AWS billing dashboard tool.
- [Instructor] Let's start looking at the tools provided by Amazon to control costs. And one of the key ones is the billing section. Now, a question that I often get with people new to the Amazon Cloud is where is this? Cause if you open up All Services on the main console, and you scroll down and look at management tools, you don't see Billing anywhere here. Security, Identity, and Compliance. You don't see Billing. So it's a little bit unintuitive. You click over here under your account name and then you click on the link for My Billing Dashboard.
And that's going to bring up your billing dashboard. Now throughout this course we're going to dive pretty deeply into this, and you can see that we don't have anything on here yet because we've got a clean account. Now I wanted to address, just at the start, something that again I get a lot of questions about. People learning, maybe starting up with a new account. I actually do have a service running, and I'll show you that on a different tab of my same account over here. I have an EC2 instance, or a virtual machine, running on the Amazon cloud. I click in here, I just used a free tier and it is running.
So the obvious question is, why doesn't this show up on my spend summary? Well the reason is there's a little bit of latency. And, this is actually the beginning of an important topic around understanding cloud service charges. Cloud services are charged by the usage. So you can think of it kind of like water or electricity, like our utilities. So in the case of EC2, the billing is set up based on a time interval. Now, interestingly, as of this recording, Amazon recently changed that from a minimum of one hour of compute, or the virtual machine running, down to one second.
And that's actually pretty significant, and it opens our thinking into an important aspect of controlling service costs. And that's looking at services in terms of time, rather than buying, in this case, a server or a thing and then just having it turned on. So, couple things. First of all, in this billing dashboard because we just spun up this EC2 instance, literally a couple minutes ago, we've got some latency, and so the dashboard doesn't yet report that we have any service cost running.
So in addition to using the graphical user interface, the console here, there are other ways to interact with Amazon services. Now this course is not going to go super deep, I'm just going to probably mention a couple of those and you can do that with the Amazon Programmatic SDK, or Software Development Kit. You can also query services using their command line interface, or the AWS CLI. It's a Python-based tool. And when you're in production, you tend to use these programmatic interfaces because the latency using the programmatic interfaces is in many cases, but not all, less than the graphical user interface.
And as we start moving from hours to minutes to seconds, latency actually matters in terms of cost. So eventually this'll get populated and since we are starting here, I wanted to just show you another really great place that you want to take a look when you are learning and working with Amazon Cost Control. We're going to actually be looking at many of these different sections throughout this course, but one that I like to start with is budgets. So, as it says here, you can create a custom budget, or more than one budget, that'll automatically alert you when your AWS cost or usage is exceeded, or forecasted to exceed the threshold that you set.
This is such an important thing. And I recommend really to every customer that they should have a number of budgets in place so that they can respond when thresholds are exceeded. So how does this work? I click 'Create budget' and I have three different types of budget: Cost, Usage, or RI Utilization, and that stands for Reserved Instance. And this is a type of purchase method that we'll look at in more detail as we learn more about EC2.
So we're going to just look at Cost, which is the basic one here. And we're going to call it 'Total Cost'. And the period we can set monthly, quarterly, or annually. And start date of today. And we won't put an end date. And we're going to say $100, which is pretty small, but again this is just for demo. And we could refine our budget to limit it to particular services, accounts, and other metadata. We can also set up notifications. And even though this is optional, I really recommend that in any sort of production situation you do this.
So you can notify when the actual or forecasted costs are less than, greater than, or equal to a certain percentage of budgeted amount, or certain dollars. And then you put in the emails, and then you have to set up what's called an SNS, Simple Notification Service topic ARN, ARN is an Amazon Resource Name, so that's the formal name of the topic. And then you add the notification. And then you would get an email if your service spend was over, in this case, $100.
So this is a basic, in terms of cost control, that I'm actually frankly surprised that I see not in place in many production implementations. And again, like I said when I introduced this section, Amazon allows you to create multiple budgets, based on cost, usage, or Reserved Instance Utilization, and then filtered by this various metadata.
- Approaches to cloud service cost control
- Why control AWS service costs?
- Controlling costs by service
- Starting services with CloudFormation
- CloudWatch billing alarms
- AWS Trusted Advisor cost control
- Using third-party products
- Cost control scenarios