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
- 프로덕션 사용 지양
언제 — 단발 테스트·로컬 실험 수준
Cross-Region 프로파일 추천
us. / eu. / apac. 접두사
- 대륙 내 리전에 자동 분산
- 데이터 주권(GDPR) 준수
언제 — 대부분의 프로덕션 워크로드
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 — 워크로드에 맞는 조합이 답입니다.