Home / Bedrock Mantle API / Bedrock Mantle API
Note

Bedrock Mantle API

Chat Completions · Messages · Responses — 3가지 호환 API 호출

⏱ 35분 27 / 189

Responses API

Chat Completions · Messages · Responses — 3가지 호환 API 호출

OpenAI/Anthropic 코드를 한 줄도 안 바꾸고 Bedrock에 연결

기존 SDK 코드 마이그레이션 — 엔드포인트 URL만 교체

선택 기준

Runtime vs Mantle · Anthropic 두 경로 · 최종 선택

PART 4 · 선택 기준

Anthropic 코드의 두 경로

같은 Messages API — 인증 방식이 mantle과 runtime을 가르는 기준

코드는 같고 인증이 다릅니다 — API Key가 필요하면 mantle 경로, IAM 통제 아래 두려면 AnthropicBedrock(SigV4)을 선택합니다.

bedrock-mantle /anthropic — API Key

python
import anthropic

# ① API Key 인증 — IAM 없이 접근 (3rd-party 도구에 적합)
client = anthropic.Anthropic(
  base_url='https://bedrock-mantle.us-east-1.api.aws/anthropic',
  api_key='<BEDROCK_API_KEY>'
)

response = client.messages.create(
  model='anthropic.claude-sonnet-5',
  max_tokens=1024,
  messages=[{'role': 'user', 'content': 'Hello!'}]
)
print(response.content[0].text)

AnthropicBedrock — SigV4 직행

python
from anthropic import AnthropicBedrock

# ② SigV4 인증으로 bedrock-runtime을 직접 호출 (mantle 경유 아님)
client = AnthropicBedrock(
  aws_region='us-east-1'
)

# Messages API 시그니처는 완전히 동일
response = client.messages.create(
  model='us.anthropic.claude-sonnet-5',
  max_tokens=1024,
  messages=[{'role': 'user', 'content': 'Hello!'}]
)
print(response.content[0].text)
PART 4 · 선택 기준

와이어에서 본 두 요청

같은 회의록 요약 요청의 실제 HTTP 실물 — 다른 곳은 세 군데뿐





BEDROCK RUNTIME — SigV4 · Converse

POST /model/us.anthropic.claude-sonnet-5/converse

Host: bedrock-runtime.us-east-1.amazonaws.com

Authorization: AWS4-HMAC-SHA256 Credential=AKIA…/us-east-1/bedrock/aws4_request, Signature=9f2c… (예시)

{"messages":[{"role":"user","content":[{"text":"이 회의록을 3줄로 요약해 줘\n…meeting-notes.txt 본문…"}]}]}


서명은 boto3가 자격 증명으로 매 요청 자동 계산 — IAM 정책의 통제를 받습니다


BEDROCK MANTLE — API Key · Messages

POST /anthropic/v1/messages

Host: bedrock-mantle.us-east-1.api.aws

x-api-key: BEDROCK_API_KEY (환경변수 주입)

{"model":"anthropic.claude-sonnet-5","max_tokens":1024,"messages":[{"role":"user","content":"이 회의록을 3줄로 요약해 줘\n…meeting-notes.txt 본문…"}]}


키는 고정 문자열 헤더 하나 — 서명 계산이 없어 3rd-party 도구도 붙습니다



① 엔드포인트 — amazonaws.com vs api.aws
② 인증 헤더 — 매 요청 서명 vs 고정 키
③ 모델 지정 — URL 경로 vs body 필드
메시지 본문은 사실상 동일


takeaway

와이어 레벨의 차이는 엔드포인트·인증·모델 지정 위치 세 곳입니다 — 본문이 같으므로 SDK만 바꾸면 어느 쪽으로도 보낼 수 있습니다.

PART 4 · 선택 기준

Bedrock Runtime vs Mantle 최종 선택

새 코드는 Runtime, 기존 코드는 Mantle — 가격은 동일, 모델 가용성은 엔드포인트별 상이(GPT-5.x는 Mantle 전용)

Bedrock Runtime (새 코드)

  • 인증: IAM SigV4
  • SDK: boto3 (AWS 네이티브)
  • 특징: 모든 Bedrock 파운데이션 모델 지원, Guardrails, Knowledge Bases
  • 코드: Converse API 표준 인터페이스
  • 권장: 에이전트, 신규 프로젝트

언제 — 새로 짜는 코드

Bedrock Mantle (기존 코드)

  • 인증: API Key
  • SDK: OpenAI SDK, Anthropic SDK
  • 특징: 기존 코드 마이그레이션 (한 줄도 안 바꿈)
  • 코드: Chat Completions, Messages, Responses
  • 권장: 마이그레이션, 3rd-party 도구

언제 — 기존 OpenAI/Anthropic 코드

하이브리드

  • 에이전트 코드: Converse + Strands SDK (Runtime)
  • 챗봇 프론트엔드: Responses API (Mantle)
  • 레거시 마이그레이션: Chat Completions (Mantle)
  • 병행 운영 가능 — 겹치는 모델(Claude Sonnet 5 등) 한정

언제 — 조직 전체 마이그레이션

takeaway

새 코드는 Runtime(Converse), 기존 코드는 Mantle입니다 — 겹치는 모델은 병행 운영도 가능하지만, 모델 풀은 엔드포인트별로 다릅니다.

실습 — Bedrock Mantle API

⏱ 40분

같은 Bedrock 모델을 세 가지 호환 API로 호출합니다 — SDK는 OpenAI · Anthropic 그대로

학습 목표

  • Chat Completions — OpenAI SDK에 base_url 한 줄 전환
  • Messages API — Anthropic SDK로 같은 모델 호출
  • Responses API — Stateful 대화 이어가기
엔드포인트와 API Key만 바꾸면 기존 코드가 그대로 AWS에서 돌아갑니다.

Chat Completions · Messages · Responses — 호환 API