CloudWatch pricing in Tokyo: what drives the bill

Understand CloudWatch pricing in Tokyo through metric series, log ingestion, retention and query scans, with a worked monthly bill and practical cost analysis.

Industry insights Best practices
Illustration of cloud monitoring costs for metrics, logs and queries

When a CloudWatch bill rises, find the growing line item before changing platforms. Shorter retention reduces storage; it does little for an ingestion-heavy bill. Removing dashboards will barely help when custom metrics account for most of the spending.

In Tokyo, Standard log ingestion costs US$0.76/GB, storage US$0.033/GB-month, and the Logs Insights meter used here US$0.0076 per GB scanned. Each pays for different work. If AWS-native monitoring already meets the team's needs, I would first adjust what is collected, retained and queried. A platform migration should solve a problem that remains after that work.

Guance Editorial Team. AWS public rates checked on 27 October 2026. The examples use USD list rates and assumed quantities; they are not customer invoices or performance measurements.

Tokyo rates and the allowances that apply

The region is ap-northeast-1. The AWS Price List published on 7 October 2026 provides the regional rates below. Additional CloudWatch features add their own charges.

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

Free allowances have specific boundaries. The monthly million-request general API allowance excludes GetMetricData, GetInsightRuleReport and GetMetricWidgetImage. The ten free alarm metrics apply to standard-resolution alarms that specify metrics directly, not Metrics Insights query alarms, high-resolution alarms or composite alarms. Free Tier conditions

Three Basic custom dashboards are free when each references at most 50 metrics. Extended dashboards with more metrics also cost US$3.00/month but do not qualify for that allowance; automatic dashboards are free. Paid dashboard SKUs use location=Any and appear in the complete price list, rather than being Tokyo-specific.

Standard log ingestion, storage and Logs Insights have separate Global 0–5 GB free SKUs. Live Tail includes 1,800 minutes a month. The calculations below use quantities after AWS has allocated the applicable free usage. Credits, taxes and contract adjustments are separate.

A short list of metric names can produce many series

CloudWatch identifies a metric by its name, namespace and dimensions. Different service, endpoint and status values can produce separate series even when every record is called request_count. Metrics and dimensions

For an illustrative workload, 20 services each emitting all combinations of 10 endpoints and five statuses produce 1,000 series from one metric name. Fewer emitted combinations produce fewer series. A request ID introduces a much less bounded dimension, so decide whether that level of aggregation is useful before publishing it.

The rate tiers apply incrementally. At 12,000 billable metric-months, the first 10,000 cost US$0.30 each and the remaining 2,000 cost US$0.10, giving US$3,200 for metrics.

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

M is billable custom metric-months. Use time-adjusted quantities for metrics, alarms and dashboards, retaining precision through the calculation and rounding only the displayed dollar amount.

What a US$3,281.71 example tells us to fix first

These assumed quantities are already net of the applicable free allowances. Other CloudWatch features, associated AWS services, credits and taxes are outside the calculation.

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

Metrics contribute US$3,200; everything else adds up to US$81.71. Here, unused dimensions, extra series created by overlapping collection, and metrics nobody consumes deserve attention before log retention. The latter cannot materially change the dominant charge.

Changing only metric-months makes the relationship clear:

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

Removing unused series is different from losing the resolution needed to diagnose a failure. The monitoring should still do its job after the bill falls.

Ingestion, storage and queries need different changes

An ingestion increase points toward source log levels and duplicate forwarding. A storage increase points toward log-group retention. An increase in Logs Insights suggests reviewing time windows, selected log groups and repeated execution.

For example, once 1,000 billable GB has been ingested, its US$760 ingestion charge has occurred. Shortening retention changes subsequent storage. A query scanning 1,000 GB costs US$7.60 at the listed rate. Retaining less history and scanning narrower windows act on different parts of the bill.

These are Standard-log rates and the specific Logs Insights meter in the table. Infrequent Access, Vended Logs, S3/Firehose delivery and data protection have separate pricing conditions. Set the retention needed for investigations and audit before trimming the excess.

Follow UsageType back to the workload

Filter Cost Explorer to CloudWatch, compare equal-length periods, then examine Usage Type and switch the grouping to API Operation and Region as needed. Tokyo-specific entries often start with APN1-; dashboards and free allowances can be region-neutral. CloudWatch billing investigation

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

Price List operation and CUR line_item_operation are different fields. A blank value in the former does not prevent the latter from identifying the writer. For logs, continue to the log group and emitting service. The workload producing data usually explains more than the number of people opening the console. With resource-level data enabled, Cost Explorer's resource view covers the previous 14 days; CUR supports longer resource-level investigations.

This Athena example shows the aggregation. Substitute the table and UTC interval for your own CUR schema.

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;

Keep CloudWatch where the work stays inside AWS

CloudWatch remains a sensible choice when the job is monitoring EC2, RDS and Lambda and handling alerts within AWS. Reusing basic metrics and established integrations, then tracing the increased charge to its source, is often a smaller change than replacing the platform.

The calculation changes when engineers need to explain AWS costs alongside applications and services in other environments. Guance's AWS Billing integration brings billing data into the platform for analysis. That can put daily cost review and operational monitoring in one place. Billing data follows the source API and collection schedule, so it should be read on its own update cadence rather than as a real-time request signal.

Keeping CloudWatch queries or log delivery also keeps their AWS charges. Separate work CloudWatch already handles from investigations that need a broader view; that makes the purpose of an additional platform easier to judge. The Japan AWS monitoring guide develops that deployment choice.

For a yen-denominated budget, use the actual invoice currency, conversion rules and taxes. This subtotal excludes additional Application Signals, X-Ray, RUM, Synthetics, Insights products and data transfer. Add the features in use for the same billing period before treating it as an account estimate.

Get a tailored plan

Contact us

Join the community

Scan with WeChat
to join the community

Try Guance

Start online and pay only for what you use.

Get started

Choose a Guance plan

Code hosting