Home / Amazon Bedrock 추론 인프라 / Inference Profile
Note

Inference Profile

모델 ID 구조, Cross-Region 추론, 글로벌/리전 프로파일, ARN vs ID 선택

⏱ 25분 30 / 189

Inference Profile

모델 ID 구조, Cross-Region 추론, 글로벌/리전 프로파일, ARN vs ID 선택

모델 호출의 비용·성능·가용성을 제어하는 인프라 계층

추론 프로파일부터 서비스 티어, 비용 최적화까지 프로덕션 운영 설계

추론 인프라 개요

단일 리전의 한계 · 3계층 구조

PART 1 · 추론 인프라 개요

API 한 줄 뒤의 인프라 질문

호출 코드는 한 줄 — 처리 위치·순서·비용은 코드 밖에서 결정

호출은 한 줄

python
resp = runtime.converse(
    modelId='anthropic.claude-sonnet-4-6',
    messages=[
        {'role': 'user',
         'content': [{'text': '...'}]},
    ],
)

호출 뒤에서 결정되는 것들

  • 어디서 처리되나 — 어느 리전이 받는가, 그 리전에 용량은 있는가
  • 어떤 우선순위로 처리되나 — 트래픽이 몰릴 때 누가 먼저인가 (SLA)
  • 얼마에 처리되나 — 같은 토큰을 정가로 내는가, 할인·전용 용량을 쓰는가
takeaway

이 세 가지에 답하는 제어 계층이 추론 인프라입니다 — 지정하지 않으면 전부 암묵적 기본값으로 동작합니다.

PART 1 · 추론 인프라 개요

세 가지 문제, 세 가지 해결 계층

modelId='anthropic.claude-sonnet-4-6' 직접 호출의 공백과 각 축의 제어 수단

기본값으로 두면 제어 계층을 쓰면
어디서 단일 리전 고정 — 용량 소진 429 · 리전 장애 시 중단 · 최신 모델 미배포 Inference Profile — 여러 리전에 자동 분산, 막히면 우회
어떤 우선순위로 전 요청 동일 취급 — SLA 없는 베스트 에포트뿐 Service Tier — 요청별 우선순위·SLA 선택
얼마에 전부 On-Demand 정가 — 반복·비긴급 작업도 전액 최적화 방식 — Batch 50% 할인 · Prompt Caching · 전용 용량
takeaway

한 계층이 다른 축의 문제까지 풀어주지는 않습니다 — 세 계층을 독립적으로 조합하는 것이 추론 인프라 설계입니다.

PART 1 · 추론 인프라 개요

추론 인프라 3계층

어디서 · 어떤 우선순위로 · 어떻게 — 세 가지 제어 축

Inference Profile — 어디서 처리할까

요청을 여러 리전에 자동 분산하는 라우팅 (Cross-Region · Global · Application)

Service Tier — 어떤 우선순위로

같은 모델을 다른 우선순위·SLA로 호출 (Reserved · Priority · Standard · Flex)

최적화 방식 — 어떻게 싸고 빠르게

Batch(50% 할인) · Provisioned(전용 용량) · Prompt Caching(반복 절감)

Inference Profile

Cross-Region · Global · Application

PART 2 · Inference Profile

모델을 식별하는 4가지 방법

modelId에 무엇을 넣느냐가 라우팅 범위를 결정

파운데이션 모델 ID

anthropic.claude-sonnet-4-6

  • 단일 리전(In-Region) 고정
  • 트래픽 급증 시 즉시 429
  • 프로덕션 사용 지양

언제 — 단발 테스트·로컬 실험 수준

Global 프로파일

global. 접두사

  • 전 세계 리전 분산 — 최대 처리량
  • ~10% 비용 절감 가능

언제 — 데이터 주권 제약이 없을 때

Application 프로파일

사용자 생성 ARN

  • System-defined를 래핑
  • 태깅 · 비용 추적 · 접근 제어

언제 — 팀/프로젝트별 비용 분리

takeaway

modelId 문자열이 곧 라우팅 선언입니다 — 프로덕션 기본값은 Cross-Region 프로파일입니다.

PART 2 · Inference Profile

Cross-Region 자동 분산

코드 변경 없이 modelId만 바꾸면 끝 — 막힌 리전은 자동 우회

takeaway

한 리전이 막혀도 호출은 실패하지 않습니다 — 가용 리전으로 자동 우회하고, 실제 처리 리전은 원본 리전 CloudTrail 로그의 inferenceRegion 필드로 확인합니다.

PART 2 · Inference Profile

Global vs Cross-Region

갈림길은 데이터 주권 — 제약이 없다면 Global이 처리량 최대

PART 2 · Inference Profile

Application 프로파일로 비용 추적

System-defined를 래핑해 팀별 태그 부여 — 비용 할당·접근 제어·감사의 단위

생성과 호출

python
bedrock = boto3.client('bedrock', region_name='us-east-1')

# Cross-Region 프로파일을 래핑해 팀 태그 부여
response = bedrock.create_inference_profile(
    inferenceProfileName='team-alpha-claude',
    modelSource={'copyFrom': 'us.anthropic.claude-sonnet-4-6'},
    tags=[
        {'key': 'team', 'value': 'alpha'},
        {'key': 'environment', 'value': 'production'},
    ],
)
profile_arn = response['inferenceProfileArn']

# modelId에 프로파일 ARN 전달 — 비용이 팀 태그로 귀속
resp = runtime.converse(
    modelId=profile_arn,
    messages=[{'role': 'user', 'content': [{'text': '안녕하세요'}]}],
)

활용 시나리오

  • 비용 할당 — 팀/프로젝트별 태그로 Cost Explorer 분석
  • 접근 제어 — IAM에서 프로파일 ARN만 허용
  • 워크로드 격리 — 프로덕션/개발 프로파일 분리
  • 감사 — CloudTrail에서 프로파일별 호출 추적
설정 한 줄의 최적화부터, 약정은 트래픽이 증명한 뒤에.

Inference Profile · Service Tiers · Batch · Provisioned — 워크로드에 맞는 조합이 답입니다.