Understanding your Amazon CloudWatch invoice
Amazon recently made changes to its billing practices for Amazon CloudWatch. Previously, details of CloudWatch spending were spread across the CloudWatch and EC2 sections of your Amazon bill. Now they appear in a single billing section. Since many companies use Amazon CloudWatch as a complementary solution to a log management system like Loggly, I wanted to put together a quick guide on how to read your Amazon CloudWatch invoice.
What drives Amazon CloudWatch spend?
You can easily get started with Amazon CloudWatch for free. Many applications should be able to operate within these free tier limits.
Your CloudWatch bill consists of the following components, with pricing as of July 2017:
- CloudWatch Dashboards: $3.00 per dashboard per month
- Custom Metrics: Basic monitoring, or your metrics for CPU utilization, data transfer, and disk usage activity from Amazon EC2 instances are free. Any additional metrics you’d like to monitor via custom metrics generated by your own application cost $0.30 per metric per month for the first 10,000 metrics, going down to $0.02 for more than 1,000,000 metrics.
- Detailed Monitoring: Amazon also offers Detailed Monitoring, which is your EC2 metrics with higher resolution and metric aggregation. This is priced at seven custom metrics per EC2 instance monitored, but it only applies when the instance is sending metrics and is prorated by the hour.
- CloudWatch Events: Custom events, available in certain regions, are charged at $1.00 per million custom events. Each 64 KB of payload (rounded up) is billed as one custom event so essentially this is a storage charge.
- CloudWatch Alarms: Alarms notify when something requires your attention. They can be triggered as frequently as one minute. If you need finer-grained notification, you can purchase high-resolution alarms, which can be triggered as often as 10-30 seconds. Each alarm you create costs $0.10 per month, or $0.30 per high-resolution alarm per month.
- CloudWatch Logs: This is charged per GB ingested and influenced by the region you select. In addition, there is a charge for data transfer out of CloudWatch, for example to centralize logs in a log management system like Loggly.
- API Requests: Pulling data from CloudWatch, including GetMetricStatistics, ListMetrics, PutMetricData, GetDashboard, ListDashboards, PutDashboard, and DeleteDashboards requests, costs $0.01 per 1,000 requests.
A typical Amazon CloudWatch invoice
Here’s a sample of what your invoice from Amazon might look like:
3 steps to manage your Amazon CloudWatch spend
- Manage your custom metrics: Check whether your needs are met with the basic metrics AWS provides. If not, then make sure you are not creating duplicate custom metrics.
- Streamline your logs: You must evaluate whether or not you really need all your logs archived in Amazon S3. For example, you may want to archive production logs and logs from auto-scaling environments, but you may decide that QA environment logs aren’t worth keeping.
- Set alarms on your usage: You can actually track how much you’re spending on CloudWatch, as well as AWS overall, using the Billing Metric in Amazon CloudWatch.
Sending CloudWatch Logs and Metrics to Loggly
It’s easy to send your Amazon CloudWatch logs and metrics to Loggly. You may wonder why you need them in Loggly since you can view them in AWS itself. Many of our customers find that doing so enables them to:
- Consolidate logs for both AWS and non-AWS technologies under one roof
- Correlate logs from different sources
- Generate more comprehensive charts and dashboards
- Extend access to more people in the organization
Don’t have a Loggly account yet? Try Loggly for free now!
Pranay Kamat Pranay Kamat is Senior Product Manager at Loggly. His previous experiences include designing user interfaces, APIs, and data migration tools for Oracle and Accela. He has an MBA from The University of Texas at Austin and Master's degree in Computer Science from Cornell University.