With Amazon CloudWatch, there is no up-front commitment or minimum fee; you simply pay for what you use. You will be charged at the end of the month for your usage.","id":"collection-text-media#cloudwatch-pricing-text-media","heading":"Why Amazon CloudWatch?"},"metadata":{"tags":[]}}]},"metadata":{"auth":{},"pagination":{"empty":false,"present":true},"testAttributes":{}},"context":{"page":{"locale":null,"site":null,"pageUrl":"https://aws.amazon.com/cloudwatch/pricing/","targetName":null,"pageSlotId":null,"organizationId":null,"availableLocales":null},"environment":{"stage":"prod","region":"us-east-1"},"sdkVersion":"1.0.115"},"refMap":{"manifest.js":"47864e0370","rt-text-media-collection.js":"07ca5af217","rt-text-media-collection.rtl.css":"6e99be202e","rt-text-media-collection.css":"a2f6e3274d","rt-text-media-collection.css.js":"364e78221d","rt-text-media-collection.rtl.css.js":"6e41cc5eeb"},"settings":{"templateMappings":{"hyperlinkText":"hyperlinkText","hyperlinkUrl":"hyperlinkUrl","heading":"heading","mediaAltText":"mediaAltText","mediaPosition":"mediaPosition","mediaUrl":"mediaUrl","subheader":"subheader","bodyContent":"bodyContent","videoOverlayTitle":"videoOverlayTitle","videoThumbnailUrl":"videoThumbnailUrl","videoPlayButtonText":"videoPlayButtonText","dark":"dark"}}}
Why Amazon CloudWatch?
With Amazon CloudWatch, there is no up-front commitment or minimum fee; you simply pay for what you use. You will be charged at the end of the month for your usage.
Free tier
You can get started with Amazon CloudWatch for free. Most AWS Services (EC2, S3, Kinesis, etc.) send metrics automatically for free to CloudWatch. Many applications should be able to operate within these free tier limits. You can learn more about AWS Free Tier here.
Logs | 5 GB Data (ingestion, archive storage, and data scanned by Logs Insights queries) 1,800 minutes of Live Tail usage per month (approximately an hour per day) |
---|---|
Metrics | Basic Monitoring Metrics (Metrics sent from AWS Services by default) 10 Metrics (of Custom Metrics and Detailed Monitoring Metrics) 1 Million API requests (not including GetMetricData, GetInsightRuleReport and GetMetricWidgetImage: these 3 operations are always charged) |
X-Ray traces | The first 100,000 traces recorded each month are free. The first 1,000,000 traces retrieved or scanned each month are free |
Dashboard | 3 Custom Dashboards referencing up to 50 metrics each per month. Additionally, all Automatic Dashboards are free. |
Alarms | 10 Alarm metrics (only applicable to Standard resolution alarms that list metrics directly and don’t use a Metrics Insights query) |
Contributor Insights for CloudWatch Logs | 1 Contributor Insights rule per month The first 1 million log events that match the rule per month |
Application Signals | All Application Signals customers have 3 months of free usage, per account or if you reach the limit below first:
|
Synthetics | 100 canary runs per month |
RUM | First time free trial includes 1 million RUM events per account |
Evidently | First time free trial includes 3 million Evidently events and 10 million Evidently analysis units per account |
Cross-account observability | First trace copy sent from source account to monitoring account |
Paid tier
There is no upfront commitment or minimum fee. You simply pay for what you use and will be charged at the end of the month for your usage.
Note: Pricing varies by Region. Estimate your monthly bill using the AWS Pricing Calculator.
-
Logs
-
Metrics
-
X-Ray traces
-
Dashboards
-
Alarms
-
Contributor Insights
-
Application Signals
-
Synthetics
-
RUM
-
Evidently
-
Internet Monitor
-
Network Monitor
-
Container Insights
-
Cross-account observability
-
Logs
-
-
Metrics
-
-
X-Ray traces
-
-
Dashboards
-
-
Alarms
-
-
Contributor Insights
-
-
Application Signals
-
-
Synthetics
-
-
RUM
-
-
Evidently
-
-
Internet Monitor
-
-
Network Monitor
-
-
Container Insights
-
Container Insights without enhanced observability
You can use Amazon CloudWatch Container Insights without enhanced observability for cluster-and-service-level aggregated metrics for Amazon EKS and Kubernetes. Please see example for Container Insights without enhanced observability for Amazon EKS below to understand your charges.
Container Insights for ECSContainer Insights offers Amazon ECS monitoring by providing aggregated metrics at the cluster and service level. For a pricing example, refer to the Container Insights for Amazon ECS example below.
-
Cross-account observability
-
Cross-account observability
Cross-account observability, an addition to CloudWatch’s unified observability capability, introduces two account categories: monitoring account and source account. For details, see the cross-account observability documentation.
Cross-account observability comes with no extra cost for logs and metrics. CloudWatch delivers the first trace copy stored in the first monitoring account with no extra cost. Any trace copies sent to additional monitoring accounts are billed to the source accounts for the traces recorded based on AWS X-Ray pricing. Standard CloudWatch rates apply for the features used in monitoring accounts, such as CloudWatch Dashboards, Alarms, or Logs Insights queries.
Pricing examples
Note: Pricing values displayed here are meant to be examples only. Please refer to pricing tabs for most current pricing information for your respective region(s).
-
Example 1 - EC2 Detailed Monitoring
The number of metrics sent by your EC2 instance as detailed monitoring is dependent on the EC2 instance type. This example assumes 7 metrics.
If your application runs on 5 Amazon EC2 instances 24x7 for a 30-day month, and you enable EC2 Detailed Monitoring on all instances, your charges would be as follows:
Total number of metrics = 7 metrics per instance * 5 instances = 35 metrics
Monthly CloudWatch Metrics Charges @$0.30 per custom metric = 35 * $0.30 = $10.50
Monthly CloudWatch charges = $10.5 per month
Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.
-
Example 2 - Cross-account observability
If you have an application that receives 2,000 incoming requests per hour and you’re using a 10% sampling rate, then your traces recorded in your source account X will be:
Traces Recorded per Month = 2,000 requests per hour x 24 hours x 31 days x 10% = 148,800 traces
Billable Traces Recorded per Month = 148,800 traces - 100,000 traces in free tier = 48,800 traces
Monthly Traces Recorded Bill = 48,800 traces * $0.000005 = $0.244
If you share your traces from your source account X with a monitoring account Y using cross-account observability, this will create a copy of your traces on monitoring account Y which will come with no extra cost on your bill. So your monthly bill will be:Monthly traces recorded bill on source account X = $0.244
Monthly traces recorded bill on monitoring account Y = $0If you want to share the same traces from source account X with a second monitoring account, let’s say monitoring account Z, this will create an additional copy of your traces. In this case your source account, account X will be charged for this additional copy. So your final bill on source account X will be:
Monthly traces recorded bill on source account X = $0.244 +
148,800 second trace copy on monitoring account Z * $0.000005 = $0.244 + $0.744 = $0.988
Monthly traces recorded bill on monitoring account Y = $0
Monthly traces recorded bill on monitoring account Z = $0
-
Example 3 - Custom metrics
If your application runs on 51,000 Amazon EC2 instances 24x7 for a 30-day month, and you published 5 custom metrics via the PutMetricData API, your charges would be as follows:
Total number of metrics = 5 metrics per instance * 51,000 instances = 255,000 metrics
First 10,000 custom metrics @$0.30 per metric = 10,000 * $0.30 = $3,000
10,001 to 250,000 custom metrics @$0.10 per metric = 240,000 * $0.10 = $24,000
250,001 to 255,000 custom metrics @0.05 per metric = 5000 * $0.05 = $250
Monthly CloudWatch custom metrics charges = $3000 + $24000 + $250 = $27,250 per monthTotal number of API requests = 51,000 instances * (43,200 minutes/5 minutes) = 440,640,000 requests
First 1,000,000 API requests = $0
1,000,001 to 440,640,000 API requests = 439,640,000/1,000 * $0.01 = $4,396.40Monthly CloudWatch charges = $27,250 + $4,396.40 = $31,646.40 per month
-
Example 4 - S3 Replication metrics
If your S3 bucket has 5 replication rules enabled with S3 Metrics and Notifications enabled or S3 Replication Time Control (RTC) for each rule, you charges will be as follows:
Total number of replication metrics = 4 metrics per replication rule * 5 replication rules = 20 replication metrics
First 10,000 custom metrics at $0.30 per metric = 20 * $0.30 = $6.00
Monthly CloudWatch charges = $6.00 per month
(Note: For S3 Replication metrics you are not charged for API requests)
-
Example 5 - Monitoring with logs
If you are monitoring HTTP 2xx, 3xx & 4xx response codes using web application access logs 24x7 for one 30-day month, by sending 1GB per day of ingested log data, monitoring for HTTP responses, and archiving the data for one month, your charges would be as follows:
Monthly Ingested Log Charges
Total log data ingested = 1GB * 30 days = 30GB
0 to 5GB = $0
5 to 30GB = $0.50 * 25 = $12.50Monthly Monitoring Charges
3 CloudWatch Metrics @$0 = 3 * $0 = $0Monthly Archived Log Charges (assume log data compresses to 6GB)
0 to 5GB = $0
5GB to 6GB = $0.03 * 1 = $0.03Monthly CloudWatch Charges = $12.50 + $0 + $0.03 = $12.53
-
Example 6 - Analyzing logs with Live Tail
You get 1,800 minutes of Live Tail session usage per month with the AWS Free Tier, after which you pay $0.01 per minute.
If you are using Live Tail to explore and analyze your logs in real time for 1,000 minutes in one month, your monthly cost would be as follows:
Monthly Live Tail usage charges
Total Live Tail usage in minutes = 1,000
0 to 1,000 minutes = $0Monthly Live Tail charges = $0
If you are using Live Tail to explore and analyze your logs in real-time for 20,000 minutes in one month, your monthly cost would be as follows:
Monthly Live Tail usage charges
Total Live Tail usage in minutes = 20,000
0 to 1,800 minutes = $0
1,801 to 20,000 minutes = $0.01 * 18,200 = $182Monthly Live Tail charges = $182
-
Example 7 – Monitoring VPC flow logs delivered to CloudWatch logs
If you are monitoring VPCs that send 72TB of ingested VPC flow logs to CloudWatch logs per month and archiving the data for one month, your charges would be as follows:
Monthly log ingestion charges
0 to 10TB @$0.50 per GB = 10 * 1,024 * $0.50 = $5,120.00
10TB to 30TB @$0.25 per GB = 20 * 1,024 * $0.25 = $5,120.00
30TB to 50TB @$0.10 per GB = 20 * 1,024 * $0.10 = $2,048.00
50TB to 72TB @$0.05 per GB = 22 * 1024 * $0.05 = $1,126.40
Total Ingestion Charges = $5,120 + $5,120 + $2,048 + $1126.40 = $13,414.40Monthly log archival charges (assume log data compresses to 30TB)
30TB @ $0.03 per GB = 30 * 1024 * 0.03 = $921.6Monthly CloudWatch Charges = $13,414.40 + $921.6 = $14,336
Note: Volume tiers reset at the start of every month
-
Example 8 - Monitoring VPC flow logs delivered to S3
If you are monitoring VPCs that send 72TB of ingested VPC flow logs in the optional Apache Parquet format directly to S3 per month and archiving the data for one month, your charges would be as follows:
Monthly log ingestion charges
0 to 10TB @$0.25 per GB = 10 * 1,024 * $0.25 = $2,560.00
10TB to 30TB @$0.15 per GB = 20 * 1,024 * $0.15 = $3,072.00
30TB to 50TB @$0.075 per GB = 20 * 1,024 * $0.075 = $1,536.00
50TB to 72TB @$0.05 per GB = 22 * 1024 * $0.05 = $1,126.40
Total Ingestion Charges = $2,560 + $3,072 + $1,536 + $1126.40 = $8,294.40Monthly Apache Parquet format conversion charges (optional)
72TB @$0.03 per GB = 72 * 1,024 * $0.03 = $2,211.84Monthly log archival charges (assume log data compresses to 6.5TB)* *
6.5TB @ $0.023 per GB = 6.5 * 1024 * 0.023 = $153.01Monthly charges = $8,294.40 + $153.01 + $2,211.84 = $10,659.25
Note: Volume tiers reset at the start of every month
-
Example 9 - Detecting and masking sensitive log data with Data Protection
In this scenario, you are enabling ongoing data protection for a log group that collects 1 GB of log data per day from a payment processing application.
Monthly ingested log charges
Total log data ingested = 1 GB * 30 days = 30 GB
Charges for log data ingestion (0 to 5 GB): = $0
Charges for log data ingestion (5 to 30 GB) = $0.50 * 25 = $12.50Data protection charges for scanning, detecting, and masking sensitive data
Total log data scanned with data protection = 1 GB * 30 days = 30 GB
Charges for log data scanned = $0.12 per GB * 30 GB = $3.60Monthly archived log charges (assume log data compresses to 6 GB)
Charges for 0 to 5 GB = $0
Charges for 5 GB to 6 GB = $0.03 * 1 GB = $0.03Monthly CloudWatch charges = $12.50 + $3.60 + $0.03 = $16.13
-
Example 10 - Monitoring VPC flow logs with Amazon Kinesis Data Firehose
The example considers pricing region as US East (N. Virginia). If you are monitoring VPCs that send 72TB of ingested VPC flow logs directly to Amazon Kinesis Data Firehose per month, your charges would be as follows:
Monthly log delivery charges
0 to 10TB @$0.25 per GB = 10 * 1,024 * $0.25 = $2,560.00
10TB to 30TB @$0.15 per GB = 20 * 1,024 * $0.15 = $3,072.0030TB to 50TB @$0.075 per GB = 20 * 1,024 * $0.075 = $1,536.00
50TB to 72TB @$0.05 per GB = 22 * 1024 * $0.05 = $1,126.40Total delivery charges = $2,560 + $3,072 + $1,536 + $1126.40 = $8,294.40
Monthly KDF ingestion charges
Per GB processed to VPC = 72 * 1,024 * $0.13 = $9,584.64Total monthly charges = $8,294.40 + $9,584.64 = $17,879.04
If you enable Amazon CloudWatch Anomaly Detection on 10 sta
Note: Volume tiers reset at the start of every month
-
Example 11 - Alarming with Anomaly Detection
If you enable Amazon CloudWatch Anomaly Detection on 10 standard resolution metrics per month and only want to alarm on 5 of those metrics, you will create 5 standard resolution anomaly detection alarms. Your monthly bill is calculated as follows:
Total number of standard resolution anomaly detection alarms = 5
Alarms are billed based on the number of metrics per alarm. For every anomaly detection alarm, there are three standard resolution metrics per alarm. One is the actual metric being evaluated, the second is the upper bound of expected behavior, and the third is the lower bound of the expected behavior.
One standard resolution anomaly detection alarm = $0.10 * 3 standard resolution metrics per alarm = $0.30 per month
Five standard resolution anomaly detection alarms = $0.30 per standard resolution anomaly detection alarm * 5 alarms = $1.50 per month
Monthly CloudWatch charges = $1.50 per month
Pricing values displayed here are based on US East Regions. Please refer to pricing tabs for most current pricing information for your respective region(s). Anomaly Detection is currently available in all commercial AWS Regions.
-
Example 12 - Container insights for Amazon ECS
Container Insights offers Amazon ECS monitoring by providing aggregated metrics at the cluster and service level. If you monitor 1 container cluster with 10 Amazon EC2 instances, 50 average running containers, 20 unique task names, and 5 unique service names, your costs would be as follows:
CloudWatch metrics
There is a predefined number of metrics reported for every cluster, task, and service. Every cluster reports 8 metrics; every task reports 6 metrics; and every service reports 11 metrics. CloudWatch metrics are aggregated by task and service using their name. Increasing the count of running instances will not impact the count of CloudWatch metrics generated. All CloudWatch metrics are prorated on an hourly basis. This example assumes that data points are reported for the entire month.Monthly number of CloudWatch metrics per clusterCloudWatch Logs
= 8 cluster metrics + (6 task metrics * 20 unique task names) + (11 service metrics * 5 unique service names)
= 8 + (6 * 20) + (11 * 5)
= 183 CloudWatch metricsMonthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 183 metrics = $54.90.
Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.
For Amazon ECS, there is an assumed average logs size ingested for every cluster, service, task and container. Every cluster reports 0.0179 GB logs; every service reports 0.02769 GB logs; every task reports 0.06288 GB logs and every container reports 0.04159 GB logs per month on average.
The cost of logs ingested will vary based on names used for your cluster, container, pod, service, instance names, labels, etc.
Monthly GB of CloudWatch Logs ingested = (1 cluster * 0.0179 GB) + (5 services * 0.02769 GB) + (20 tasks * 0.06288 GB) + (50 containers * 0.04159 GB) = 3.49 GB per month
Monthly ingested logs costs = $0.50 per GB of ingested logs * 3.49 GB of performance events as CloudWatch Logs = $1.75 per month
Monthly CloudWatch costs = $54.90 + $1.75 = $56.65 per month.
Pricing values displayed here are based on US East (N. Virginia) AWS Regions. Please refer to the pricing information for your Region.
If you are using container logs, Container Insights adds 700 bytes per log line for the metadata required to enable filtering. Container logs will continue to be charged based on standard CloudWatch logs ingestion and logs storage pricing.
-
Example 13 - Container Insights for Amazon EKS and Kubernetes (with & without enhanced observability)
1/Container Insights with enhanced observability for Amazon EKS
When using Container Insights with enhanced observability, you will be charged based on the number of observations across your container environment where the total number of observations ingested is dependent on your container set-up including the number of container components. Assume a set-up where you monitor 1 cluster with 10 nodes, 1 namespace, 5 unique service names, 16 workloads, 20 pods, and 20 containers and the data points are reported for the entire month.
There is an average number of observations ingested per minute for each EKS container component. Every cluster reports 1,720 observations; every node reports 68 observations; every namespace reports 2 observations; every service reports 2 observations; every workload reports 7 observations; every pod reports 130 observations and every container reports 21 observations per minute on average.
With a monitoring charge as follows:
Total number of monthly Container Insights observations
= [ (1 cluster * 1,720 observations) + (10 nodes * 68 obs) + (1 namespace * 2 obs) + (5 services * 2 observations) + 16 workloads * 7 observations) + (20 pods * 130 observations) + (20 containers * 21 observations)] * 60 mins * 24 hrs * 30 days
= [ 1,720 + 680 + 2 + 10 + 112 + 2,600 + 420] * 43,200 mins/month = 239,500,800 observations per monthYour monthly Container Insights bill = 239,500,800 * $0.21 / 1M Observations = $50.30
Once you exceed 1B observations per month then volume pricing tiers will apply respectively.Additionally, all container logs are collected by default. Container Insights adds 700 bytes per log line for the metadata required to enable filtering. Container logs will continue to be charged based on standard CloudWatch logs ingestion and logs storage pricing.
2/Container Insights without enhanced observability for Amazon EKS and Kubernetes
If you are monitoring 1 container cluster with 10 nodes or Amazon EC2 instances, 20 pods, 5 unique service names, and 1 namespace, your charges for the aggregated cluster and service-level metrics would be as followed:
CloudWatch metrics
There is a predefined number of metrics reported for every cluster, node, pod, and service. Every cluster reports 24 metrics; every node reports 8 metrics; every pod reports 9 metrics; and every service reports 6 metrics. CloudWatch metrics are aggregated by pod, service, and namespace using their name. Increasing the count of running instances will not impact the count of CloudWatch metrics generated. All CloudWatch metrics are prorated on an hourly basis. This example assumes that data points are reported for the entire month.Monthly number of CloudWatch metrics per cluster
= 24 cluster metrics + (10 nodes or EC2 instances * 8 node metrics) + (20 unique pod names * 9 pod metrics * 1 namespace) + (5 unique service names * 6 service metrics * 1 namespace) + (1 unique namespace * 6 namespace metrics)
= 24 + (10 * 8) + (20 * 9 * 1) + (5 * 6 * 1) + (1 * 6) = 320 CloudWatch metricsMonthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 320 metrics = $96
Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.
CloudWatch Logs
In this example, we assume an average size for Kubernetes logs ingested per month for each EKS container component, as follows. Every cluster reports 0.01621 GB logs; every namespace reports 0.0185 GB logs; every service reports 0.02182 GB logs; every node reports 0.21365 GB logs and every pod reports 0.45845 GB logs per month on average.The cost of logs ingested will vary based on names used for your cluster, container, pod, service, instance names, labels, etc.
Monthly GB of CloudWatch Logs ingested = (1 cluster * 0.01621 GB) + (1 namespace * 0.0185 GB) + (5 services * 0.02182 GB) + (10 nodes * 0.21365 GB) + (20 pods * 0.45845 GB) = 11.45 GB per month
Monthly ingested logs costs = $0.50 per GB of ingested logs * 11.45 GB of performance events as CloudWatch Logs = $5.73 per month
Monthly CloudWatch costs = $96 + $5.73 = $101.73 per month
Pricing values displayed here are based on US East (N. Virginia) AWS Regions. Please refer to the pricing information for your Region.
If you are using container logs, Container Insights adds 700 bytes per log line for the metadata required to enable filtering. Container logs will continue to be charged based on standard CloudWatch logs ingestion and logs storage pricing.
-
Example 14 - Monitoring your application with ServiceLens
If you monitor an application that contains APIs (using Amazon API Gateway), 1 container cluster with 10 nodes or Amazon EC2 instances, 20 pods, 5 unique service names, and 1 namespace, 3 Lambda functions, and 1 DynamoDB table, your charges would be as follows:
CloudWatch metrics
APIs, Lambdas, and DynamoDB: Metrics from these AWS services are available with no additional charge.Kubernetes: As described in Example 7, there is a predefined number of metrics reported for every cluster, node, pod, and service (to learn more, see Kubernetes on AWS). Every cluster reports 24 metrics; every node reports 8 metrics; every pod reports 9 metrics; and every service reports 6 metrics. CloudWatch metrics are aggregated by pod, service, and namespace using their name. Increasing the count of running instances will not impact the count of CloudWatch metrics generated. All CloudWatch metrics are prorated on an hourly basis. This example assumes that data points are reported for the entire month.
Monthly number of CloudWatch metrics per cluster
= 24 cluster metrics + (10 nodes or EC2 instances * 8 node metrics) + (20 unique pod names * 9 pod metrics * 1 namespace) + (5 unique service names * 6 service metrics * 1 namespace) + (1 unique namespace * 6 namespace metrics)
= 24 + (10 * 8) + (20 * 9 * 1) + (5 * 6 * 1) + (1 * 6) = 24 + 80 + 180 + 30 + 6 = 320 CloudWatch metricsMonthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 320 metrics = $96. Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.
CloudWatch Logs
APIs and Lambdas: For API Gateway Logs or Lambda Logs ingested in CloudWatch, the Monthly ingested logs costs = $0.50 per GB of ingested logs * 50 GB of performance events as CloudWatch Logs = $25 per month.AWS X-Ray
If the application receives 2,000 incoming requests per hour and you’re using a 10% sampling rate, then your cost would be calculated as follows:Traces Recorded
Traces Recorded per Month = 2,000 requests per hour x 24 hours x 31 days x 10% = 148,800 traces
Billable Traces Recorded per Month = 148,800 traces - 100,000 traces in free tier = 48,800 traces
Monthly Traces Recorded Charges = 48,800 traces * $0.000005 = $0.24In addition, let’s assume you make 100 queries scanning each hour of data captured (200 traces), and retrieve the full trace data for 50 traces per query.
Traces Retrieved and Scanned
Traces Scanned per Month = 100 queries x 200 traces per hour x 31 days = 620,000 traces
Traces Retrieved per Month = 100 queries x 50 traces per query x 31 days = 155,000 traces
Total Traces Retrieved/Scanned per Month = 155,000 traces + 620,000 traces = 775,000 traces
Since the first 1,000,000 traces retrieved or scanned each month are free with AWS X-Ray, it costs $0 to retrieve and scan 775,000 traces.Your total cost per month for using AWS X-Ray equals $0.24 for traces recorded.
Monthly monitoring costs = $96 + 25+ $4.23 + $0.24 = $125.47 per month.
Pricing values displayed here are based on US East (N. Virginia) AWS Regions. Please refer to the pricing information for your Region.
-
Example 15 – Monitoring with contributor insights
If you are monitoring Amazon VPC Flow Logs with a volume of 225 billion Log Events to CloudWatch Logs per month, and you have three Contributor Insights rules that match 100 percent, 50 percent, and 10 percent of these log events respectively, your charges will be as follows:
Rule charges
Total number of rules = 3 rules
First Contributor Insights rule = $0
2 Contributor Insights rules @ $0.50 per rule = $1.00Matched Log events
Total Number of Matched Log Events = (225B * 100%) + (225 * 50%) + (225B * 10%) = 225B + 112.5B + 22.5B = 360 Billion
0 to 1 million matched log events = $0
1M to 360B matched log events = 359,999M * $0.02 = $7,200Monthly CloudWatch charges = $1.00 + $7,200 = $7,201
-
Example 16 - Monitor application performance with Application Signals, AWS X-Ray Traces, and Service Level Objectives (SLOs)
Application Signals:
If you monitor an application that receives 25,000 requests per minute (inbound service requests), and for each inbound request, the application makes 2 requests to dependencies (outbound dependency requests), your charges would be as follows:
Application Signals for inbound service requests: 25,000 requests per minute * 43,800 minutes in a month = 1,095,000,000 Application Signals per month
Application Signals for outbound dependency requests: 25,000 requests per minute * 2 outbound dependency requests * 43,800 minutes in a month = 2,190,000,000 Application Signals per month
Total Application Signals from requests = 1,095,000,000 + 2,190,000,000 = 3,285,000,000 Application Signals per month
Service Level Objectives (SLOs):
Each service level objective (SLO) generates two Application Signals per SLI metric period. If you create 10 SLOs with a 1-minute SLI metric period, 10 SLOs with a 5-minute SLI metric period, and 10 SLOs with a 10-minute SLI metric period, your total number of application signals would be as follows:
Application Signals for SLOs with 1-minute SLI metric period: (10 SLOs * 2 Application Signals 43,800 minutes in a month) / 1-minute SLI metric period = 876,000 Application Signals per month
Application Signals for SLOs with 5-minute SLI metric period: (10 SLOs * 2 Application Signals * 43,800 minutes in a month) / 5-minute SLI metric period = 175,200 Application Signals per month
Application Signals for SLOs with 10-minute SLI metric period: (10 SLOs x 2 ApplicationSignals x 43,800 minutes in a month) / 10-minute SLI metric period = 87,600 Application Signals per month
Total Application Signals from SLOs: 876,000 + 175,200 + 87,600 = 1,138,800 Application Signals per month
Total number of Application Signals from requests and SLOs = 3,285,000,000 + 1,138,800 = 3,286,138,800 Application Signals per month
Total charges for Application Signals:
First 100 million signals * $1.50 per 1 million Application Signals = $150
Next 900 millionsignals * $0.75 per 1 million per month Application Signals = $675
Remaining 2,286,138,800 signals * $0.30 per 1 million per month Application Signals = $685.84Total charges for Application Signals & SLOs = $150 + $675 + $685.84 = $1,510.84 per month
X-Ray traces:
By default, X-Ray tracing is enabled at a 5% sampling rate when implementing Application Signals. This default tracing rate can optionally be adjusted higher or lower.
If you monitor 1 application that receives 25,000 requests per minute (inbound service requests) and you are using the default 5% sampling rate, your tracing charges are as follows:
Traces stored:
Traces stored per month = 25,000 requests per minute * 43,800 minutes per month * 5% sample rate = 54,750,000 traces stored per month
Billable traces stored = 54,750,000 traces stored – 100,000 traces in free tier = 54,650,000 traces stored per month
Traces stored charges = 54,650,000 traces stored * $0.000005 = $273.25 per month
In addition, let's assume you make 100 queries per day, with each query scanning the last hour of data capture compromising 75,000 traces, and retrieve the full trace data for 50 traces per query.
Traces retrieved and scanned:
Traces scanned = 100 queries * 75,000 traces per hour * 31 days = 232,500,000 traces scanned per month
Traces retrieved = 100 queries * 50 traces per query * 31 days = 155,000 traces retrieved per month
Total traces retrieved and scanned = 155,000 traces + 232,500,000 traces = 232,655,000 traces retrieved/scanned per month
Billable Traces retrieved and scanned = 232,655,000 traces - 1,000,000 traces in free tier = 231,655,000 traces retrieved and scanned per month
Traces retrieved and scanned charges = 231,655,000 traces * $0.0000005 = $115.82 per month
Total charges for X-Ray tracing = $273.25 traces stored + $115.82 traces scanned/retrieved = $389.07 per month
Total charges: $1,510.84 for Application Signals and SLOs + $389.07 for X-Ray traces = $1,899.91 per monthIn addition, you can use Synthetics and RUM (real user monitoring) with Application Signals. Refer to individual pricing examples for charges.
-
Example 17 – End user monitoring with Synthetics
If you create 5 canaries that run once every 5 minutes, add alarms on 5 of the metrics generated by the canaries, and store the data for 1 month, your monthly bill will be calculated as follows:
5 canaries * 12 runs per hour * 24 hours per day * 31 days per month = 44,640 canary runs
Monthly CloudWatch charges
Canary run charges = 44,640 canary runs * $0.0012 per canary run = $53.57 per month
5 alarms per month = 5 * $0.10 = $0.50 per month
Total monthly CloudWatch charges = $53.57 + $0.50 = $54.07Monthly additional charges
Each canary run also runs an AWS Lambda function, writes logs and results to CloudWatch Logs and the designated Amazon S3 bucket, and creates CloudWatch custom metrics. For details on AWS service pricing such as AWS Lambda, Amazon S3, CloudWatch Logs, and CloudWatch Metrics see the pricing section of the relevant AWS service detail pages.
Lambda charges = requests charges + duration charges
= requests from 44,640 runs * $0.2 per 1,000,000 + duration of 20 seconds * 44,640 canary runs * 1 GB memory size * $0.000016667 per GB per sec
= $0.01 + $14.88 = $14.89 per monthCloudWatch Logs charges = collection charges + storage charges
= collection of 0.00015 GB per run * 44,640 runs * $0.5 per GB + storage of 0.00015 GB per run* 44,640 canary runs * $0.03 per GB per month
= $3.35 + $0.20 = $3.55 per monthS3 charges = put request charges + storage charges
= put requests of 44,640 runs * $0.005 per 1,000 requests + storage of 0.001 GB per run * 44,640 canary runs * 1 month * $0.023 per GB per month
= $0.22 + $1.03 = $1.25 per monthCloudWatch Metrics charges = 3 CloudWatch Metrics (SuccessPercent, Duration, Failed) = 3 metrics x $0.30 per metric per month = $0.90 per month
You can choose to configure additional metrics in your canary scripts: executeHttpStep() and executeStep() metrics and will be charged at custom CloudWatch Metrics rates.
Additional monthly charges = $14.89 + $3.55 + $1.25 + $0.90 = $20.59 per month
Total monthly charges = $54.07 + $20.59 = $74.66
Pricing values displayed here are based on US East Regions. Please refer to pricing tabs for most current pricing information for your respective Region(s).
-
Example 18 – Alarming with composite alarms
Composite alarms can combine any type of CloudWatch alarm. Metric alarms are billed based on the number of metrics per alarm, while composite alarms are billed per alarm unit. One composite alarm costs $0.50 per month, regardless of the number of metric alarms it combines.
If you create one composite alarm that combines four standard resolution metric alarms, your monthly bill is calculated as follows:
Four standard resolution alarms = $0.10 per alarm metric * 4 = $0.40 per month
One composite alarm = $0.50 per month
Monthly CloudWatch charges = $0.40 + $0.50 = $0.90 per month
-
Example 19 – S3 Request Metrics
Amazon S3 Request Metrics allow you to quickly identify and act on operational issues. There are 16 available metrics that you can configure filters for, identified by a shared prefix or object tag, and only monitor a subset of objects. The filters align your metrics to specific business applications, workflows, or internal organizations. The activity on the bucket determines which metrics are generated, so all 16 metrics may not necessarily be published every hour of the day.
For example, let’s take an application that performs a backup routine every day and completes within a single hour. Because the application only makes PUT requests to S3, a subset of metrics, such as AllRequests, PutRequests, TotalRequestLatency, and BytesUploaded, are generated; metrics related to other types of operations, such as DeleteRequests, SelectRequests, and SelectReturnedBytes, would not be generated. For our example, we will assume 8 out of the 16 available metrics are generated – detailed list of metrics available in Amazon S3 documentation. Assuming the routine starts and finishes within the same hour, the charges to generate and publish these metrics to CloudWatch are:
Total number of metrics = 8
Total hours of metrics published = 1 hour per day for 30 days (assuming example month has 30 days) = 1 * 30 = 30 hours per month
Total hours per month = 30 days * 24 hours = 720 hours per month
First 10,000 custom metrics @$0.30 per metric = $0.30 * 8 (number of metrics) * 30 (metric hours per month) per 720 (hours per month) = $0.10 per month.Monthly CloudWatch charges for S3 Request Metrics = $0.10 per month
Once you exceed 10,000 total metrics then volume pricing tiers will apply based on the pricing table above. -
Example 20 – Monitoring with Lambda Insights
If you monitor 1 Lambda function that is invoked 1M times per month, your costs would be as follows:
CloudWatch metrics
There is a predefined number of metrics reported for every function. Every function reports 8 metrics. CloudWatch metrics are aggregated by function using their name. All CloudWatch metrics are prorated on an hourly basis. If your function is invoked less than once per hour, your function will only be billed for the hours that it is invoked.Monthly number of CloudWatch metrics per function
= 8 metrics * 1 function
= 8 CloudWatch metricsMonthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 8 metrics = $2.40
Once you exceed 10,000 total metrics in your account then volume pricing tiers will apply. See metrics pricing table for details.
CloudWatch Logs
A single log event is generated for each function invoke. The size of each log event is approximately 1.1 KB.Monthly GB of CloudWatch Logs ingested = (1.1 KB/1024/1024) GB * 1,000,000 invokes per month = 1.05 GB per month
Monthly ingested logs costs = $0.50 per GB of ingested logs * 1.05 GB of performance events as CloudWatch Logs = $0.52 per month
Monthly CloudWatch costs = $2.40 + $0.52 = $2.92 per month
There are no minimum fees or mandatory service usage. If the function is not invoked, you do not pay.
Pricing values displayed here are based on the US East (N. Virginia) AWS Region. Please refer to the pricing information for your Region.
-
Example 21 – Metric Streams
If your application runs 24x7 for a 30-day month and emits 10,000 metric updates every minute, and your CloudWatch metric stream sends data to a partner HTTP endpoint via a Kinesis Data Firehose delivery stream in US East, your monthly charges would be as follows:
CloudWatch Metric Streams
Total number of metric updates = 10,000 metric updates per minute * 43,200 minutes in the month = 432,000,000 metric updates per month
432,000,000 metric updates @ $0.003 per 1,000 metric updates = $1,296 per month
Monthly CloudWatch Charges = $1,296 per monthKinesis Data Firehose
Kinesis Data Firehose data ingested (GB per month) = 432,000,000 metric updates * 0.5KB (assumed average size per metric update) / 1,048,576 KB/GB = 206GB / month
The Kinesis Data Firehose price in US-East is $0.029 per GB of Data Ingested for the first 500 TB/month = 206GB * $0.029 = $5.97 per month
Kinesis Data Firehose Charges = $5.97 per monthData Out (Kinesis Data Firehose HTTP Endpoint to Monitoring Partner)
Up to 9.999 TB per month @ $0.09 per GB (since the first GB is free, we will remove 1 GB from the price calculation) = 205 GB * $0.09 = $18.45
Data Out Charges = $18.45 per monthTotal Monthly Charges = $1,296 per month + $5.97 per month + $18.45 per month = $1,320.42 per month
Note: Pricing values displayed here are based on US East (N. Virginia) AWS Regions. Please refer to the pricing information for your Region.
-
Example 22 – Assignments (traffic splitting) with Evidently
Let’s say you run one traffic-splitting campaign where you’re serving two features (old version and new version) for user traffic of 200,000 total page views per month at 100% sampling rate. You don’t need analysis. Your application generates one assignment event per page view, where an assignment is an Evidently API call determining which user will see which feature (in other words, traffic split). Your charges will be:
Evidently event charges
Total number of Evidently events (assignments) = 200,000 views * 1 Evidently event per page view = 200,000 Evidently events
200,000 assignment Evidently events @ $5 per million Evidently events = $1.00Monthly CloudWatch Evidently charges = $1.00
-
Example 23 – Launch monitoring with Evidently
Let’s say you run two launches serving two feature variations each for user traffic of 200,000 total page views per month at 100% sampling rate. You want to monitor three metrics that are generated from each data event (i.e. three rule matches). Your application generates one assignment event per page view, where an assignment is an Evidently API call determining which user will see which feature (traffic split). It also generates two data events per page view (such as user clicks). Your charges will be:
Evidently event charges
For assignments, number of Evidently events = 200,000 views * 1 Evidently event per page view * 2 launches = 400,000 Evidently events
For data events, number of Evidently events = 200,000 views * 2 Evidently events per page view = 400,000 data Evidently events
Total Evidently events = assignment Evidently events + data Evidently events = 400,000 + 400,000 = 800,000
800,000 Evidently events @ $5 per million Evidently events = $4.00Evidently analysis units charges
Number of Evidently metrics = 2 launches * 3 metrics = 6 metrics
Number of Evidently analysis units = 6 metrics* 400,000 data Evidently events = 2,400,000
Analysis charges = 2,400,000 Evidently analysis units @ $7.50 per million Evidently analysis units = $18.00Monthly CloudWatch Evidently charges = event charges + analysis charges = $4.00 + $18.00 = $22.00
CloudWatch metrics charge = 12 metrics * $0.30 = $3.60
(CloudWatch metrics are per variation – 6 Evidently metrics * 2 variations) -
Example 24 – Experiments and launch monitoring with Evidently
Let’s say you run two launches and three experiments serving two feature variations each for user traffic of 200,000 total page views per month at 100% sampling rate. You want to monitor three metrics that are generated from each data event (i.e. three rule matches). Your application generates one assignment event per page view, where an assignment is an Evidently API call that says which user will see which feature (traffic split). It also generates two data events per page view (such as user clicks). Your charges will be:
Evidently event charges
For assignments, number of Evidently events = 200,000 views *1 Evidently event per page view * (2 launches+3 experiments) = 1,000,000 Evidently events
For data events, number of Evidently events = 200,000 views * 2 Evidently events per page view = 400,000 data Evidently events
Total Evidently events = 1,000,000 Evidently events (assignment) + 400,000 Evidently events (data) = 1,400,000
1,400,000 Evidently events @ $5 per million Evidently events = $7.00Evidently analysis units charges
Number of Evidently metrics = (2 launches + 3 experiments) * 3 metrics = 15 metrics
Number of Evidently analysis units = 15 metrics * 400,000 data Evidently events = 6,000,000
Analysis charges = 6,000,000 Evidently analysis units @ $7.50 per million Evidently analysis units = $45.00Monthly CloudWatch Evidently charges = event charges + analysis charges = $7.00 + $45.00 = $52.00
CloudWatch metrics charge = 30 metrics * $0.30 = $9.00
(CloudWatch metrics are per variation – 15 Evidently metrics * 2 variations) -
Example 25 – CloudWatch RUM
If your application has 500,000 visits in a month, and you’re collecting CloudWatch RUM events at 100% sampling for page load performance and errors with 20 data events — including one start event, one page view event, and 10 performance events (three web vitals, one paint, one navigation, five resource loads), and eight errors per visit — your charges would be as follows:
Total number of RUM data events = 20 data events/visit * 500,000 visits = 10,000,000 data events
Charges for 10,000,000 RUM data events @ $1 per 100,000 data events = 10,000,000* $1/100,000 = $100Monthly CloudWatch RUM data events charges = $100 per month
-
Example 26 – Metrics Insights
If you run Metrics Insights queries through the CloudWatch console, it incurs no charge to you.
When you run your Metrics Insights queries programmatically using AWS CLI, SDK, or AWS CloudFormation, your query is charged based on the number of metrics analyzed, regardless of how you output the results.
If you have 1,000,000 metrics in your account and run a query that selects 1,500 metrics for analysis and that analysis returns 10 time series in the results then your charge will be as follows:
Query charge = 1,500 metrics analyzed * $0.01 per 1,000 metrics analyzed = $0.015
If you have 5,000,000 metrics in your account and run a query that selects 100 metrics for analysis and that analysis returns only 1 time series in the results then your charge will be as follows:
Query charge = 100 metrics analyzed * $0.01 per 1,000 metrics analyzed = $0.001
-
Example 27 – CloudWatch alarms with Metrics Insights queries and monthly cost prorating
With AWS, you build an application that runs 24/7 for several months and uses autoscaled EC2 instances. You monitor your EC2 instances with a Metrics Insights query to get alerted when the average of CPU usage across all your EC2 instances goes above an 80% threshold.
In the month of July, your application consistently uses 3 instances.
In the month of August, your application scales up to 4 instances on the 16th August at 00:00 UTC and keeps on using 4 instances until the end of the month.
To calculate monthly costs for alarms
In July (which is a 31 day month), you use your alarm continuously every day. The math expression shows how to calculate the monthly cost for a standard-resolution alarm retrieving the average from 3 metrics through a Metrics Insights query.1 (alarm) x 3 (number of metrics analyzed by the Metrics Insights query) x $0.10 (cost per metric analyzed per alarm) = $0.30
The total cost of this alarm for July is $0.30.
To calculate monthly prorated costs for alarms
In August (which is a 31-day month), you use your alarm continuously every day. The math expression shows how to calculate the monthly cost for a standard-resolution alarm retrieving the average from 3 metrics through a Metrics Insights query for 15 days, then retrieving the average from 4 metrics through a Metrics Insights query for 16 days.For 360 hours (from the 1st day at 00:00 UTC to the 15th day at 23:59 UTC), your standard-resolution alarm evaluates the average from 3 metrics through a Metrics Insights query, the costs for that period are:
1 (alarm) x 3 (number of metrics analyzed by the Metrics Insights query) x 360 / 744 (pro-rating on the number of hours in the month) x $0.10 (cost per metric analyzed per alarm) = $0.15
For 384 hours (from the 16th day at 00:00 UTC to the 31st day at 23:59 UTC), your standard-resolution alarm evaluates the average from 4 metrics through a Metrics Insights query, the costs for that period are:
1 (alarm) x 4 (number of metrics analyzed by the Metrics Insights query) x 384 / 744 (pro-rating on the number of hours in the month) x $0.10 (cost per metric analyzed per alarm) = $0.21
The total cost of this alarm for August is $0.15 + $0.21 = $0.36.
Please note that all alarms costs are prorated, regardless of whether they use a Metrics Insight query or not. You can apply the same pro-rating logic to project the cost for an alarm that is created, deleted, or modified to add or remove metrics, during the month.
-
Example 28 - Internet Monitor
If you add 10 CloudFront distributions and 20 Virtual Private Clouds (VPCs) to a monitor for monitoring 45,000 city-networks, your charges will be as follows:
- Monitored resource charges:
Total number of monitored resources = 10 CloudFront distributions + 20 VPCs = 30
30 monitored resources at $0.01 per monitored resource per hour = 30 * $0.01 = $0.30 per hour
- Monitored city-network charges:
Total monitored city-networks = 45,000, First 100 city-networks = $0
Total monitored city-networks per month = 45,000 per hour 730 hours/month = 32,850,000 city-network hours/month
First 100 city-networks per hour, total per month (flat value every month) = 74,000 city-network hours/month
Total billed city-network hours/month = 32,850,000 city-network hours/month - 74,000 city-network hours/month = 32,776,000 city-networks hours/month
32,776,000 city-networks hours/month at $0.74 per 10,000 city-networks per hour = 32,776,000 $0.000074 = $2425.42 per month - CloudWatch Logs charges:
Out of 45,000 city-networks, Internet Monitor would only publish CloudWatch Logs for the top 500 city-networks which is less than 500 MB log data per day, or (500 MB * 30) = 15 GB of data per month. If you exclude the free coverage (example: 5 GB), the remaining log data you're charged for would be 10 GB (15 GB - 5 GB). If the fee per GB was $0.50 per month, a reasonable example, your monthly charges for CloudWatch Logs would be under $0.50 * 10 GB = $5 per month.
- Monitored resource charges:
-
Example 29 - Multi data source querying
In this example, you have an application with workloads on AWS and in hybrid and multicloud environments. You want to consolidate your metrics, dashboarding, and alarming in a single location for all your workloads, regardless of location.
Monthly CloudWatch alarm charges
1. AWS metrics
You create alarms to monitor metrics on AWS. Please refer to other pricing examples related to alarms for this calculation.2. On premises metrics
You create alarms to monitor 15 metrics from your on premises workloads. Each alarm references an individual metric from your on premises or other cloud workloads. Your charge is as follows: 15 alarms * 1 metric per alarm * $0.10 per alarm metric = $1.50 per month.3. Other cloud metrics
Your alarms on other cloud metrics are charged the exact same way as for on premises metrics.
If you create alarms to monitor 15 metrics from other cloud workloads, your CloudWatch charge will be the same as above, $1.50 per month.You may incur additional charges directly from other cloud vendors for querying metrics from their APIs.
Monthly CloudWatch dashboard charges
You create a custom dashboard that references 45 CloudWatch metrics, 5 queries on your on premises metrics and 5 queries on your other cloud metrics: the dashboard references 45 + 5 +5 = 55 metrics, therefore it is not eligible for the free tier. Your charge is as follows: $3 per custom dashboard = $3 per month.
Monthly additional charges1. Additional charges for Lambda execution on your alarms
Each data source query is operated by an AWS Lambda function; when you visualize data on a dashboard or every time an alarm evaluates, the AWS Lambda function runs on your behalf to retrieve the necessary data and may incur costs per AWS Lambda pricing. Please note the below example does not take into account the AWS Lambda free tier.
Lambda charges = requests charges + duration charges
A standard alarm evaluates every minute; in a 31-day month, the alarm evaluates 44,640 times. You have 15 alarms with one data source query each for on-premises metrics, and 15 other alarms with one data source query each for another cloud, that is (15 * 1) + (15 * 1) = 30 queries.
Evaluating your alarms will induce 44,640 evaluations * 30 queries = 1,339,200 Lambda runs.
Assuming an average execution time of 1 second, the charges induced by your alarms are as follows:
1,339,200 Lambda runs * $0.2 per 1,000,000 requests + duration of 1 seconds * 1,339,200 Lambda runs * 1 GB memory size * $0.0000166667 per GB per sec = $0.27 + $22.32= $22.59 per month.2. Additional charges for Lambda execution on your dashboard
For dashboard visualizations, we make the following assumptions:
* you refresh the dashboard 20 times a day
* the visualizations leverage more complex queries than alarms, and the average execution time of a query is 3 secondsVisualizing data from your dashboards will induce 10 queries * 20 times a day * 31 days = 6,200 Lambda runs per month
The AWS Lambda charges induced by your dashboard are as follows:
6,200 Lambda runs * $0.2 per 1,000,000 requests + duration of 3 seconds * 6,200 Lambda runs * 1 GB memory size * $0.000016667 per GB per sec = $0.00 + $0.31= $0.31 per month.
Additional monthly charges = $22.59 + $0.31 = $22.90 per month
Total monthly charges = $1.50 + $1.50 +3 + $22.90 = $28.90 per month
-
Example 30 - Network Monitor
Let's imagine you are a financial institution that wants to monitor the performance of your trading applications using CloudWatch Network Monitor. For resilience, you have distributed your application across three Availability Zones, mapping to three subnets. Your infrastructure connects to eight on-premises IP addresses via redundant AWS Direct Connect links. At the end of the 30-day free trial period, your first monthly bill for using CloudWatch Network Monitor for Hybrid in US East (N. Virginia) would be calculated as follows:
1. Monitored resource charges:
30 days * 24hrs = 720 hours
Total number of VPC subnets: 3
Total number of on-premises destinations accessible from each VPC subnet: 8
3 VPC subnets to the first 4 destinations at $0.10 per monitored resource per hour = 3 * 720 hours * $0.10 = $216 per month
Multiplied by 2 to account for 8 destinations = $216 * 2 = $432 per month.
2. CloudWatch metrics charges:
For each probe Network Monitor vends 3 CloudWatch metrics
Number of monitored probes: 3 subnets * 8 destination IP addresses = 24 probes
Total number of metrics: 24 probes * 3 metrics per probe = 72 metrics
Total CloudWatch charges for metrics: 72 metrics * $0.30/metric/month = $21.60 per monthTotal charge for CloudWatch Network Monitor in this example: $438 + $21.60 = $459.60 per month
-
Example 31 - API Gateway Detailed Monitoring
An API Gateway endpoint enabled with detailed metrics has two resources - /devices and /authenticate deployed to stage called prod. Each of these resources one of the following methods: DELETE, POST, OPTIONS and GET.
By default, API Gateway publishes 4XXError, 5XXError, CacheHitCount, CacheMissCount, Count, IntegrationLatency and Latency per API. Once detailed metrics for API Gateway is enabled, all the above metrics along with dimensions - ApiName, method, resource, stage will be emitted to CloudWatch.
Note, not all metrics may be emitted e.g. 4XXError or 5XXError may not show up if there are no errors.
- Number of resources = 2 (devices and authenticate)
- Number of methods = 4 (DELETE, POST, OPTIONS and GET)
- Number of stage(s) = 1 (prod)
- Metrics published (Count, IntegrationLatency, Latency, 5xx, 4xx) = 5
Total number of metrics generated:
= Method (DELETE, POST, OPTIONS and GET) x Resource (authenticate and devices) x Stage (prod) x Metrics (Count, IntegrationLatency, Latency, 5xx, 4xx)= 2 x 4 x 1 x 5 = 40
Each metric charges $0.30 per full month and it bring the maximum cost to 40 x 0.3 = $12 per month.
Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.
-
Example 32 - X-Ray tracing
X-Ray Tracing
If you have an application which receives 2,000 incoming requests per hour and you’re using a 10% sampling rate, then your cost would be calculated as follows:
Traces Recorded
Traces Recorded per Month = 2,000 requests per hour x 24 hours x 31 days x 10% = 148,800 traces
Billable Traces Recorded per Month = 148,800 traces - 100,000 traces in free tier = 48,800 traces
Monthly Traces Recorded Charges = 48,800 traces * $0.000005 = $0.24
In addition, let’s assume you make 100 queries per day each scanning the last hour of data captured (200 traces), and retrieve the full trace data for 50 traces per query.
Traces Retrieved and Scanned
Traces Scanned per Month = 100 queries x 200 traces per hour x 31 days = 620,000 traces
Traces Retrieved per Month = 100 queries x 50 traces per query x 31 days = 155,000 traces
Total Traces Retrieved/Scanned per Month = 155,000 traces + 620,000 traces = 775,000 traces
Billable Traces Retrieved/Scanned per Month = 775,000 traces - 1,000,000 traces in free tier = 0 traces
Monthly Traces Retrieved and Scanned Charges = 0 traces * $0.0000005 = $0In addition, let’s assume you have enabled X-Ray Insights on any or all X-Ray groups.
X-Ray Insights Traces Processed
Traces Recorded per Month = 2,000 requests per hour x 24 hours x 31 days x 10% = 148,800 traces
Monthly Insights Traces Processed Charges = 148,800 traces * $0.000001 = $0.15Your total cost per month for using X-Ray tracing equals $0.24+ $0.15 = $0.39.
By default, X-Ray tracing is enabled at a 5% sampling rate when implementing Application Signals. This default tracing rate can optionally be adjusted higher or lower.
If you monitor 1 application that receives 25,000 requests per minute (inbound service requests) and you are using the default 5% sampling rate, your tracing charges are as follows:
Traces stored:
Traces stored per month = 25,000 requests per minute 43,800 minutes per month 5% sample rate = 54,750,000 traces stored per month
Billable traces stored = 54,750,000 traces stored – 100,000 traces in free tier = 54,650,000 traces stored per month
Traces stored charges = 54,650,000 traces stored * $0.000005 = $273.25 per month
In addition, let's assume you make 100 queries per day, with each query scanning the last hour of data capture compromising 75,000 traces, and retrieve the full trace data for 50 traces per query.
Traces retrieved and scanned:
Traces scanned = 100 queries 75,000 traces per hour 31 days = 232,500,000 traces scanned per month
Traces retrieved = 100 queries 50 traces per query 31 days = 155,000 traces retrieved per month
Total traces retrieved and scanned = 155,000 traces + 232,500,000 traces = 232,655,000 traces retrieved/scanned per month
Billable Traces retrieved and scanned = 232,655,000 traces - 1,000,000 traces in free tier = 231,655,000 traces retrieved and scanned per month
Traces retrieved and scanned charges = 231,655,000 traces * $0.0000005 = $115.82 per month
Total charges for X-Ray tracing = $273.25 traces stored + $115.82 traces scanned/retrieved = $389.07 per month
Total charges: $1,510.84 for Application Signals and SLOs + $389.07 for X-Ray traces = $1,899.91 per month
In addition, you can use Synthetics and RUM (real user monitoring) with Application Signals. Refer to individual pricing examples for charges.
-
Example 33 - Application Signals, X-Ray tracing. and Service Level Objectives (SLOs)
Application Signals:
If you monitor an application that receives 25,000 requests per minute (inbound service requests), and for each inbound request, the application makes 2 requests to dependencies (outbound dependency requests), your charges would be as follows:
Application Signals for inbound service requests: 25,000 requests per minute * 43,800 minutes in a month = 1,095,000,000 Application Signals per month
Application Signals for outbound dependency requests: 25,000 requests per minute 2 outbound dependency requests 43,800 minutes in a month = 2,190,000,000 Application Signals per month
Total Application Signals from requests = 1,095,000,000 + 2,190,000,000 = 3,285,000,000 Application Signals per month
Service Level Objectives (SLOs):
Each service level objective (SLO) generates two Application Signals per SLI metric period. If you create 10 SLOs with a 1-minute SLI metric period, 10 SLOs with a 5-minute SLI metric period, and 10 SLOs with a 10-minute SLI metric period, your total number of application signals would be as follows:
Application Signals for SLOs with 1-minute SLI metric period: (10 SLOs * 2 Application Signals 43,800 minutes in a month) / 1-minute SLI metric period = 876,000 Application Signals per month
Application Signals for SLOs with 5-minute SLI metric period: (10 SLOs * 2 Application Signals * 43,800 minutes in a month) / 5-minute SLI metric period = 175,200 Application Signals per month
Application Signals for SLOs with 10-minute SLI metric period: (10 SLOs x 2 ApplicationSignals x 43,800 minutes in a month) / 10-minute SLI metric period = 87,600 Application Signals per month
Total Application Signals from SLOs: 876,000 + 175,200 + 87,600 = 1,138,800 Application Signals per month
Total number of Application Signals from requests and SLOs = 3,285,000,000 + 1,138,800 = 3,286,138,800 Application Signals per month
Total charges for Application Signals:
First 100 million signals * $1.50 per 1 million Application Signals = $150
Next 900 millionsignals * $0.75 per 1 million per month Application Signals = $675
Remaining 2,286,138,800 signals * $0.30 per 1 million per month Application Signals = $685.84Total charges for Application Signals & SLOs = $150 + $675 + $685.84 = $1,510.84 per month
X-Ray traces:
By default, X-Ray tracing is enabled at a 5% sampling rate when implementing Application Signals. This default tracing rate can optionally be adjusted higher or lower.
If you monitor 1 application that receives 25,000 requests per minute (inbound service requests) and you are using the default 5% sampling rate, your tracing charges are as follows:
Traces stored:
Traces stored per month = 25,000 requests per minute * 43,800 minutes per month * 5% sample rate = 54,750,000 traces stored per month
Billable traces stored = 54,750,000 traces stored – 100,000 traces in free tier = 54,650,000 traces stored per month
Traces stored charges = 54,650,000 traces stored * $0.000005 = $273.25 per month
In addition, let's assume you make 100 queries per day, with each query scanning the last hour of data capture compromising 75,000 traces, and retrieve the full trace data for 50 traces per query.
Traces retrieved and scanned:
Traces scanned = 100 queries * 75,000 traces per hour * 31 days = 232,500,000 traces scanned per month
Traces retrieved = 100 queries * 50 traces per query * 31 days = 155,000 traces retrieved per month
Total traces retrieved and scanned = 155,000 traces + 232,500,000 traces = 232,655,000 traces retrieved/scanned per month
Billable Traces retrieved and scanned = 232,655,000 traces - 1,000,000 traces in free tier = 231,655,000 traces retrieved and scanned per month
Traces retrieved and scanned charges = 231,655,000 traces * $0.0000005 = $115.82 per month
Total charges for X-Ray tracing = $273.25 traces stored + $115.82 traces scanned/retrieved = $389.07 per month
Total charges: $1,510.84 for Application Signals and SLOs + $389.07 for X-Ray traces = $1,899.91 per monthIn addition, you can use Synthetics and RUM (real user monitoring) with Application Signals. Refer to individual pricing examples for charges.
-
Example 34 - Monitor application performance with Application Signals, X-Ray traces, and complete visibility into application transaction spans
This example assumes that you are not using the first time free trial (learn more about free trail in AWS Free Tier above).
If you monitor an application that generates 72 TB of spans per month, and index 2% of spans ingested.
Monthly Ingested charges
0 to 10TB @$0.35 per GB = 10 * 1,024 * $0.35 = $3,584.00
10TB to 30TB @$0.20 per GB = 20 * 1,024 * $0.20 = $4,096.00
30TB to 72TB @$0.15 per GB = 42 * 1,024 * $0.15 = $6,451.20
Total Ingestion Charges = $3,584 + $4,096 + $6,451.2 = $14,131.20 per month
Monthly Indexed charges
Assuming 1 span = ~1kB, 72 TB translates to 72B spans per month. Since you are indexing only 2%, this translates to 1.44B spans. Since 1% of spans indexed are included in the monthly ingested charges, you only pay for 1% of 720M spans per month, instead of full 2% of 1.44B spans.
720M @$0.75 per million spans indexed = 720M * $0.75 = $540 per month
Total charges
$14,131.20 + $540 = $14,671.2 per month
If you monitor an application that generates 10 TB of spans per month, 18 TB of Embedded metric format (EMF) log records as application metrics and indexes 1% of spans as trace summaries, the total GB ingested is 28TB (10+18).
Monthly Ingested charges
0 to 10TB @$0.35 per GB = 10 * 1,024 * $0.35 = $3,584.00
10TB to 30TB @$0.20 per GB = 18 * 1,024 * $0.20 = $3,686.00
Total Ingestion Charges = $3,584 + $3,686 = $7,270 per month
Monthly Indexed spans charges
No charges for indexed spans since 1% of spans indexed are included in the pricing model.
Note: Spans ingested as logs will not incur log ingestion pricing
Additional pricing resources
Easily calculate your monthly costs with AWS.
Contact AWS specialists to get a personalized quote.