TLDRocket
Sign in

Enforcing data residency with single-Region Claude Code on Amazon Bedrock

AWS Zaid Barkat

AWS locked Claude Code's Bedrock calls to a single region, like London, for a compliance-strict client. The fancy new routing couldn't do it, so engineers fell back to an older API and tight IAM rules.

A US company came to AWS with a request that sounded easy and turned out to be anything but: let engineers use Claude Code, but guarantee that every prompt and completion gets processed inside London, specifically the eu-west-2 region, with no exceptions. Not "somewhere in Europe." Not "called from London but maybe processed elsewhere." The compliance team wanted a hard line, and AWS had to figure out how to draw it.

The first instinct was to reach for Mantle, Anthropic's newer native endpoint on Bedrock, which promises single-region routing by simply setting an AWS_REGION variable. It works beautifully in seven regions — Ireland, Stockholm, Tokyo, Melbourne, and three US regions among them. London isn't one of them. Mantle only offers a Global or an EU-wide endpoint there, and the EU option can quietly bounce a request through Frankfurt or Paris. That's precisely the leak the client wanted plugged, so Mantle was out for this job.

The fallback was the older, classic Bedrock Invoke API, paired with something called an application inference profile. Bedrock's default cross-region profiles are built for speed and availability, not residency, so AWS created a custom profile pointing directly at the London-hosted foundation model — Claude Opus 4.6 and Sonnet 4.6, the only Claude models with true in-region support there. That profile-shaped ARN is what Claude Code actually calls, and it never leaves the region.

The real enforcement, though, isn't the profile. It's an IAM policy with an aws:RequestedRegion condition baked in, so even a misconfigured environment variable gets rejected outright rather than silently routed elsewhere. And because trust-but-verify beats trust alone, AWS also walked through pulling CloudTrail logs — InvokeModel events for the classic path, CreateInference events for Mantle — to confirm every single call actually landed in eu-west-2 and nowhere else.

Worth noting: this whole exercise is the exception, not the rule. AWS is upfront that cross-region inference is still the sensible default for most workloads, since it spreads load and unlocks newer models faster. Single-region lockdown is a tool for the narrow case where a regulator or contract names an actual region, not a continent.

My take

This is what real data-residency work looks like — not a marketing slide with a flag on it, but a fight over IAM conditions and CloudTrail event names because a client wouldn't accept "EU-ish" as an answer. Cloud providers love to sell sovereignty as a checkbox; the fact that Anthropic's shiny new Mantle endpoint couldn't even do single-region routing in London says the checkbox often ships broken until someone with a compliance officer breathing down their neck forces the fix. Companies chasing genuine sovereignty in the EU should assume the newest, easiest path is the one least tested for exactly this scenario.

Read more about this at: AWS

Related stories

The daily briefing

Every AI story that matters, in your inbox by 8am.

TLDRocket reads all relevant sources, removes duplicate coverage, and summarises the day in two minutes. Follow companies and topics for alerts, or get the briefing in Slack. Free, no spam, unsubscribe anytime.