CloudWatch pricing in Tokyo: rates, formulas and billing checks
Reproduce selected Tokyo CloudWatch costs from AWS public rates, with metric tiers, logs, alarms, free allowances and a UsageType investigation.
CloudWatch pricing is a sum of separate meters, not a flat fee per host. In the Tokyo Region, a useful estimate counts metric-months, API usage, alarm metrics, dashboards, ingested logs, stored logs and query scans separately. This guide provides the inputs and formulas needed to reproduce one limited monthly subtotal.
Guance publishes this guide and sells an observability platform. We are not acting for AWS or presenting an independent cost benchmark. The prices below come from AWS; the example does not compare Guance pricing or claim savings. Actual bills depend on the applicable Free Tier, credits, contractual terms, tax and rates at the time of use.
Start with the billable quantity for each meter
AWS describes CloudWatch as a pay-as-you-go service with no upfront commitment or minimum fee. A monthly estimate can contain all of the following:
CloudWatch estimated subtotal
= tiered billable metric-months
+ billable API requests or metrics requested
+ metric stream updates
+ alarm metric-months and composite alarm-months
+ billable Basic custom dashboard-months
+ log ingestion GB + storage GB-month + scanned GB + paid Live Tail minutes
+ other enabled CloudWatch features
Each line uses its own billable quantity after any applicable Free Tier. Credits, contractual adjustments and tax are monetary adjustments outside this subtotal. Reducing one meter does not necessarily reduce another: shortening log retention reduces storage, but does not undo ingestion charges already incurred.
Which region, date and price list does the example use?
The original calculation used the fixed AmazonCloudWatch Price List version 20260729191940, published on 29 July 2026 and checked on 2 August. Its Tokyo region code is ap-northeast-1; its On-Demand rates are in USD. On 27 October 2026, we compared the relevant entries with current version 20261007115540, published on 7 October. The Tokyo rates used below and the US$3.00 Basic Dashboard rate were unchanged.
- Tokyo price list, 7 October 2026
- Original fixed Tokyo price list
- Original complete CloudWatch offer index
Basic Dashboard SKU 5P8PBB6MXV325TDC is in the complete index with location=Any; it is not a Tokyo-only SKU. The free Global-DashboardsUsageHour-Basic SKU is separate. This example accepts only Basic custom dashboards with at most 50 metrics each. Extended dashboards, which exceed 50 metrics, also cost US$3.00 per dashboard-month but do not qualify for the three-dashboard free allowance. Automatic dashboards are free. Neither belongs in this example’s Basic input.
The complete offer index is not an “Any/Global-only file.” AWS explains that the price list is informational; applicable pricing conditions and the actual bill take precedence.
Tokyo rates used in the calculation
This is a selected set of meters, not a complete CloudWatch rate card. Keep the units intact.
| Meter | Public USD unit rate | Quantity to count |
|---|---|---|
| Custom metrics: first 10,000 | 0.30 | Metric-months |
| Next 240,000 | 0.10 | Incremental metric-months |
| Next 750,000 | 0.05 | Incremental metric-months |
| Above 1,000,000 | 0.02 | Incremental metric-months |
| General API | 0.01 per 1,000 | Requests |
| GetMetricData | 0.01 per 1,000 | Metrics requested, not API calls |
| Metric Streams | 0.003 per 1,000 | Metric updates |
| Standard-resolution alarms | 0.10 | Alarm metric-months |
| High-resolution alarms | 0.30 | Alarm metric-months |
| Composite alarms | 0.50 | Composite alarm-months |
| Paid Basic custom dashboards | 3.00 | Dashboard-months; location=Any SKU |
| Standard log ingestion | 0.76 | GB ingested |
| Log storage | 0.033 | GB-months |
| Logs Insights | 0.0076 | GB scanned |
| Live Tail | 0.01 | Paid minutes |
The Free Tier is meter-specific. The one-million-request general API allowance applies to APN1-CW:Requests, not GetMetricData, GetInsightRuleReport or GetMetricWidgetImage. The ten free alarm metrics apply to standard-resolution alarms that list metrics directly, not Metrics Insights query alarms, high-resolution alarms, composite alarms or Metric Streams. The three free custom dashboards each have a maximum of 50 metrics. Standard log ingestion, storage and Logs Insights have separate Global 0–5 GB free SKUs; Live Tail includes 1,800 minutes per month.
Use AWS’s actual allocation of free usage to each SKU. Do not subtract one allowance indiscriminately from every row, or treat credits as free units.
Reproduce the subtotal
Inputs are billable quantities after applicable free allowances, not raw usage. Metric, alarm and dashboard usage can be prorated by time; fractional month quantities are valid. Do not round intermediate tiers. Round only the displayed USD subtotal to cents.
M = billable custom metric-months
metric_cost(M)
= min(M, 10,000) * 0.30
+ min(max(M - 10,000, 0), 240,000) * 0.10
+ min(max(M - 250,000, 0), 750,000) * 0.05
+ max(M - 1,000,000, 0) * 0.02
estimated_subtotal
= metric_cost(M)
+ billable_general_api_requests * 0.00001
+ get_metric_data_metrics_requested * 0.00001
+ metric_stream_updates * 0.000003
+ standard_alarm_metric_months * 0.10
+ high_resolution_alarm_metric_months * 0.30
+ composite_alarm_months * 0.50
+ billable_basic_custom_dashboard_months * 3.00
+ standard_log_ingestion_gb * 0.76
+ log_storage_gb_month * 0.033
+ logs_insights_scanned_gb * 0.0076
+ paid_live_tail_minutes * 0.01
| Input | Billable quantity | Calculation | USD subtotal |
|---|---|---|---|
| Custom metrics | 12,000 metric-months | 10,000 × 0.30 + 2,000 × 0.10 | 3,200.00 |
| General API | 2,000,000 requests | 2,000,000 × 0.00001 | 20.00 |
| GetMetricData | 1,500,000 metrics requested | 1,500,000 × 0.00001 | 15.00 |
| Metric Streams | 2,000,000 updates | 2,000,000 × 0.000003 | 6.00 |
| Standard alarms | 50 metric-months | 50 × 0.10 | 5.00 |
| High-resolution alarms | 5 metric-months | 5 × 0.30 | 1.50 |
| Composite alarms | 2 alarm-months | 2 × 0.50 | 1.00 |
| Paid Basic dashboards | 2 dashboard-months | 2 × 3.00 | 6.00 |
| Standard log ingestion | 30 GB | 30 × 0.76 | 22.80 |
| Log storage | 50 GB-months | 50 × 0.033 | 1.65 |
| Logs Insights | 100 GB scanned | 100 × 0.0076 | 0.76 |
| Live Tail | 200 paid minutes | 200 × 0.01 | 2.00 |
| Selected public-rate subtotal | 3,281.71 |
US$3,281.71 is a calculation example, not a customer quote or predicted invoice. It assumes free usage has already been allocated, time-based quantities have already been aggregated, and no other CloudWatch features contribute charges.
Changing only billable custom metric-months gives the following sensitivity:
| Metric-months | Metric subtotal | Other fixed charges | Total, USD |
|---|---|---|---|
| 8,000 | 2,400.00 | 81.71 | 2,481.71 |
| 12,000 | 3,200.00 | 81.71 | 3,281.71 |
| 300,000 | 29,500.00 | 81.71 | 29,581.71 |
Each tier applies only to usage within that band. A count of metric names is not the billable metric-month quantity: inspect MetricMonitorUsage, dimensions and the emitting services.
Trace the increase to UsageType and Operation
The CloudWatch billing guide describes filtering Cost Explorer by CloudWatch and grouping by Usage Type, API Operation and Region. Tokyo-specific usage types often begin APN1-; dashboards and free allowances may be global or region-neutral.
A Price List operation is not the same field as a CUR line_item_operation. The latter can help identify the writer even when the former is empty.
| Cost clue | UsageType | Price List operation or billing clue | Investigate first |
|---|---|---|---|
| Custom, detailed or embedded metrics | APN1-CW:MetricMonitorUsage |
Price List empty; CUR may show MetricStorage, MetricStorage:AWS/<Service> or MetricStorage:AWS/Logs-EMF |
Namespace, dimensions, emitter |
| General API | APN1-CW:Requests |
Price List empty; inspect actual billed operation | Caller and polling interval |
| GetMetricData | APN1-CW:GMD-Metrics |
GetMetricData |
Metrics requested as well as query count |
| Metric Streams | APN1-CW:MetricStreamUsage |
MetricUpdate |
Stream filters and updates |
| Alarm types | APN1-CW:AlarmMonitorUsage and related types |
Price List empty; distinguish UsageType | Evaluated metrics, resolution, alarm type |
| Metrics Insights query alarm | APN1-CW:MetricInsightAlarmUsage |
Price List empty; outside this model | Metrics analyzed by the query |
| Basic custom dashboard | DashboardsUsageHour-Basic |
DashboardHour |
Custom, ≤50 metrics, allowance used |
| Standard log ingestion | APN1-DataProcessing-Bytes |
PutLogEvents |
Log group, source, GB |
| Log storage | APN1-TimedStorage-ByteHrs |
Price List empty; CUR clue HourlyStorageMetering |
Retention and GB-months |
| Logs Insights | APN1-DataScanned-Bytes |
StartQuery |
Time window, log groups, scanned GB |
| Live Tail | APN1-Logs-LiveTail |
StartLiveTail |
Paid session minutes |
Compare the same complete month, filter the service, identify the growing Usage Type, then separate API Operation and Region. For logs, follow the resource to the log group: another AWS service may be creating the logs and therefore the charges. The documentation describes a 14-day Cost Explorer resource view; use CUR for longer resource-level analysis.
This Athena/CUR template has not been run against a customer dataset. Replace the table and UTC boundaries with your schema and period. Keep account and resource identifiers private.
SELECT
line_item_usage_type,
line_item_operation,
SUM(CAST(line_item_unblended_cost AS decimal(16,8))) AS unblended_cost
FROM <cur_table>
WHERE line_item_product_code = 'AmazonCloudWatch'
AND line_item_usage_start_date >= TIMESTAMP '<start_utc>'
AND line_item_usage_start_date < TIMESTAMP '<end_utc>'
AND line_item_line_item_type NOT IN
('Tax', 'Credit', 'Refund', 'EdpDiscount', 'Fee', 'RIFee')
GROUP BY 1, 2
ORDER BY 3 DESC;
Cost reductions must preserve detection and retention requirements
CloudWatch can remain a good fit when basic metrics, the Free Tier and AWS-native integrations satisfy the requirement. A lower subtotal is not useful if removing detailed metrics makes a failure harder to diagnose, replacing high-resolution alarms breaks an SLO or recovery path, or shortening retention conflicts with investigation or audit needs.
Do not apply this Standard-log formula unchanged to Infrequent Access, Vended Logs, S3 or Firehose delivery, data protection or Parquet conversion. Those paths have their own meters and related service costs.
When the investigation needs to span AWS, other clouds, applications and RUM, evaluate that workflow separately from the CloudWatch rate card. Guance’s AWS Billing integration documents collection and update boundaries; it is not a substitute for AWS prices or a promise of lower cost.
What still needs an account or workload check?
The public rates are verified for the stated scope. The following remain customer-specific, excluded or untested—not evidence that CloudWatch lacks these features:
- allocation of Free Tier usage, credits, negotiated pricing, EDP and reseller terms;
- JPY invoicing, exchange date, tax and billing-data latency;
- Application Signals, X-Ray, RUM, Synthetics, Container/Database/Network Insights and OpenTelemetry metric usage;
- Metrics Insights query alarms, Extended and automatic dashboards, GetInsightRuleReport and GetMetricWidgetImage;
- Vended Logs, Infrequent Access, data protection, S3/Firehose delivery, Parquet conversion and transfer;
- associated AWS services and operating labour;
- reconciliation of this example with an actual invoice, which has not been performed.
Recheck the model whenever rates, free allowances, UsageType/Operation mappings or enabled features change. The formulas and tables above remain a reproducible worksheet even without an interactive calculator; they do not send or store inputs and do not estimate Guance savings.
First-party references
- CloudWatch pricing and Free Tier
- CloudWatch billing investigation
- CloudWatch Logs billing details
- Price List scope and limitations
- Using the Price List Bulk API
Selected rates and arithmetic rechecked on 27 October 2026. No customer billing reconciliation or production experiment is claimed.
Contact us
Join the community
to join the community
Try Guance
Start online and pay only for what you use.
Get startedChoose a Guance plan