[AWS] Amazon Bedrock
정의
Amazon Bedrock 은 여러 제공사의 파운데이션 모델 (foundation model) 을 단일 API 로 호출할 수 있게 하는 AWS 의 관리형 서비스입니다. 2023년 발표된 이래 얇은 프록시에서 Knowledge Base + Agent + Guardrail + Evaluation + AgentCore 를 아우르는 방대한 AI 플랫폼으로 확장되어 왔습니다.
핵심 가치: Claude Opus 4.7, Nova 2 Lite, Llama 4 Maverick, Mistral Large 3, DeepSeek V3.2 를 같은 요청 스키마 (Converse API), 같은 IAM role, 같은 KMS/VPC/CloudWatch/CloudTrail 로 호출할 수 있다는 통일성입니다.
모델 카탈로그 (2026-07 스냅샷)
주요 제공사
- Anthropic: Claude Opus 4.7 (1M context, 128K output), Sonnet 4.6, Haiku 4.5
- Amazon Nova: Nova 2 Lite (1M context, text+vision+video), Nova 2 Sonic (양방향 음성), Nova 2 Multimodal Embeddings
- Amazon Titan: Text/Image Embeddings, rerank
- Meta: Llama 4 Maverick (1M context), Llama 3.x
- Mistral: Mistral Large 3, Mixtral, Ministral
- DeepSeek: DeepSeek V3.2, R1-Distill
- OpenAI open-weight:
gpt-oss-120b,gpt-oss-20b - Cohere, AI21, Google Gemma, Qwen3, Stability AI, TwelveLabs (video), Writer, Luma AI, NVIDIA Nemotron
- Bedrock Marketplace: 100+ 특화 모델 (헬스케어, 법률, 코딩 등)
모델 ID 컨벤션
신규 (2026): 접미사 없는 alias
anthropic.claude-opus-4-7
anthropic.claude-sonnet-4-6
amazon.nova-2-lite-v1:0
레거시: 날짜 + 버전
anthropic.claude-opus-4-5-20251101-v1:0
anthropic.claude-sonnet-4-20250514-v1:0
프로덕션에서는 반드시 명시적 버전 pin. Alias 만 쓰면 모델이 조용히 갱신될 수 있음.
Cross-Region Inference
리전 접두사로 여러 리전에 걸친 자동 라우팅:
us.anthropic.claude-sonnet-4-6: US 리전 풀eu.anthropic.claude-sonnet-4-6: EU 리전 풀global.amazon.nova-2-lite-v1:0: 글로벌 풀
throttling / 리전 장애 시 다른 리전으로 자동 폴백.
Converse API
여러 모델의 요청 형식 차이 (Claude 의 messages, Llama 의 prompt template, Mistral 의 instruct 형식) 를 하나의 스키마 로 추상화한 API. converse / converseStream.
import boto3
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
resp = bedrock.converse(
modelId="anthropic.claude-sonnet-4-6",
messages=[
{"role": "user", "content": [
{"text": "Explain BM25 in one paragraph."}
]}
],
system=[{"text": "You are a search-quality engineer."}],
inferenceConfig={
"maxTokens": 500,
"temperature": 0.2,
},
toolConfig={
"tools": [{
"toolSpec": {
"name": "web_search",
"description": "Search the web",
"inputSchema": {"json": {
"type": "object",
"properties": {"query": {"type": "string"}},
"required": ["query"]
}}
}
}]
}
)
print(resp["output"]["message"]["content"][0]["text"])
Tool use (Function Calling), 다중 턴 대화, PDF/DOCX/CSV 문서 첨부, prompt caching 이 모두 이 하나의 API 로 커버.
Prompt Caching
같은 시스템 프롬프트 + 문서를 반복 전송할 때 서버측 캐시로 입력 토큰 요금 대폭 절감. 캐시 브레이크포인트 (최대 4개) 를 지정하고 5분 (또는 1시간, Haiku 4.5) TTL 로 재사용.
messages = [{
"role": "user",
"content": [
{"text": long_document, "cachePoint": {"type": "default"}},
{"text": "이 문서를 요약해줘."}
]
}]
Bedrock Managed Knowledge Base (2026 GA)
관리형 RAG 서비스. 개발자가 데이터 소스만 지정 하면 chunking, embedding, 벡터 저장, 리트리버 오케스트레이션을 자동화.
특징
- Native connectors (6개): S3, SharePoint, Confluence, Google Drive, OneDrive, Web Crawler
- Smart Parsing: 데이터 유형별 최적 파싱 전략 자동 선택
- Agentic Retriever: 다중 홉 쿼리를 자동 분해 + reranking + intermediate evaluation
- Vector store 선택: S3 Vectors (기본, 저비용), OpenSearch Serverless, OpenSearch managed, Aurora pgvector, Pinecone, MongoDB Atlas, Redis Enterprise, Neptune Analytics (GraphRAG)
- Model 선택: embedding, reranker, foundation model 모두 사용자 선택 가능
- AgentCore Gateway 통합: MCP 서버로 자동 노출
API
bedrock_agent = boto3.client("bedrock-agent-runtime")
resp = bedrock_agent.retrieve_and_generate(
input={"text": "What is our expense policy for annual commitments?"},
retrieveAndGenerateConfiguration={
"type": "KNOWLEDGE_BASE",
"knowledgeBaseConfiguration": {
"knowledgeBaseId": "ABCD1234",
"modelArn": "anthropic.claude-sonnet-4-6"
}
}
)
print(resp["output"]["text"])
for c in resp["citations"]:
print(c["retrievedReferences"])
Guardrails
모델 호출 전후에 정책을 적용하는 결정적 필터 계층.
기능
- Content filter: hate, insults, sexual, violence, misconduct, prompt attack (text + image)
- Denied topics: 자연어 정의 (예: “구직자 개인정보 노출”)
- Word filter: 정확 단어/구
- Sensitive info filter: 30+ PII 유형 사전 + custom regex, block or mask
- Contextual grounding check: 응답이 소스 문서에 기반하는지 relevance + faithfulness 스코어링
요금
2024년 12월에 85% 인하 -> 컨텐츠 필터/denied topic 각 $0.15/1K text unit. 프로덕션 전 요청에 걸어도 부담 적음.
ApplyGuardrail API
인퍼런스와 분리 사용 가능. 자체 호스팅 모델 (Sagemaker endpoint, 외부 API) 응답에도 같은 정책 적용:
bedrock.apply_guardrail(
guardrailIdentifier="my-guardrail",
guardrailVersion="1",
source="OUTPUT",
content=[{"text": {"text": model_response}}]
)
Bedrock AgentCore (2025 preview -> 10월 GA -> re:Invent 2025 확장)
framework-agnostic, model-agnostic 에이전트 런타임 플랫폼. Strands Agents, LangGraph, CrewAI, LlamaIndex 및 자체 코드까지 실행.
컴포넌트
| 컴포넌트 | 역할 |
|---|---|
| Runtime | 세션별 마이크로VM (최대 8시간 실행, 100 MB payload). 사용자 세션 격리 |
| Memory | 세션 간 short/long-term memory, episodic learning |
| Identity | OAuth/IAM. 에이전트가 Salesforce/GitHub 등을 사용자 대신 호출 |
| Gateway | Lambda/REST API 를 MCP 도구로 노출 |
| Browser | 관리형 헤드리스 브라우저 |
| Code Interpreter | 샌드박스 코드 실행 |
| Observability | OpenTelemetry 트레이스, CloudWatch 통합 |
| Policy | 결정적 guardrails at gateway |
| Evaluations | 13개 사전 정의 평가 |
| Managed Harness | 에이전트를 코드가 아니라 설정으로 정의 |
| Web Search | Amazon 검색 인프라 (Alexa+ 기반) 로 웹 접근 |
Classic Bedrock Agents vs AgentCore
- Classic Agents: config-driven, Bedrock 호스팅 모델 전용, action group 기반. 저코드 KB 헤비 워크플로에 여전히 유효.
- AgentCore: 프로덕션 그레이드, 프레임워크 자유, 자체 모델 (SageMaker, 외부) 호출 가능, 관측/정책/거버넌스 통합.
Custom Model Import
Llama 2/3/3.1/3.2, Mistral/Mixtral, Flan-T5, Qwen 2/2.5/3 (VL/MoE 포함), GPT-OSS (20B/120B), DeepSeek-R1-Distill (8B/70B) 를 Bedrock 에 import 하여 first-party 모델처럼 사용. Custom Model Unit 요금.
Import 후 Bedrock Managed Knowledge Base, Guardrails, Agents 통합 그대로.
요금 모델
- On-Demand: 요청당 (input/output 토큰)
- Provisioned Throughput: 모델 유닛 (MU) 예약, 시간당. 대량 처리량에 유리
- Cross-Region Inference: 리전 풀 사용 시 표준 on-demand + latency 최적화
- Custom Model Unit: import 모델 호스팅
- Guardrails / Knowledge Base / Agent: 별도 요금
Model invocation logging 을 켜면 CloudWatch/S3 저장 비용 별도. 프로덕션 전 반드시 활성화 + 저장 비용 계획.
Bedrock vs SageMaker JumpStart
| 축 | Bedrock | SageMaker JumpStart |
|---|---|---|
| 주 사용층 | 앱 개발자 | ML 엔지니어 |
| 모델 접근 | 관리형 API 호출 | 자체 endpoint 배포 |
| 인프라 관리 | 없음 (서버리스) | 사용자 (endpoint 관리) |
| 파인튜닝 | 제한된 base 모델 | 자유도 높음 |
| 비용 통제 | 요청당 | 인스턴스 시간당 (idle 요금) |
| 모델 커스텀 | Custom Model Import 로 open weight | 자체 학습/파인튜닝 자유 |
혼합: JumpStart 에서 파인튜닝 -> Bedrock Custom Model Import 로 승격 -> Bedrock Agents/KB 와 통합.
실전 팁
- 기본 모델은 저렴한 것 (Nova Micro, Haiku 4.5) 으로 두고 필요시 escalate.
- Converse API + prompt caching 은 그냥 켜세요. 별도 코드 변경 없이 요금 40-90% 절감.
- 버전 명시 필수 (
anthropic.claude-sonnet-4-6처럼). - Guardrails 는 프로덕션 첫날부터. 나중에 사고 후 붙이면 힘듭니다.
- Model invocation logging 을 켜세요. 없으면 문제 발생 시 재현 불가.
- Bedrock Evaluations 를 CI 에 통합. 모델 업그레이드 전 회귀 테스트.
- Knowledge Base 이관 가능:
Retrieve/RetrieveAndGenerateAPI 는 KB ID 만 바꿔 새 KB 로 이관 가능.
함정
WARNING
Cross-region inference 는 데이터 처리 리전이 확대됩니다. GDPR / 데이터 주권 요구가 있으면 in-region 프로파일만 사용.
CAUTION
모델 lifecycle (Legacy -> EOL) 관리 필수. 예를 들어 Nova Premier 는 2026-09-14 EOL. 조용히 실패하지 않고 500 리턴하지만 마이그레이션 계획을 미리.
WARNING
Provisioned throughput 은 시간당 청구, 미사용도 청구. 지속 부하가 없으면 오히려 손해. On-demand 로 시작 후 부하 안정화 후 검토.
IMPORTANT
AgentCore Runtime 세션 8 시간 상한. 초장기 작업은 세션 재개 로직 필요.
CAUTION
Custom Model Unit 은 비쌉니다. 자체 파인튜닝 모델을 import 하기 전에 요구 처리량 대비 비용을 반드시 계산.
관련 위키
- SageMaker - 파인튜닝/자체 배포 대안
- SageMaker Model Monitor - 모니터링 (deprecated for new customers)
- S3 Vectors - KB 저장 계층
- IAM - Bedrock 접근 제어
- KMS - 저장 암호화
- CloudWatch - Invocation logging, metrics
- LLM RAG - Knowledge Base 로 구현
- Function Calling - Tool use in Converse API
- Chain-of-Thought - 추론 모델 활용
- HELM - 모델 선정 벤치마크
이 글의 용어 (10개)
- [AWS SageMaker] Model Monitor: 모델 및 데이터 드리프트 감지ml
- [!WARNING] AWS 공식 발표 (2026): 2026-07-30 부터 SageMaker Model Monitor 는 신규 고객 사용이 중단됩니다. 기존 사용 고객은 계속 …
- [AWS] Amazon SageMakercloud
- 정의 Amazon SageMaker 는 AWS 의 엔드투엔드 머신러닝 플랫폼 입니다. 데이터 준비, 라벨링, 학습, 튜닝, 배포, 모니터링, MLOps 파이프라인을 한 콘솔/SD…
- [AWS] CloudWatch: 메트릭, 로그, 알람cloud
- 정의 CloudWatch = AWS 의 모니터링 + 로그 + 알람 통합 서비스. 메트릭 수집, 로그 집계, 대시보드, 알람, 이상 감지를 하나의 서비스에서 제공. 사용 상황 | …
- [AWS] IAM: User, Role, Policy, STScloud
- 정의 IAM (Identity and Access Management) = AWS 의 권한 관리 전부. User, Group, Role, Policy 로 구성. "누가 어떤 리소…
- [AWS] KMS: 암호화 키 관리, envelope encryptioncloud
- 정의 KMS (Key Management Service) = 암호화 키 중앙 관리. envelope encryption + IAM 통합 + 감사 로그. 키 종류 | 종류 | 의미…
- [AWS] S3 Vectorscloud
- 정의 Amazon S3 Vectors 는 벡터 임베딩을 저비용, 대용량, 서버리스 로 저장하고 쿼리하기 위한 S3 의 새 버킷 유형입니다. 2024년 7월 preview, 202…
- [LLM Eval] HELM: Holistic Evaluation of Language Modelsai
- 정의 HELM (Holistic Evaluation of Language Models) 는 Stanford CRFM (Center for Research on Foundation…
- [Prompting] Chain-of-Thought (CoT)ai
- 정의 Chain-of-Thought (CoT) prompting 은 대형 언어 모델이 최종 답을 내기 전에 중간 추론 단계를 자연어로 생성하도록 유도 하는 프롬프팅 기법입니다. …
- Function Calling / Tool Use: LLM 도구 사용ai
- 정의 Function Calling (또는 Tool Use) 은 LLM 이 사전 정의된 함수/도구를 호출하기 위한 인자를 JSON 으로 생성 하는 기능. JSON Schema 로…
- LLM RAG: Retrieval-Augmented Generationai
- 정의 RAG (Retrieval-Augmented Generation) 는 LLM 생성 전에 외부 지식 베이스에서 관련 문서를 검색 하여 프롬프트에 삽입하는 패턴. 최신 정보, …
💬 댓글