TL;DR
AWS에서 Claude Code를 특정 AWS 리전 내부에서만 추론하도록 하려면 두 가지 경로가 있다. Mantle가 해당 리전에서 in-Region 라우팅을 제공하면 환경 변수(CLAUDE_CODE_USE_MANTLE, AWS_REGION, ANTHROPIC_DEFAULT_*)만 설정해 간단히 고정할 수 있고 IAM의 aws:RequestedRegion 조건으로 호출을 강제할 수 있다. Mantle이 in-Region을 제공하지 않는 리전(예: eu-west-2)은 Classic Amazon Bedrock에서 application inference profile을 생성해 profile ARN을 모델로 사용하고 동일한 aws:RequestedRegion 조건을 적용해 단일 리전 규정 준수를 달성할 수 있다.
섹션별 상세
이미지 분석

이미지는 개발자 요청이 IAM의 aws:RequestedRegion 조건을 거쳐 각 Bedrock 엔드포인트로 라우팅되고 해당 리전의 foundation model로 연결된 다음 CloudTrail로 검증되는 전체 흐름을 시각화한다. 왼쪽 흐름은 Mantle이 직접 in-Region 모델로 라우팅하는 단계를, 오른쪽 흐름은 application inference profile을 생성해 Classic Bedrock 호출을 단일 리전에 고정하는 절차를 단계별로 보여주어 두 경로의 차이와 필요한 구성요소를 한눈에 이해할 수 있게 한다. 이 다이어그램은 어떤 리전에서 어떤 경로를 선택해야 하는지와 IAM·CloudTrail이 규정 준수 검증에서 어떤 역할을 하는지를 빠르게 파악하게 해 준다.
두 개의 단일 리전 Claude Code 경로를 비교한 다이어그램으로, 왼쪽은 Mantle 경로(예: Ireland), 오른쪽은 Classic Bedrock + application inference profile 경로(예: London)를 순서도 형태로 보여준다.
용어 해설
- 단일 리전 라우팅(Single-Region routing)
- — 단일 리전 라우팅은 요청의 입력과 모델 추론 결과가 특정 AWS 리전 내부에서만 처리되도록 AWS API 호출과 엔드포인트를 고정해 데이터가 리전 밖으로 이동하지 않게 만드는 구성 방식이다. 이 글에서는 Mantle 엔드포인트의 AWS_REGION 설정 또는 Classic Bedrock의 application inference profile로 리전을 고정하는 두 가지 구현 경로를 다룬다. 규정 준수가 리전 단위로 요구될 때 감사 로그와 IAM 조건으로 호출을 차단하거나 허용하는 메커니즘이 핵심이다.
- 애플리케이션 추론 프로필(Application inference profile)
- — 애플리케이션 추론 프로필은 Classic Amazon Bedrock에서 모델 호출 시 사용하는 프로필 ARN으로, 프로필이 가리키는 리전의 foundation-model ARN을 복사해서 단일 리전 호출을 가능하게 만든다. Claude Code가 직접 foundation-model ID를 호출하면 실패할 때가 있어 프로필을 생성해 그 ARN을 모델 대신 사용하면 리전 고정이 된다. 또한 프로필은 비용·사용량 추적 단위를 제공하므로 팀 롤아웃에서 관리성을 높인다.
- aws:RequestedRegion IAM 조건(aws:RequestedRegion IAM condition)
- — aws:RequestedRegion 조건은 IAM 정책에서 호출자가 요청한 AWS 리전이 특정 값과 일치할 때만 액세스를 허용하도록 제한하는 조건 키이다. 이 글에서는 Mantle 호출과 Classic Bedrock 호출 양쪽에 이 조건을 걸어 개발자가 잘못된 리전으로 요청하더라도 IAM에서 차단되게 구성한다. 조건에 따라 CloudTrail에 기록된 이벤트의 awsRegion과 정책의 대상 리전 일치 여부로 규정 준수를 증명할 수 있다.
코드 예제
export CLAUDE_CODE_USE_MANTLE=1
export AWS_REGION=eu-west-1
export ANTHROPIC_DEFAULT_OPUS_MODEL='anthropic.claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='anthropic.claude-sonnet-5'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='anthropic.claude-haiku-4-5'
# run: claude statusMantle를 통해 단일 리전에서 Claude Code를 실행하려면 세 가지 환경 변수를 설정해 AWS 리전과 Mantle용 기본 모델 별칭을 고정해야 한다. 이 구성은 Claude Code가 현재 세션의 AWS 자격증명을 사용해 bedrock-mantle 엔드포인트로 서명된 호출을 하게 만들며 추가 AWS 리소스 생성은 필요하지 않다. 설정 후 claude의 /status 출력이 Amazon Bedrock (Mantle)과 지정한 리전을 가리키는지 확인해 리전 고정이 적용되었는지 검증해야 한다.
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=eu-west-2
export ANTHROPIC_DEFAULT_OPUS_MODEL='arn:aws:bedrock:eu-west-2::application-inference-profile/opus-london'
export ANTHROPIC_DEFAULT_SONNET_MODEL='arn:aws:bedrock:eu-west-2::application-inference-profile/sonnet-london'
# run: claude statusLondon(eu-west-2)같이 Mantle의 in-Region 지원이 없는 리전에서는 Classic Bedrock와 애플리케이션 추론 프로필을 사용해 Claude Code를 단일 리전으로 고정한다. 이 방식은 각 모델 패밀리별로 application inference profile을 생성하고 그 ARN을 ANTHROPIC_DEFAULT_* 변수에 매핑해 Claude Code가 해당 프로필을 모델로 호출하도록 만든다. 팀 배포 시에는 각 개발자 셸에 직접 설정하지 말고 관리되는 설정 파일로 중앙 제어하는 것이 권장된다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowClaudeCodeMantleInIrelandOnly",
"Effect": "Allow",
"Action": [
"bedrock-mantle:CreateInference",
"bedrock-mantle:Get*",
"bedrock-mantle:List*"
],
"Resource": "arn:aws:bedrock-mantle:eu-west-1:111122223333:project/*",
"Condition": {
"StringEquals": { "aws:RequestedRegion": "eu-west-1" }
}
}
]
}Mantle 경로에서 IAM 정책은 bedrock-mantle API 호출을 특정 계정의 project 리소스와 aws:RequestedRegion 조건으로 제한해 리전 가드레일을 구현한다. 이 정책은 개발자가 AWS_REGION을 잘못 설정해도 IAM 차원에서 다른 리전으로의 CreateInference 호출을 거부하므로 규정 준수를 강제하는 핵심 수단이다. 계정 ID를 본인 값으로 바꿔 적용하고 필요하면 서비스 제어 정책으로 승인된 모델 목록 관리를 추가해야 한다.
aws bedrock create-inference-profile \
--region eu-west-2 \
--inference-profile-name "claude-code-opus-london" \
--model-source copyFrom="arn:aws:bedrock:eu-west-2::foundation-model/anthropic.claude-opus-4-6-v1"Classic Bedrock 경로에서는 애플리케이션 추론 프로필을 생성해 London 리전의 foundation-model을 프로필의 모델 소스로 복사해야 한다. CLI 호출은 eu-west-2 리전에서 실행해야 하며 각 모델 패밀리마다 하나의 프로필을 만들면 Claude Code가 그 프로필 ARN을 모델로 사용해 단일 리전 호출을 수행하게 된다. 프로필 생성 후 반환된 inferenceProfileArn을 ANTHROPIC_DEFAULT_* 변수에 설정해 배포를 마무리한다.
근거 모음
- Mantle는 특정 7개 리전에서 직접 in-Region Claude 라우팅을 제공한다. — 본문의 'Regions with in-Region Claude support' 표와 Mantle 지원 리전 목록(예: Ireland, Stockholm, Tokyo 등).
- eu-west-2(London)에서는 Classic Amazon Bedrock의 application inference profile을 사용해야 단일 리전 추론을 보장할 수 있다. — 본문의 London 사례 설명과 eu-west-2에서 Mantle이 in-Region 옵션을 제공하지 않는다는 기술적 제약 설명.
- 단일 리전 규정을 보장하려면 IAM 정책에 aws:RequestedRegion 조건을 적용해야 한다. — 본문의 IAM 정책 예시(json)와 'Region guardrail' 설명에서 aws:RequestedRegion 조건으로 다른 리전 호출을 거부하는 사례.
기술
- Claude Code
- Amazon Bedrock
- Mantle
- application inference profile
- AWS IAM (aws:RequestedRegion)
- AWS CloudTrail
활용 사례
- 금융·의료 같은 규제 산업에서 특정 AWS 리전 내에서만 모델 처리와 로그 보관을 요구하는 컴플라이언스 시나리오에 단일 리전 Claude Code 배포가 적용된다. 이 패턴은 민감 데이터의 지역적 격리를 보장하고 감사 증적을 남기는 프로세스를 제공하기 때문에 규제 대응에 적합하다. 또한 조직 내부 정책으로 리전 고정을 요구하는 개발자 환경에서 중앙에서 설정을 강제해 실수로 다른 리전으로 호출되는 위험을 줄인다.
- 테스트 환경이나 감사 시나리오에서 의도적으로 다른 리전 호출을 시도했을 때 IAM에서 AccessDenied로 차단되는지를 포함한 규정 준수 검증 워크플로우에 이 패턴을 적용할 수 있다. CloudTrail 로그 쿼리로 eventSource와 eventName, awsRegion, requestParameters를 확인하면 호출이 목표 리전에서만 실행되었음을 증빙할 수 있다. 이 검증은 내부 감사 보고서나 외부 규제 기관 대응 자료로 활용될 수 있다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.