To make sure your company’s cloud-based resources remain continuously available, you need a way to monitor all your applications and quickly detect when something goes wrong — especially if you are running multiple instances and using a variety of products.
Amazon’s inbuilt tool, CloudWatch, allows you to do just this. In this article, we’ll cover exactly what AWS CloudWatch is, how it works, and how much it costs to use.
What Is AWS CloudWatch?
Amazon CloudWatch is a monitoring and management service that provides data for AWS, hybrid, and on-premises applications and infrastructure resources. Amazon describes it as “a monitoring and observability service built for DevOps engineers.”
With CloudWatch, you can monitor your applications in the cloud and gain actionable insight that helps you manage your cloud usage. Amazon CloudWatch features include log collection and storage, built-in and custom metrics, container monitoring insights, and anomaly detection.
These features allow you to:
Detect abnormal behavior in your environment
Visualize logs and metrics side by side
Automate relevant actions
Discover insights that help your applications run smoothly
Simply stated, Amazon CloudWatch provides a big window into all your AWS services, so you can see where everything is at with all of your applications.
AWS CloudWatch Pricing: How Much Does It Cost?
Amazon CloudWatch has two tiers: free and paid. For both tiers, there are no upfront or commitment fees. The difference between the two is that the free tier is part of the AWS Free Tier, which allows users to explore more than 85 AWS products for free.
CloudWatch Free Tier
AWS provides three types of free tier offers:
Always free - these do not expire and are available to all users
12 months free - these are available for free 12 months from your initial sign up
Trials - these are short-term trial offers counted from the date you activate the service
The Amazon CloudWatch free plan is an “always free” offer that gives you access to the following:
10 custom metrics
1,000,000 API requests
5GB of log data ingestion and 5GB of log data archive
3 dashboards with up to 50 metrics each per month
The free plan is generous and gives more than enough room to try out CloudWatch and determine if the paid plan is a worthwhile investment.
CloudWatch Paid Tier
The pricing for Amazon CloudWatch paid tier differs by region, as do most AWS products, and they are subject to change. To get the most accurate prices for your region, you’ll need to check the CloudWatch pricing page or use the AWS pricing calculator to determine the costs for your specific use case.
CloudWatch pricing is calculated based on the features you use. These include:
Metrics, including APIs and metric streams
Each feature is priced differently, and some are more expensive than others.
For example, here’s the current pricing for the US (East) Ohio region:
Metrics - (metric/month)
First 10,000 metrics – $0.30
Next 240,000 metrics – $0.10
Next 750,000 metrics – $0.05
Over 1,000,000 metrics – $0.02
API – $0.01 per 1,000 metrics requested
Dashboards – $3.00 per dashboard
Alarm – $0.10 per alarm metric at a standard resolution of 60 seconds
Logs – $0.50 per GB of data collected; $0.03 per GB for data stored
Knowing the numbers is good, but how do these apply in real-life scenarios? Here’s a practical example:
If you want to monitor five custom metrics published via the PushMetricData API for 200 Amazon EC2 instances running 24/7 for one month (30 days), the total number of metrics would be 5 per instance ✕ 200 instances = 1,000 metrics.
Monthly CloudWatch custom metrics charges (@ $0.30 per custom metric for the first 10,000 custom metrics) = 1,000 ✕ $0.30 = $300
If you set up 10 CloudWatch dashboards, that’s 10 ✕ $3.00 = $30 per month
Charges for API requests would be calculated as follows:
Number of minutes = 30 days * 24 hours * 60 minutes = 43,200 minutes
If API calls are made every 5 minutes, then total number of requests per instance = 43,200/5 = 8640 requests
Total number of API requests = 200 instances * 8640 requests per instance = 1,728,000 requests
Charges for the first 1,000,000 API requests = $0
Charges for the next 1,000,001 to 1,728,000 API requests = 728,000/1000 * $0.01 = $7.28
Total monthly CloudWatch charges for this set-up would be $300 + $30 + $7.28 = $337.28
In reality, most businesses have applications that run more than 50,000 instances. If your application runs 51,000 instances, for example, you would be paying over $30,000 per month to monitor the same number of custom metrics in the example above minus the cost of dashboards. This is why it is absolutely crucial to keep an eye on your CloudWatch costs.
Managing Your AWS Cloud Costs
The on-demand pricing structure means that — like many AWS products — the cost of CloudWatch could be difficult to control. Since costs are tied to the number of metrics, it can be challenging to predict monthly CloudWatch costs per month.
This is because the number of metrics will likely change as customers interact with your products or as you make changes to your applications over time. For example, increased utilization (like a lot of digital platforms saw in 2020) or onboarding a new customer could drive up logs.
CloudZero is a cost intelligence platform that helps you monitor your AWS costs across all your AWS services, including CloudWatch, so you can track if your costs increase in real-time. CloudZero provides a feedback loop with cost anomaly alerting to engineering teams, so you’ll know immediately how your spend is trending and prevent overspend before it happens.
CloudZero gives you the ability to make better cloud cost decisions by providing context around your costs. For example, the platform can map costs to products, features, or customer segments, allowing you to correlate costs to key business metrics. This means you can build and experiment with the confidence that you won’t overspend.
To see how CloudZero gives you control over your AWS costs, .
STAY IN THE LOOP
Join thousands of engineers who already receive the best AWS and cloud cost intelligence content.