Disclaimer: I intended to ask this on the AWS Developer forum, but since I just created a forum account, I "might not be able to post messages for a few hours" and I'll surely be asleep by then and forget I was going to ask this tomorrow....

I've read over the CloudWatch pricing page, have searched the AWS forums and even made it to page 3 on google.... But I still don't understand CloudWatch pricing.

My confusion comes from a few things...

  1. My astonishment that I can run a server (be it a t3a.nano) for $3.50 a month, but it cost a $2.10 to monitor that server....
  2. AWS's statement that "Metric pricing is prorated by the hour and our calculation assumes customers are sending custom metrics at least once an hour" (that explanation is pretty "cloudy" to me.... sorry)
  3. AWS's example for Custom Metrics uses a completely relatable assumption that my application "runs on 51,000 Amazon EC2 instances....."

So here's the meat of my question. If I have a custom metric, let's assume I'm measuring max memory usage of a Python script that runs once per hour, for a duration of 60 seconds. So I send 730 measurements to Cloudwatch a month.....

Questions: (use general assumptions for any data I might have left out)

  1. I'm assuming that's a single metric?
  2. Is that really going to cost me $0.30 for 730 data points?
  3. What if I send 60 metrics per hour, for a total of 43,800 data points, still $0.30?

Based on the Custom Metric example, the pricing is $0.3 per metric per instance. Assuming you have a single instance, your example of memory usage would be $0.3 per month. The other part of pricing, number of API requests, is related to the frequency of measurement. The example says:

51,000 instances * (43,200 minutes/5 minutes)

The 43,200 is minutes/month and the 5 minutes is the frequency of measurement. In your example, sending 60 metrics per hour, would be:

1 instance * (43,200 minutes/1 minute) = 43,200 requests.

Since you have 1,000,000 request per month in the free tier, that would still be only $0.3 total per month for 1 minute frequency.

  • 1
    Thanks! I think I definitely most have glossed over the part about the API request assuming that was for, well an API integration using their SDK.. Now here's to hoping they don't charge me hundreds of $$ for accidentally collecting a few thousand metrics (for about 2 mins...) when playing around with the CloudWatch Agent and collectd......
    – dangel
    May 29 '20 at 0:31

Your Answer

