CloudWatch pipelines added GeoIP, RDS and XML processors on 19 August 2026 at a metering fork

The GeoIP processor is free. The bytes it adds are not, if your pipeline source is S3 or a third-party API.

Read time
12 min
Word count
1.9K
Sections
12
FAQs
8
Share
Diagram of Amazon CloudWatch pipelines showing where the ingestion meter sits for CloudWatch Logs versus S3 sources
CloudWatch pipelines meters CloudWatch Logs sources before processing and S3 or third-party sources after processing.
On this page · 12 sections
  1. What actually shipped
  2. The metering fork
  3. What the enrichment actually costs
  4. Where the documentation contradicts itself
  5. The limits nobody put in the announcement
  6. Regions, and what is missing from the list
  7. India-specific considerations
  8. What is still unknown
  9. What to do this week
  10. FAQ
  11. How eCorpIT can help
  12. References

Summary. AWS shipped three processors into Amazon CloudWatch pipelines on 19 August 2026 at 20:13 UTC: a GeoIP enrichment processor, an Amazon RDS Aurora log parser, and an XML parser. The announcement says they are "available at no additional cost" and that "CloudWatch logs ingestion and storage rates apply." The CloudWatch pipelines documentation is more specific, and the specificity is the whole story: "CloudWatch Logs sources are metered before pipeline processing. Third-party and S3 bucket sources are classified as Custom logs and metered after processing." Enrichment adds bytes. Where your source is an S3 bucket or one of the roughly 40 third-party integrations, you pay for those added bytes at the Custom log rate, which is $0.50 per GB in US East (N. Virginia) and $0.67 per GB in Asia Pacific (Mumbai) as of 22 August 2026. Where your source is a CloudWatch Logs log group, you pay nothing for them. Same processor, same 12 geo fields, two different bills.

What actually shipped

The AWS What's New entry for 19 August 2026 describes three processors that "parse and enrich log data as it's ingested": an RDS processor that "parses Aurora audit and error logs into structured fields", an XML parser that "converts a field containing an XML string into JSON", and a GeoIP processor that "enriches any IP address field with geographic context such as city, country, and coordinates."

The transformation processors reference fills in what the announcement leaves out. The GeoIP processor "uses MaxMind databases" and can write up to 12 named fields per entry: continent_code, continent_name, country_name, country_iso_code, city_name, postal_code, time_zone, latitude, longitude, network, asn and asn_organization. A single geoip processor accepts a minimum of 1 and a maximum of 10 entries, each entry naming one source IP field and one target field, each field name capped at 128 characters. The optional when conditional is capped at 256 characters.

Twelve fields is the ceiling, and the ceiling matters because of where the meter sits.

The metering fork

Read the pricing section of the CloudWatch pipelines documentation carefully:

"CloudWatch pipelines is included with CloudWatch Logs at no additional cost. Standard log ingestion rates based on log class (vended or custom) and storage class (Standard or Infrequent Access) still apply. Metering occurs at time of first ingestion into CloudWatch. CloudWatch Logs sources are metered before pipeline processing. Third-party and S3 bucket sources are classified as Custom logs and metered after processing."

Three separate things are true in that paragraph, and only the first appears in the announcement.

The processors are free. Correct. The meter position depends on source type. Not mentioned. And S3 and third-party sources are reclassified as Custom logs, which is a different price curve from vended logs, not a different label on the same one.

The metered-unit map published behind the CloudWatch pricing page, read on 22 August 2026 for US East (N. Virginia), carries a single untiered Custom ingestion rate of $0.50 per GB. Vended logs, by contrast, tier: $0.50 per GB for the first 10 TB, $0.25 for the next 20 TB, $0.10 for the 20 TB after that, and $0.05 per GB above 50 TB. Infrequent Access repeats the shape: Custom is a flat $0.25 per GB, vended IA tiers from $0.25 down to $0.05.

Monthly volume Vended logs, Standard class Custom logs, Standard class Difference
1 TB $500 $500 none
10 TB $5,000 $5,000 none
30 TB $10,000 $15,000 $5,000
50 TB $12,000 $25,000 $13,000
60 TB $12,500 $30,000 $17,500

Figures computed from the US East (N. Virginia) metered-unit map, 22 August 2026. The vended column applies the four published tiers in order; the Custom column applies the single published rate.

At 1 TB a month the distinction is academic. At 60 TB it is $17,500 a month, and that is before the GeoIP processor has added a single byte.

What the enrichment actually costs

CloudWatch pipelines does not keep a copy of the input. The documentation states it plainly: "Adding processors leads to mutation of the log events and original (raw) logs are not retained." For a CloudWatch Logs source the sink configuration makes this stricter still, because the sinks reference allows exactly one value: "For pipelines using the cloudwatch_logs source, the ONLY allowed value is @original." Enriched events go back to the log group they came from.

So the cost question is narrow. For an S3-sourced pipeline, take a firewall or CDN log line of roughly 250 bytes with one IP field. Ask the geoip processor for the six fields most teams want, which are city, country name, ISO code, latitude, longitude and ASN organisation, and the JSON that lands is typically 100 to 150 bytes wider once key names are counted. That is a 40 to 60 per cent increase in billed volume on a meter that sits after processing. Storage compounds it at $0.03 per GB-month for Standard-class stored data in US East (N. Virginia), and every Logs Insights query then scans the wider events at $0.005 per GB.

The fix is not to avoid the processor. It is to put the include_fields list on a diet before the pipeline goes live, and to prefer a CloudWatch Logs source where the architecture allows one, because that meter sits upstream of the enrichment.

Where the documentation contradicts itself

The announcement says you "can use these processors independently or combine them in one pipeline", and gives a combined example: extract an XML payload from a Windows Event Log into JSON, then resolve its source IP to a city and country.

The processor compatibility page says parsers "must be the first processor in a pipeline", and its table repeats "Must be first processor" for parse_json, grok, key_value, csv, parse_vpc, parse_route53 and parse_rds.

The parser processors page says the opposite about the XML parser: "Place this parser after a primary parser in the pipeline." Its own worked example puts parse_json first and parse_xml second.

Both pages are live, both were published by AWS, and they give opposite placement instructions for the same processor. The parser-processors page is the one whose example matches the announcement's use case, so that is the one to build against, but a pipeline validated on the compatibility table's reading will not do what the announcement advertises. AWS supplies two APIs specifically for this, ValidateTelemetryPipelineConfiguration and TestTelemetryPipeline, and the compatibility page tells you to run both before deployment. Run them.

The limits nobody put in the announcement

Limit Value Source
Processors per pipeline 20 CloudWatch pipelines overview
parse_xml processors per pipeline 5 Parser processors reference
XML nesting depth 25 levels Parser processors reference
geoip entries per processor 1 to 10 Transformation processors reference
include_fields per entry 1 to 12 Transformation processors reference
Logs pipelines per account 330 total: 300 from CloudWatch Logs, 30 from other sources CloudWatch pipelines overview

That 30-pipeline ceiling on non-CloudWatch-Logs sources is the one to plan around. It is also the population that gets metered after processing, so the accounts most exposed to enrichment cost are the accounts with the tightest pipeline budget.

Two further restrictions land on the RDS processor specifically. It "is supported only when the pipeline's data_source_name is amazon_rds", it "takes no parameters", and the compatibility table marks it "Not applicable" for S3 sources and API-based sources. The announcement's Aurora audit log example therefore only runs on a CloudWatch Logs source. If your Aurora logs currently land in S3, parse_rds is not available to you.

Regions, and what is missing from the list

CloudWatch pipelines is documented as available in 32 Regions, including Asia Pacific (Mumbai), Asia Pacific (Hyderabad), Europe (Frankfurt), Europe (Ireland) and South America (São Paulo). The list contains no AWS GovCloud (US) Region, no Middle East Region and no China Region. The announcement's phrase "all AWS Regions where CloudWatch pipelines is generally available" is accurate, but it is doing quiet work: the three new processors inherit that Region list rather than the wider CloudWatch Logs footprint.

Third-party source collection is narrower again. The documentation scopes it to "regions where OpenSearch Ingestion has API endpoints", which is a smaller set than the 32.

India-specific considerations

For teams running in Asia Pacific (Mumbai), the same metered-unit map read on 22 August 2026 gives $0.67 per GB for Custom ingestion, $0.335 per GB for Custom Infrequent Access, and $0.0067 per GB for Logs Insights queries. Mumbai Custom ingestion is 34 per cent above the US East (N. Virginia) rate, so the after-processing meter costs more per enriched byte here than it does in Virginia.

There is a data protection point as well, and it needs stating precisely rather than dramatically. The geoip processor writes city_name, postal_code, latitude, longitude and asn_organization against an IP address. Under the Digital Personal Data Protection Act 2023, an IP address combined with location fields is more identifiable than the IP address alone, so enrichment can move a log group from low-sensitivity operational data into personal data handling. Separately, the CloudWatch pipelines documentation warns that "Pipeline definitions are not encrypted with customer-provided keys and must never include sensitive data, such as passwords, API keys, or personally identifiable information (PII)." That warning covers the pipeline definition, not the log payload, and the two should not be conflated when writing a data protection note for an audit. The definition is where credentials must not go. The payload is where the geo fields land.

Teams weighing this alongside a broader telemetry bill will find the same arithmetic in our observability cost and OpenTelemetry migration service, and the AWS-side pattern is the one already documented in AWS Glue 6.0's version-gated price cut and the Lambda MicroVMs regional quota split: the headline is a price cut or a free feature, and the condition sits one page deeper.

What is still unknown

The documentation names MaxMind as the GeoIP data source but publishes no refresh cadence and no accuracy figure, so the staleness of a country or city resolution cannot be reasoned about from AWS material alone. There is no published per-Region breakdown of which of the 32 Regions also support third-party collection, only the pointer to the OpenSearch Ingestion endpoint list. And AWS has not said which of the two contradictory XML placement rules is the error.

What to do this week

Check your pipeline source type first, because that single field decides whether enrichment is free or billed. If the source is cloudwatch_logs, the meter sits before processing and you can enrich freely. If the source is S3 or a third-party integration, cut include_fields to the fields your queries actually use, then measure the delta with TestTelemetryPipeline before deployment rather than after the invoice. Confirm your Region is on the 32-Region list. And if you were planning to run parse_rds against Aurora logs sitting in S3, plan a different route, because the compatibility table rules it out.

FAQ

How eCorpIT can help

eCorpIT is a CMMI Level 5 and ISO 27001:2022 certified engineering organisation in Gurugram, and our senior engineering teams work on AWS observability cost the way it actually behaves: source type first, field list second, Region third. If your CloudWatch bill grew after a pipeline change and nobody can point at which meter moved, we can trace it against the published rates and rewrite the processor configuration. Talk to us through /contact-us/, or start with our devops services and cloud migration services pages.

References

  1. Amazon CloudWatch pipelines adds GeoIP, RDS, and XML processors, AWS What's New, 19 August 2026
  1. CloudWatch pipelines, Amazon CloudWatch User Guide
  1. Transformation processors, Amazon CloudWatch User Guide
  1. Parser processors, Amazon CloudWatch User Guide
  1. Processor compatibility and restrictions, Amazon CloudWatch User Guide
  1. Sinks, Amazon CloudWatch User Guide
  1. Processors, Amazon CloudWatch User Guide
  1. Pipeline metrics, Amazon CloudWatch User Guide
  1. Managing pipelines, Amazon CloudWatch User Guide
  1. Amazon CloudWatch pricing
  1. Transform logs during ingestion, Amazon CloudWatch Logs User Guide
  1. CloudWatch Logs quotas, Amazon CloudWatch Logs User Guide
  1. AWS What's New recent announcements feed

Last updated: 22 August 2026.

Frequently asked

Quick answers.

01 Do the three new CloudWatch pipelines processors cost anything extra?
No. AWS states the processors are available at no additional cost, and the documentation confirms pipeline processing carries no separate charge. What changes is billed volume. For S3 and third-party sources the meter sits after processing, so the bytes GeoIP enrichment adds are ingested and stored at standard Custom log rates.
02 When is a CloudWatch pipelines source metered before processing?
When the source is a CloudWatch Logs log group. The pipelines documentation states that CloudWatch Logs sources are metered before pipeline processing, while third-party and S3 bucket sources are classified as Custom logs and metered after processing. That single distinction decides whether enrichment bytes appear on the invoice.
03 How much do Custom logs cost compared with vended logs?
In US East (N. Virginia) on 22 August 2026, the published Custom ingestion rate is a single untiered $0.50 per GB. Vended logs tier: $0.50 per GB for the first 10 TB, then $0.25, then $0.10, then $0.05 per GB above 50 TB. At 60 TB monthly that is $30,000 against $12,500.
04 How many geographic fields can the GeoIP processor add?
Each geoip processor accepts 1 to 10 entries, and each entry accepts 1 to 12 include_fields drawn from a fixed list: continent code, continent name, country name, country ISO code, city name, postal code, time zone, latitude, longitude, network, ASN and ASN organisation. Source and target names are capped at 128 characters.
05 Do AWS documents agree on where the XML parser goes in a pipeline?
No. The processor compatibility page lists parsers as "Must be first processor" in a pipeline. The parser processors page states "Place this parser after a primary parser in the pipeline" and shows parse_json first, parse_xml second. Both pages are live. Validate any combined pipeline before deploying it.
06 Can the RDS processor parse Aurora logs stored in Amazon S3?
No. The parser processors reference states parse_rds is supported only when the pipeline data_source_name is amazon_rds, and the processor compatibility table marks it "Not applicable" for both S3 sources and API-based sources. Aurora logs already sitting in an S3 bucket need a different parsing route entirely.
07 Are the original log events kept after enrichment?
No. The CloudWatch pipelines documentation states that adding processors mutates the log events and original raw logs are not retained. For CloudWatch Logs sources the sink log group value can only be @original, so enriched events are written back to the log group they were read from, replacing the unenriched form.
08 Which Regions support CloudWatch pipelines?
The documentation lists 32 Regions, including Asia Pacific (Mumbai), Asia Pacific (Hyderabad), Europe (Frankfurt), Europe (Ireland) and South America (São Paulo). No AWS GovCloud (US), Middle East or China Region appears on the list. Third-party source collection is narrower, scoped to Regions where OpenSearch Ingestion has API endpoints.

About the author

Manu Shukla

Founder & Director

Founder of eCorpIT. Hands-on engineer leading senior-only delivery for AI apps, custom software, and cloud systems for global clients.

Subscribe

One engineering note a week. No fluff, no spam.

Senior-architect playbooks on AI agents, mobile apps, cloud, security, data, and marketing — delivered every Wednesday.

Past the reading

Read enough. Let's build something.

A senior architect responds in 24 working hours with scope, indicative cost, and a timeline. NDA before any technical conversation.