Home Blog AWS Daily Intelligence #33 - The root alarm was wa…
AWS Daily Intelligence AWS

AWS Daily Intelligence #33 - The root alarm was watching one Region

Verified against current vendor documentation on 16 September 2026. Pricing, limits and API behaviour were checked against the official docs on that date. Cloud services change fast — if you are reading this much later, treat the specifics as a starting point and re-check the linked sources.

Executive summary

AWS has made root user sign-in regionally resilient: it “is now served across US East (N. Virginia), US East (Ohio), and US West (Oregon), with sign-in traffic distributed across all three Regions.”

That is unambiguously good. Root sign-in is the credential you reach for when everything else has failed, and until now it leaned on a single Region — AWS's stated purpose is that the change “reduces reliance on US East (N. Virginia) and improves resiliency during service disruptions.” Nothing is required to get the benefit: “AWS automatically routes your root user sign-in to a supported Region without requiring you to select a Region or change how you sign in.”

The consequence is in the same announcement, and it is the reason this is worth a post rather than a line in a roundup: “ConsoleLogin events for root user sign-ins are recorded in the Region that processed the sign-in request.” The signal moved with the service.

What changed

Two things, and the second is the one that will cost somebody an incident review.

Root sign-in is now served from three Regions. Traffic is distributed across N. Virginia, Ohio and Oregon, automatically, with no configuration and no change to how anybody signs in.

The audit event lands wherever the sign-in was processed. The CloudTrail documentation states it plainly: “If you sign in as the root user, CloudTrail records the event in one of the following Regions: us-east-1, us-east-2, or us-west-2.”

AWS spells out the required action rather than leaving it implied: “To maintain full visibility into root user sign-in activity, update your monitoring and alerting to cover US East (N. Virginia), US East (Ohio), and US West (Oregon).”

It is available now, for every account. There was no opt-in, which means the behaviour changed underneath every existing detection rule at the same moment.

Architecture

Sign-in event routing was never as simple as most teams assume, and this change adds a third case to a list that already had several.

Diagram: where an AWS ConsoleLogin event is recorded, and how root user sign-in resiliency changes it. The upper half shows the change: root user sign-in is now served across US East N. Virginia, US East Ohio and US West Oregon, with traffic distributed across all three Regions automatically and no customer configuration, so the resulting ConsoleLogin event is recorded in us-east-1, us-east-2 or us-west-2 depending on which Region processed the request. The lower half shows the detection consequence: a security baseline whose CloudTrail metric filter, alarm or EventBridge rule is scoped only to us-east-1 will see root sign-ins processed there and will silently miss those processed in Ohio or Oregon, and because a missing event produces no error the alarm staying quiet is indistinguishable from nobody using root. A side panel records that the Region recorded in a ConsoleLogin event already varied by user type and endpoint before this change: an IAM user on the global endpoint with an account alias cookie present is recorded in us-east-2, eu-north-1 or ap-southeast-2 based on latency from the sign-in location, an IAM user on the global endpoint without that cookie is recorded in us-east-1, and an IAM user on a regional endpoint is recorded in the Region of that endpoint. A closing note records the durable fix: an organisation trail applied to all Regions captures the event wherever it lands, which is why the control belongs at the trail rather than at a Region-scoped alarm.
The sign-in moved to three Regions and took its audit event with it. A Region-scoped detection rule does not follow.

CloudTrail is explicit that this was never uniform: “The Region recorded in a ConsoleLogin event varies based on the user type and whether you use a global or regional endpoint to sign in.”

For an IAM user on the global endpoint, the recorded Region depends on a browser cookie. With an account alias cookie present, the event lands in us-east-2, eu-north-1 or ap-southeast-2 — chosen by latency from the sign-in location. Without it, us-east-1. On a regional endpoint, the Region of that endpoint.

So the mental model worth carrying is that a sign-in event's Region is a property of how the sign-in was routed, not of the account, the user, or anything you configured. Root has simply joined the set of identities whose routing can vary.

Business value

The resiliency gain is the headline and it is real. Root is the credential of last resort — the one used when federation is broken, when an IAM misconfiguration has locked everyone out, when a support case needs an account-level action nobody else can perform. A break-glass path that depended on one Region being healthy was a genuine single point of failure in exactly the scenario break-glass exists for.

Three Regions, automatic routing, no configuration, every account, today. There is no adoption project and no migration. As improvements go it is about as clean as they come.

Security considerations

This is where the work is, and the shape of the risk deserves stating precisely.

Alerting on root user sign-in is one of the oldest controls in the catalogue. It appears in the CIS AWS Foundations Benchmark, in Well-Architected security guidance, and in essentially every security baseline any organisation has ever written. A very large number of those implementations are a CloudWatch metric filter over a CloudTrail log group, or an EventBridge rule, scoped to us-east-1 — because for years that is where the event reliably appeared.

Those rules did not break. They still match every root sign-in processed in N. Virginia. They simply never see the ones processed in Ohio or Oregon.

The failure mode is silence, which reads as good news

A missing event does not raise an error. The alarm does not fail, the rule does not error, the dashboard does not go red. It stays quiet — and a quiet root-sign-in alarm is exactly what a healthy account looks like. There is no signal anywhere in the account that distinguishes “nobody used root” from “somebody used root in a Region we do not watch.” That is the worst available property for a detection control, and it is why this deserves action this week rather than at the next baseline review.

The durable fix is not to add two more Region-scoped alarms. It is to make sure the trail capturing these events is multi-Region — an organisation trail applied to all Regions delivers the event to one place regardless of which Region processed the sign-in — and then to alert off that. A control that has to be updated every time AWS adds a Region to a service's routing is a control with a recurring maintenance bug in it.

Cost considerations

No pricing change is stated, and the resiliency improvement itself carries no charge.

Checking whether you already have a blind spot costs nothing. CloudTrail event history is available by default, holds “the past 90 days of management events in an AWS Region”, and “there are no CloudTrail charges for viewing the event history.” So the immediate audit — did a root sign-in land in Ohio or Oregon in the last three months? — is free to run.

If the fix requires changing CloudTrail configuration rather than just alerting, prefer widening an existing trail to creating a second one. Two trails capturing the same management events means two copies delivered, and the second copy is the one that carries a charge. Check whether the existing trail can simply be made multi-Region before adding another.

Operational considerations

The change is already live. There is no rollout window to prepare for and no flag to flip. Any root sign-in from now on may be recorded in any of the three Regions, so the gap, if you have it, is open now.

Testing it is awkward, and that is the point. You cannot reliably steer which Region processes a root sign-in — routing is AWS's decision. So verifying your detection works cannot be done by signing in once and watching the alarm fire; that only proves the path you happened to get. The check has to be structural: confirm the trail is multi-Region, and confirm the alerting reads from the trail rather than from a Region-scoped log group.

Check the analysis path too, not just the alarm. Anything that queries sign-in history — an Athena table over CloudTrail, a SIEM ingestion filter, a CloudTrail Lake event data store, a quarterly access-review script — carries the same assumption. An access review that reports zero root sign-ins is reassuring and, if it reads one Region, possibly wrong.

Tradeoffs

Resiliency and observability pulled in opposite directions here, and AWS chose correctly. A sign-in path that fails when one Region is impaired is worse than a sign-in path whose audit events need multi-Region collection. The alternative — keeping the event in one Region for tidiness — would mean the recording Region is available when the processing Region is not, which is not a property you can promise.

The cost is borne by the customer, unevenly. Organisations with a multi-Region organisation trail and alerting built on it are already correct and need to do nothing. Organisations with a single-Region trail have a real gap. The teams most likely to have the narrow configuration are the ones who set this up years ago, following guidance that was accurate when written — so the change penalises age, not carelessness.

It is a reminder that global is a routing decision, not a fact. Several AWS services described as global have a Region where their events actually land, and that Region is an implementation detail which can change. Building detection on top of one is borrowing against a promise nobody made.

Implementation guidance

Confirm the trail first. Check whether the trail capturing sign-in events is multi-Region and, in an organisation, whether it is an organisation trail. If it is, the events are already being collected from all three Regions and only the alerting layer needs checking.

Then find every rule that names a Region. Metric filters, EventBridge rules, SIEM ingest filters, Athena partitions, Security Hub custom insights. Anything scoped to us-east-1 for sign-in events is now partial. Search your infrastructure-as-code for the Region string next to ConsoleLogin — that grep is the fastest audit available.

Alert on the trail, not on a Region. Point root-sign-in detection at the multi-Region trail's destination so it keeps working the next time AWS changes routing. This is the fix that does not need repeating.

Re-run any historical root-access review that covered a single Region. If a previous review concluded root had not been used, and it read only us-east-1, that conclusion is only as good as the routing during the period reviewed. Worth re-running against the full set before relying on it for an audit.

Use event history for the immediate check, but repeat it per Region. It covers the past 90 days of management events and costs nothing to view, which makes it the fastest way to find out whether you already have sign-ins you never saw. The constraint is the same one causing the problem: an event history search “only returns events from a single AWS Region.” So this is three searches, not one — N. Virginia, Ohio, Oregon — and anything older than 90 days has to come from a trail or an event data store instead.

Best practices

Treat “which Region records this event” as a question with no permanent answer. It is an operational detail of a service's routing, and services change routing to improve availability, which is a good thing they will keep doing.

Collect broadly, alert narrowly. A multi-Region trail costs nothing extra for the first copy of management events and removes an entire class of blind spot. Narrow the scope in the query, never in the collection.

Write the assumption down next to the control. The teams with a gap today are not careless; they encoded a true fact that later stopped being true, and nothing prompted a re-check. A one-line comment recording why a rule is scoped to a Region is what lets the next person notice.

Who should adopt this

The resiliency improvement is already adopted for everyone — no action, no opt-in.

The people who must act are anyone whose root-sign-in detection is Region-scoped, which in practice means anyone whose baseline predates this week and who has not checked. Regulated environments should treat it as higher priority: root sign-in alerting is frequently a named control in an audit scope, and “the alarm was correctly configured for the Region we monitored” is not a comfortable sentence to write in a finding.

Key takeaways

  • Root user sign-in is now served from N. Virginia, Ohio and Oregon, with traffic distributed across all three. Automatic, no configuration, every account, now.
  • The ConsoleLogin event is recorded in whichever of us-east-1, us-east-2 or us-west-2 processed the sign-in.
  • Region-scoped root-sign-in alarms are now partial. They do not error — they stay quiet, which looks identical to healthy.
  • AWS states the required action explicitly: extend monitoring and alerting to cover all three Regions.
  • The durable fix is a multi-Region or organisation trail with alerting built on it, not three Region-scoped alarms.
  • Sign-in event Regions already varied by user type and endpoint before this. Root has joined a list it was previously absent from.

Comments

How was your experience?
Your feedback helps improve this site.
PoorExcellent