AWS Bedrock
AWS Bedrock
엔터프라이즈급 보안과 컴플라이언스로 AWS 인프라를 통해 Claude, Nova, Llama 등을 사용해요.
출처: 문서
본문
사전 요구 사항 (Prerequisites)
- 리전에서 Bedrock이 활성화된 AWS 계정
- Bedrock Console에서 모델 접근이 부여됨 (일부 모델은 승인 필요)
- AWS 자격 증명 구성 (아래 인증 참고)
구성 (Configuration)
models:
bedrock-claude:
provider: amazon-bedrock
model: global.anthropic.claude-sonnet-4-5-20250929-v1:0
max_tokens: 64000
provider_opts:
region: us-east-1
인증 (Authentication)
옵션 1: Bedrock API 키 (가장 간단) — Option 1: Bedrock API Key (Simplest)
export AWS_BEARER_TOKEN_BEDROCK="your-key"
models:
bedrock:
provider: amazon-bedrock
model: global.anthropic.claude-sonnet-4-5-20250929-v1:0
token_key: AWS_BEARER_TOKEN_BEDROCK # env var name
provider_opts:
region: us-east-1
옵션 2: AWS 자격 증명 (기본) — Option 2: AWS Credentials (Default)
표준 AWS SDK 자격 증명 체인을 사용해요: env vars → shared credentials → config → IAM roles.
models:
bedrock:
provider: amazon-bedrock
model: global.anthropic.claude-sonnet-4-5-20250929-v1:0
provider_opts:
profile: my-aws-profile
region: us-east-1
IAM 역할 위임 포함 (With IAM Role Assumption)
models:
bedrock:
provider: amazon-bedrock
model: global.anthropic.claude-sonnet-4-5-20250929-v1:0
provider_opts:
role_arn: "arn:aws:iam::123456789012:role/BedrockAccessRole"
external_id: "my-external-id"
제공자 옵션 (Provider Options)
| Option | Type | Default | Description |
|---|---|---|---|
region |
string | us-east-1 | AWS 리전 |
profile |
string | — | AWS 프로필 이름 |
role_arn |
string | — | assume role용 IAM 역할 ARN |
role_session_name |
string | docker-agent-bedrock-session | 위임된 역할용 세션 이름 |
external_id |
string | — | 역할 위임용 External ID |
endpoint_url |
string | — | 커스텀 엔드포인트 (VPC/테스트) |
interleaved_thinking |
bool | auto | 도구 호출 사이 추론 허용 (Claude); Claude 모델에 thinking 버짓이 설정되면 자동 활성화; 필수 beta 헤더 자동 추가 |
disable_prompt_caching |
bool | false | 자동 프롬프트 캐싱 비활성화 |
추론 프로필 (Inference Profiles)
최적 라우팅을 위해 추론 프로필 접두사를 사용해요:
| Prefix | Routes To |
|---|---|
global. |
모든 상용 AWS 리전 (권장) |
us. |
US 리전만 |
eu. |
EU 리전만 (GDPR 컴플라이언스) |
apac. |
아시아 태평양 리전만 |
Tip 추론 프로필 (Inference profiles) 자동 교차 리전 라우팅에는 모델 ID에
global.접두사를 사용하세요. GDPR 컴플라이언스에는eu.접두사를 사용하세요.
생각 버짓 (Claude on Bedrock) — Thinking Budget
Bedrock Claude 모델은 extended thinking — 모델이 응답을 만들기 전의 내부 추론 단계 — 을 지원해요. thinking_budget 을 토큰 수(1024–32768) 또는 자동 매핑되는 effort 레벨 문자열로 설정해요:
| Effort level | Token budget |
|---|---|
| minimal | 1,024 |
| low | 2,048 |
| medium | 8,192 |
| high | 16,384 |
| xhigh / max | 32,768 |
models:
bedrock-claude-thinking:
provider: amazon-bedrock
model: global.anthropic.claude-sonnet-4-5-20250929-v1:0
thinking_budget: 8192 # tokens, or use an effort string like "medium"
max_tokens: 16384 # must be > thinking_budget
provider_opts:
region: us-east-1
thinking_budget 은 1024 이상이고 max_tokens 보다 작아야 해요. 이 범위 밖의 값은 경고로 로그되고 무시돼요.
적응형 thinking (Opus 4.6+) — Adaptive thinking
더 새로운 Claude Opus 모델(4.6, 4.7, 4.8)은 토큰 기반 thinking을 거부해요 — Bedrock이 thinking.type=adaptive 을 요구하는 ValidationException 을 반환해요. 이 모델들에는 adaptive thinking을 사용해요:
models:
bedrock-opus-adaptive:
provider: amazon-bedrock
model: global.anthropic.claude-opus-4-8
thinking_budget: adaptive/high # adaptive | adaptive/low | adaptive/medium | adaptive/high | adaptive/xhigh | adaptive/max
provider_opts:
region: us-east-1
Docker Agent는 이 모델들(Bedrock 스타일 ID 포함)을 인식하고 구성된 토큰 버짓이나 effort 레벨을 투명하게 adaptive thinking으로 강제 변환하며 경고를 로그해요 — 그래서 Opus 4.8에서 thinking_budget: 32768 은 실패하지 않지만, adaptive 또는 adaptive/<effort> 가 권장 구성이에요. 여전히 토큰 기반 thinking을 쓰는 이전 모델(예: Sonnet 4.5)에서는 adaptive 가 그대로 전달되어 Bedrock이 거부해요 — 거기서는 토큰 수나 effort 레벨을 대신 사용하세요.
Note Temperature와 top_p Bedrock Claude는 extended thinking이 활성화된 동안 temperature와 top_p를 억제해요 — Anthropic은 내부적으로 temperature=1.0 을 요구해요.
인터리브 thinking (Claude on Bedrock) — Interleaved Thinking
인터리브 thinking은 모델이 시작에서뿐 아니라 도구 호출 사이에도 추론하게 해요. 복잡한 에이전트 작업에 유용해요. thinking 버짓과 함께 활성화해요:
models:
bedrock-claude-interleaved:
provider: amazon-bedrock
model: global.anthropic.claude-sonnet-4-5-20250929-v1:0
thinking_budget: high
provider_opts:
region: us-east-1
# interleaved_thinking is auto-enabled when thinking_budget is set
Docker Agent는 Bedrock 호스팅 Claude 모델에 thinking 버짓이 구성될 때마다 interleaved_thinking 을 자동 활성화하고 interleaved-thinking-2025-05-14 베타 헤더를 자동으로 추가해요. thinking 버짓이 활성화된 동안 interleaved_thinking: false 를 설정하면, Bedrock이 베타 헤더 없이 버짓을 무시할 수 있으므로 경고가 로그돼요.
전체 교차 제공자 개요는 Thinking / Reasoning 가이드 참고.
프롬프트 캐싱 (Prompt Caching)
지원 모델에서 대기 시간과 비용을 줄이기 위해 자동 활성화돼요. 시스템 프롬프트, 도구 정의, 최근 메시지가 5분 TTL로 캐시돼요.
# Disable if needed
provider_opts:
disable_prompt_caching: true