← Back to list

Amazon Bedrock CRIS와 Global endpoint 사용 시 SCP 설정 고려사항

들어가며

Martin Choi · 2026-03-22 11:10 · 18 claps · 12.4 min read
#aws #amazon-bedrock #devops #scp #security
Open on Medium ↗
Wiki topics: FT · Fine-tuning & Adaptation ☁️ · DevOps & Cloud

Amazon Bedrock CRIS와 Global endpoint 사용 시 SCP 설정 고려사항

Licensed under the Unsplash+ License

Licensed under the Unsplash+ License

들어가며

서울 리전(ap-northeast-2)에서는 Claude Sonnet 4.5를 직접 호출할 수 없어 Cross-Region Inference(CRIS)가 필수입니다.(2026년 3월 기준)

국내 서비스 기준으로 AP Geo CRIS(Japan jp.* / Australia au.*)를 고려할 수 있지만, Seoul을 소스 리전으로 지원하지 않고, 미국 대비 Capacity가 낮으며 신규 모델의 서비스 출시도 느린 편이라 선택지에서 제외했습니다. 대신 US Geo CRIS를 선택했습니다. 높은 Capacity, 빠른 신규 모델 출시, 한국-미국 간 시차 이점, 수용 가능한 레이턴시가 이유였고, 소스 리전은 한국에서 가장 가까운 오레곤(us-west-2)으로 설정했습니다.

이후 비용 절감을 위해 약 10% 저렴한 Global CRIS로 전환을 시도했지만, SCP(Service Control Policy) 리전 제약으로 AccessDeniedException이 발생했습니다. 이 글에서는 그 차단 원인과 SCP 구성 방법을 정리합니다.

1. 서울 리전에서 선택 가능한 CRIS와 가격 비교

서울에서 Claude Sonnet 4.5를 사용하려면 아래 두 CRIS 중 하나를 선택해야 합니다.

Global CRISglobal.anthropic.claude-sonnet-4-5-...

  • Input: $3.00/M · Output: $15.00/M
  • 리전 제한 SCP 환경에서는 별도 설정 필요(2절·3절)

US Geo CRISus.anthropic.claude-sonnet-4-5-...

  • Input: $3.30/M (+10%) · Output: $16.50/M (+10%)
  • 목적지가 미국 리전으로 한정되어 SCP와 충돌 없음

핵심: Global CRIS가 약 10% 저렴하지만, 리전 제한 SCP를 쓰는 환경에서는 호출이 차단될 수 있습니다. SCP 구성(3절)을 확인하거나 US Geo CRIS를 사용해야 합니다.

2. SCP로 리전을 제한할 때 Global CRIS에서 발생하는 문제

저희 조직도 보안·컴플라이언스를 위해 SCP로 허용 리전을 제한하고 있습니다. 서울(ap-northeast-2), 오레곤(us-west-2), 버지니아(us-east-1), 오하이오(us-east-2) 등 일부 리전만 허용하는 조건에서 Global CRIS를 호출했을 때 AccessDeniedException이 발생했고, 그 원인을 정리한 내용입니다.

리전 제한 SCP의 일반적인 구조

{
    "Effect": "Deny",
    "Action": "*",
    "Resource": "*",
    "Condition": {
        "StringNotEquals": {
            "aws:RequestedRegion": [
                "ap-northeast-2",
                "us-west-2",
                "us-east-1",
                "us-east-2"
            ]
        }
    }
}

이 SCP는 aws:RequestedRegion 값이 허용 목록에 없으면 모든 요청을 차단합니다. Global CRIS를 호출하면 이 조건에 걸려 차단됩니다. 그 이유를 이해하려면 aws:RequestedRegion이 Global CRIS 호출 시 어떤 값을 갖는지 알아야 합니다.

aws:RequestedRegion"unspecified"

aws:RequestedRegionAPI 호출 시 지정한 목적지 리전을 IAM 평가 시점에 제공하는 글로벌 컨텍스트 키입니다.

“Use this key to compare the AWS Region that was called in the request with the Region that you specify in the policy.”AWS IAM Global condition context keys 공식 문서

일반 호출에서는 목적지 리전이 IAM 평가 시점에 이미 확정되어 있습니다.

# 일반 호출
client = boto3.client('bedrock-runtime', region_name='us-west-2')
# → IAM 평가 시: aws:RequestedRegion = "us-west-2"

반면 Global CRIS는 IAM 인증 이후에 Bedrock 내부 라우터가 전 세계 리전 중 최적 리전을 런타임에 선택합니다. IAM이 평가되는 시점에는 목적지 리전이 아직 확정되지 않으므로, AWS는 "unspecified"라는 Bedrock 전용 예약어를 사용합니다.

# Global CRIS 호출 (ap-northeast-2는 Global CRIS 소스 리전으로 지원됨)
client = boto3.client('bedrock-runtime', region_name='ap-northeast-2')
response = client.converse(
    modelId="global.anthropic.claude-sonnet-4-5-20250929-v1:0",
    ...
)
# → IAM 평가 시: aws:RequestedRegion = "unspecified"

[일반 API 호출]

클라이언트 → IAM 평가: aws:RequestedRegion = “us-west-2” (목적지 확정) → us-west-2 Bedrock 엔드포인트로 요청 처리

[Global CRIS 호출]

클라이언트 → IAM 평가: aws:RequestedRegion = “unspecified” (목적지 미확정) → Bedrock Global 라우터 → 목적지 리전 런타임 선택 → 선택된 리전에서 모델 실행

“global CRIS changes how the aws:RequestedRegion field behaves. Traditional Region-based deny policies that use StringEquals conditions with specific Region names such as "aws:RequestedRegion": "us-west-2" will not work as expected with global CRIS because the service sets this field to global rather than the actual destination Region."AWS 공식 문서: Global cross-Region inference

SCP·IAM 정책에서는 허용/차단 값으로 "unspecified" 를 사용하면 됩니다. (일부 AWS 문서에는 "global"이라고도 기술되어 있습니다.)

차단 원인 정리

"unspecified"는 허용 목록(ap-northeast-2, us-west-2, us-east-1, us-east-2)에 포함되지 않으므로, SCP가 즉시 AccessDeniedException으로 차단합니다.

3. SCP 문제 해결 방법

Global CRIS는 리전 제한 SCP에서 "unspecified" 값이 차단되어 사용할 수 없습니다. 저희가 검토한 해결 방법은 세 가지입니다.

해결책 1: SCP에 "unspecified" 를 허용 리전으로 추가

법적 규제로 데이터를 자국 내에서만 처리해야 하는 요건이 없고 Global CRIS를 계속 사용하려면, SCP 허용 목록에 "unspecified" 를 추가합니다.

{
    "Effect": "Deny",
    "Action": "*",
    "Resource": "*",
    "Condition": {
        "StringNotEquals": {
            "aws:RequestedRegion": [
                "ap-northeast-2",
                "us-west-2",
                "us-east-1",
                "us-east-2",
                "unspecified"
            ]
        }
    }
}

*"unspecified" 는 Bedrock에만 적용되는 특수값으로, 다른 AWS 서비스의 리전 제한에는 영향을 주지 않습니다.*

해결책 2: Geo CRIS로 전환 (미국 내 처리 요구 또는 SCP 제약 시)

미국 리전 외 데이터 처리를 허용할 수 없거나, SCP에 "unspecified" 예외를 추가하기 어려운 보안 정책 환경이라면 Global CRIS 대신 Geo CRIS를 사용합니다. 목적지 리전이 명시적으로 확정되므로 "unspecified" 문제가 발생하지 않습니다.

Global CRIS

  • 데이터 처리: 전 세계 모든 상용 리전 · Input $3.00/M
  • SCP에 "unspecified" 허용 가능 시 사용

US Geo CRIS

  • 데이터 처리: 미국 3개 리전(us-east-1, us-east-2, us-west-2) · Input $3.30/M (+10%)
  • 미국 내 처리 요구 또는 SCP 제약 시 사용

직접 호출

  • 데이터 처리: 특정 1개 리전 · Input $3.00/M
  • 단일 리전 통제 필요 시 사용

해결책 3: Global CRIS 자체를 SCP로 비활성화

조직 내 Global CRIS 사용을 전면 금지하려면 별도 SCP를 추가합니다.

{
    "Effect": "Deny",
    "Action": "bedrock:*",
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "aws:RequestedRegion": "unspecified"
        },
        "ArnLike": {
            "bedrock:InferenceProfileArn": "arn:aws:bedrock:*:*:inference-profile/global.*"
        }
    }
}

4. 최종 고려 항목 (CRIS·SCP 관련)

US Geo CRIS 도입 후 비용·SCP·설정 측면에서 점검했던 항목을 정리했습니다.

비용

  • US Geo CRIS는 Global CRIS 대비 Input/Output/Cache 전 항목에 10% 추가 비용이 적용됩니다.
  • Input $3.30/M · Output $16.50/M · 1h Cache Write $6.60/M · 5m Cache Write $4.125/M · Cache Read $0.33/M
  • 소스 리전 us-west-2 기준 목적지 리전은 us-east-1, us-east-2, us-west-2 3개이며, Bedrock이 런타임에 선택합니다. 동일 요청이 서로 다른 목적지로 라우팅될 때마다 Cache Write가 반복 청구될 수 있어 예산 계획 시 반영해야 합니다. 소스 리전별 목적지 리전 목록은 Supported Regions and models for inference profiles에서 확인할 수 있습니다.
[US Geo CRIS, 소스: us-west-2 (Oregon)]
요청 A → 목적지: us-west-2 (Oregon)   ← 캐시 신규 Write ($6.60/M)
요청 B → 목적지: us-west-2 (Oregon)   ← 캐시 Hit ($0.33/M)
요청 C → 목적지: us-east-1 (Virginia) ← 캐시 Miss → 재 Write ($6.60/M)
요청 D → 목적지: us-east-2 (Ohio)     ← 캐시 Miss → 재 Write ($6.60/M)

SCP

  • 소스 리전 us-west-2 기준 목적지 리전 3개(us-east-1, us-east-2, us-west-2)가 SCP 허용 목록에 모두 포함되어야 합니다. 하나라도 빠지면 해당 리전으로 라우팅된 요청이 차단됩니다.
  • Global CRIS를 사용하려면 SCP 허용 목록에 "unspecified"를 추가해야 합니다. 이 값은 Bedrock에만 적용되며 다른 AWS 서비스의 리전 제한에는 영향을 주지 않습니다.

설정

  • US Geo CRIS 사용 시 Bedrock 클라이언트의 소스 리전을 **us-west-2** 로 설정해야 합니다. US Geo CRIS의 소스 리전은 미국·캐나다 리전만 지원하기 때문입니다.
  • 프로파일 ID: us.anthropic.claude-sonnet-4-5-20250929-v1:0
  • 과금 기준은 boto3 클라이언트에 설정된 소스 리전(us-west-2)입니다.
# 애플리케이션 배포: ap-northeast-2 (서울)
# Bedrock 소스 리전: us-west-2 (Oregon) ← 과금 기준
client = boto3.client('bedrock-runtime', region_name='us-west-2')
response = client.converse(
    modelId="us.anthropic.claude-sonnet-4-5-20250929-v1:0",  # US Geo CRIS
    ...
)

마치며

Global CRIS가 리전 제한 SCP 환경에서 차단되는 이유는 aws:RequestedRegion"unspecified"로 평가되어 허용 목록에 걸리기 때문입니다. 저희가 겪은 내용을 바탕으로, 조직의 보안 정책과 SCP 환경에 따른 CRIS 선택 기준을 정리하면 다음과 같습니다.

  • SCP 리전 제한이 없거나, 데이터를 자국 내에서만 처리해야 하는 법적 요건이 없는 환경Global CRIS 사용. 약 10% 저렴하고, 전 세계 리전으로 라우팅되어 Capacity 확보에 유리합니다.
  • SCP 리전 제한이 있지만, "unspecified" 추가가 가능한 환경 → SCP 허용 목록에 "unspecified"를 추가한 뒤 Global CRIS 사용. "unspecified"는 Bedrock에만 적용되는 특수값이므로 다른 서비스의 리전 제한에는 영향을 주지 않습니다.
  • SCP 수정이 어렵거나, 미국 내 데이터 처리가 요구되는 환경US Geo CRIS 사용. 목적지가 미국 리전으로 한정되어 SCP와 충돌하지 않고, 데이터 처리 범위를 명확히 통제할 수 있습니다. 다만 10% 추가 비용과 목적지 리전 분산에 따른 캐시 재생성 비용을 고려해야 합니다.

Geo CRIS를 사용할 경우, 소스 리전에 따라 목적지 리전이 달라지므로 목적지 리전 전체가 SCP 허용 목록에 포함되어야 합니다.

참고 문서

가격 정보는 2026년 3월 기준이며, AWS 정책 변경에 따라 달라질 수 있습니다. 최신 정보는 Amazon Bedrock Pricing에서 확인하세요.


메타데이터
post_id
747fcf06ac7a
slug
amazon-bedrock-cris와-global-endpoint-사용-시-scp-설정-고려사항-747fcf06ac7a
url
https://medium.com/@sanggi-choi/amazon-bedrock-cris%EC%99%80-global-endpoint-%EC%82%AC%EC%9A%A9-%EC%8B%9C-scp-%EC%84%A4%EC%A0%95-%EA%B3%A0%EB%A0%A4%EC%82%AC%ED%95%AD-747fcf06ac7a
canonical_url
https://medium.com/@sanggi-choi/amazon-bedrock-cris%EC%99%80-global-endpoint-%EC%82%AC%EC%9A%A9-%EC%8B%9C-scp-%EC%84%A4%EC%A0%95-%EA%B3%A0%EB%A0%A4%EC%82%AC%ED%95%AD-747fcf06ac7a
author_url
https://medium.com/@sanggi-choi
status
ok
fetched_at
2026-06-13 09:11:36