Amazon Bedrock 是 AWS 原生的 Claude 部署方案,适合已有 AWS 基础设施的企业团队。本文提供从零到生产的完整配置指南。
前提条件
- AWS 账号,且 Bedrock 访问权限已启用
- 目标 Claude 模型(如 claude-sonnet-4-6)已在 Bedrock 中申请访问
- (可选)AWS CLI 已安装并配置
- 适当的 IAM 权限
配置步骤
Step 1:首次提交使用场景
首次使用 Anthropic 模型需要填写一次使用场景表单:
- 确认 IAM 权限已就绪
- 打开 Amazon Bedrock 控制台
- 选择 Chat/Text playground
- 选择任意 Anthropic 模型,系统会弹出表单
Step 2:配置 AWS 凭证
Claude Code 使用 AWS SDK 默认凭证链,支持五种方式:
方式 A:AWS CLI 配置(推荐个人开发者)
aws configure方式 B:环境变量(Access Key)
export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
export AWS_SESSION_TOKEN=your-session-token方式 C:SSO 登录
aws sso login --profile=<your-profile-name>
export AWS_PROFILE=your-profile-name方式 D:AWS 管理控制台
aws login方式 E:Bedrock API Key(最简单)
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-keyBedrock API Key 无需完整 AWS 凭证,最适合快速上手。
Step 3:自动刷新凭证(企业 SSO 场景)
凭证过期时,Claude Code 可自动运行刷新命令。在 ~/.claude/settings.json 中添加:
{
"awsAuthRefresh": "aws sso login --profile myprofile",
"env": {
"AWS_PROFILE": "myprofile"
}
}| 配置项 | 用途 |
|---|---|
awsAuthRefresh | 修�� .aws 目录的命令(SSO 登录等),输出展示给用户 |
awsCredentialExport | 直接返回凭证 JSON,输出静默不展示,需返回标准 Credentials 格式 |
awsCredentialExport 输出格式:
{
"Credentials": {
"AccessKeyId": "value",
"SecretAccessKey": "value",
"SessionToken": "value"
}
}Step 4:启用 Bedrock
# 启用 Bedrock 集成
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1 # 必填,不从 .aws/config 读取
# 可选:为 Haiku(小型/快速模型)单独指定区域
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2⚠️ 启用 Bedrock 后,
/login和/logout命令被禁用,认证完全由 AWS 凭证处理。
Step 5:固定模型版本(必须)
export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-6-v1'
export ANTHROPIC_DEFAULT_SONNET_MODEL='us.anthropic.claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'不固定的后果:Claude Code 别名解析到最新版本,当 Anthropic 发布新模型但你的账号未启用时,用户会遇到错误。
默认模型(不固定时):
| 模型类型 | 默认值 |
|---|---|
| 主模型 | global.anthropic.claude-sonnet-4-6 |
| 小型快速模型 | us.anthropic.claude-haiku-4-5-20251001-v1:0 |
使用 Application Inference Profile ARN:
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'IAM 权限配置
最小权限 IAM Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowModelAndInferenceProfileAccess",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:ListInferenceProfiles"
],
"Resource": [
"arn:aws:bedrock:*:*:inference-profile/*",
"arn:aws:bedrock:*:*:application-inference-profile/*",
"arn:aws:bedrock:*:*:foundation-model/*"
]
},
{
"Sid": "AllowMarketplaceSubscription",
"Effect": "Allow",
"Action": [
"aws-marketplace:ViewSubscriptions",
"aws-marketplace:Subscribe"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:CalledViaLast": "bedrock.amazonaws.com"
}
}
}
]
}如需更严格的限制,可将 Resource 限定为特定 Inference Profile ARN。
AWS Guardrails 内容过滤
Bedrock Guardrails 为 Claude Code 提供内容过滤层:
- 在 Amazon Bedrock 控制台 创建 Guardrail
- 发布版本,记录 Guardrail ID
- 如使用跨区域推理 Profile,在 Guardrail 上启用跨区域推理
- 在
settings.json中配置:
{
"env": {
"ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
}
}常见问题排查
区域问题?
# 检查区域可用性
aws bedrock list-inference-profiles --region your-region
# 切换到支持的区域
export AWS_REGION=us-east-1报错「on-demand throughput isn't supported」? 将模型指定为 Inference Profile ID,而非 Foundation Model ID。
注意:Claude Code 使用 Bedrock Invoke API,不支持 Converse API。
原文:Claude Code on Amazon Bedrock | 来源:Anthropic 官方文档