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.

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)

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)
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)

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 First time free trial includes 100 million Signals or 3 months of free usage, whichever comes first, per account
Synthetics 100 canary runs per month
Evidently First time free trial includes 3 million Evidently events and 10 million Evidently analysis units per account
RUM First time free trial includes 1 million RUM events per account
Cross-account observability First trace copy sent from source account to monitoring account

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
  • 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 ECS

    Container 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).

  • 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.

  • 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 = $0

    If 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

  • 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 month

    Total 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.40

    Monthly CloudWatch charges = $27,250 + $4,396.40 = $31,646.40 per month

  • 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)

  • 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.50

    Monthly Monitoring Charges
    3 CloudWatch Metrics @$0 = 3 * $0 = $0

    Monthly Archived Log Charges (assume log data compresses to 6GB)
    0 to 5GB = $0
    5GB to 6GB = $0.03 * 1 = $0.03

    Monthly CloudWatch Charges = $12.50 + $0 + $0.03 = $12.53

  • 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 = $0

    Monthly 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 = $182

    Monthly Live Tail charges = $182

  • 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.40

    Monthly log archival charges (assume log data compresses to 30TB)
    30TB @ $0.03 per GB = 30 * 1024 * 0.03 = $921.6

    Monthly CloudWatch Charges = $13,414.40 + $921.6 = $14,336

    Note: Volume tiers reset at the start of every month

     

  • 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.40

    Monthly Apache Parquet format conversion charges (optional)
    72TB @$0.03 per GB = 72 * 1,024 * $0.03 = $2,211.84

    Monthly log archival charges (assume log data compresses to 6.5TB)* *
    6.5TB @ $0.023 per GB = 6.5 * 1024 * 0.023 = $153.01

    Monthly charges = $8,294.40 + $153.01 + $2,211.84 = $10,659.25

    Note: Volume tiers reset at the start of every month

  • 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.50

    Data 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.60

    Monthly 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.03

    Monthly CloudWatch charges = $12.50 + $3.60 + $0.03 = $16.13
     

  • 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.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 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.64

    Total 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

  • 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.

  • 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 metrics

    Monthly 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.

  • 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 month

    Your 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 metrics

    Monthly 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.  

  • 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 metrics

    Monthly 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.24

    In 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.
     

  • 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.00

    Matched 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,200

    Monthly CloudWatch charges = $1.00 + $7,200 = $7,201

  • 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.84

    Total 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 month

    In addition, you can use Synthetics and RUM (real user monitoring) with Application Signals. Refer to individual pricing examples for charges.

  • 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.07

    Monthly 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 month

    CloudWatch 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 month

    S3 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 month

    CloudWatch 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).

  • 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
     

  • 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.

  • 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 metrics

    Monthly 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.

  • 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 month

    Kinesis 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 month

    Data 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 month

    Total 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.

  • 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.00

    Monthly CloudWatch Evidently charges = $1.00

  • 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.00

    Evidently 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.00

    Monthly 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)

  • 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.00

    Evidently 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.00

    Monthly 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)

  • 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 = $100

    Monthly CloudWatch RUM data events charges = $100 per month

  • 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

  • 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.
     

  • 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:

    1. 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
    2. 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
    3. 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.

     

  • 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 charges

    1. 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 seconds

    Visualizing 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

     

  • 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 month

    Total charge for CloudWatch Network Monitor in this example: $438 + $21.60 = $459.60 per month

  • 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.
     

Additional pricing resources

AWS Pricing Calculator

Easily calculate your monthly costs with AWS.

Get pricing assistance

Contact AWS specialists to get a personalized quote.