본문으로 건너뛰기
김신건의 로그

[AWS] Amazon Bedrock

· 수정 · 📖 약 5분 · 1,854자/단어 #aws #cloud #ai #llm #foundation-models
AWS Bedrock, Amazon Bedrock, Bedrock, Bedrock Converse API, Bedrock Knowledge Bases, Bedrock Managed Knowledge Base, Bedrock Guardrails, Bedrock Agents, AgentCore, Bedrock AgentCore, Amazon Nova, Nova 2

정의

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
IdentityOAuth/IAM. 에이전트가 Salesforce/GitHub 등을 사용자 대신 호출
GatewayLambda/REST API 를 MCP 도구로 노출
Browser관리형 헤드리스 브라우저
Code Interpreter샌드박스 코드 실행
ObservabilityOpenTelemetry 트레이스, CloudWatch 통합
Policy결정적 guardrails at gateway
Evaluations13개 사전 정의 평가
Managed Harness에이전트를 코드가 아니라 설정으로 정의
Web SearchAmazon 검색 인프라 (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 통합 그대로.

요금 모델

  1. On-Demand: 요청당 (input/output 토큰)
  2. Provisioned Throughput: 모델 유닛 (MU) 예약, 시간당. 대량 처리량에 유리
  3. Cross-Region Inference: 리전 풀 사용 시 표준 on-demand + latency 최적화
  4. Custom Model Unit: import 모델 호스팅
  5. Guardrails / Knowledge Base / Agent: 별도 요금

Model invocation logging 을 켜면 CloudWatch/S3 저장 비용 별도. 프로덕션 전 반드시 활성화 + 저장 비용 계획.

Bedrock vs SageMaker JumpStart

BedrockSageMaker JumpStart
주 사용층앱 개발자ML 엔지니어
모델 접근관리형 API 호출자체 endpoint 배포
인프라 관리없음 (서버리스)사용자 (endpoint 관리)
파인튜닝제한된 base 모델자유도 높음
비용 통제요청당인스턴스 시간당 (idle 요금)
모델 커스텀Custom Model Import 로 open weight자체 학습/파인튜닝 자유

혼합: JumpStart 에서 파인튜닝 -> Bedrock Custom Model Import 로 승격 -> Bedrock Agents/KB 와 통합.

실전 팁

  1. 기본 모델은 저렴한 것 (Nova Micro, Haiku 4.5) 으로 두고 필요시 escalate.
  2. Converse API + prompt caching 은 그냥 켜세요. 별도 코드 변경 없이 요금 40-90% 절감.
  3. 버전 명시 필수 (anthropic.claude-sonnet-4-6 처럼).
  4. Guardrails 는 프로덕션 첫날부터. 나중에 사고 후 붙이면 힘듭니다.
  5. Model invocation logging 을 켜세요. 없으면 문제 발생 시 재현 불가.
  6. Bedrock Evaluations 를 CI 에 통합. 모델 업그레이드 전 회귀 테스트.
  7. Knowledge Base 이관 가능: Retrieve / RetrieveAndGenerate API 는 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 하기 전에 요구 처리량 대비 비용을 반드시 계산.

관련 위키

이 글의 용어 (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 생성 전에 외부 지식 베이스에서 관련 문서를 검색 하여 프롬프트에 삽입하는 패턴. 최신 정보, …

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기