前置条件
在使用 Bedrock 配置 Claude Code 之前,请确保您拥有:- 启用了 Bedrock 访问权限的 AWS 账户
- 在 Bedrock 中访问所需的 Claude 模型(例如 Claude Sonnet 4.5)
- 已安装并配置 AWS CLI(可选 - 仅在您没有其他获取凭证的机制时需要)
- 适当的 IAM 权限
设置
1. 提交用例详情
Anthropic 模型的首次用户需要在调用模型之前提交用例详情。这在每个账户中只需进行一次。- 确保您拥有正确的 IAM 权限(请参阅下面的更多信息)
- 导航到 Amazon Bedrock 控制台
- 选择 Chat/Text playground
- 选择任何 Anthropic 模型,您将被提示填写用例表单
2. 配置 AWS 凭证
Claude Code 使用默认的 AWS SDK 凭证链。使用以下方法之一设置您的凭证: 选项 A:AWS CLI 配置aws login。
选项 E:Bedrock API 密钥
高级凭证配置
Claude Code 支持 AWS SSO 和企业身份提供商的自动凭证刷新。将这些设置添加到您的 Claude Code 设置文件中(请参阅 Settings 了解文件位置)。 当 Claude Code 检测到您的 AWS 凭证已过期(基于本地时间戳或当 Bedrock 返回凭证错误时),它将自动运行您配置的awsAuthRefresh 和/或 awsCredentialExport 命令来获取新凭证,然后重试请求。
示例配置
配置设置说明
awsAuthRefresh:用于修改 .aws 目录的命令,例如更新凭证、SSO 缓存或配置文件。命令的输出会显示给用户,但不支持交互式输入。这适用于基于浏览器的 SSO 流程,其中 CLI 显示 URL 或代码,您在浏览器中完成身份验证。
awsCredentialExport:仅在无法修改 .aws 且必须直接返回凭证时使用。输出会被静默捕获,不会显示给用户。命令必须输出以下格式的 JSON:
3. 配置 Claude Code
设置以下环境变量以启用 Bedrock:AWS_REGION是必需的环境变量。Claude Code 不会从.aws配置文件中读取此设置。- 使用 Bedrock 时,
/login和/logout命令被禁用,因为身份验证通过 AWS 凭证处理。 - 您可以使用设置文件来处理环境变量,如
AWS_PROFILE,这样您不想将其泄露给其他进程。请参阅 Settings 了解更多信息。
4. 模型配置
Claude Code 为 Bedrock 使用这些默认模型:| 模型类型 | 默认值 |
|---|---|
| 主模型 | global.anthropic.claude-sonnet-4-5-20250929-v1:0 |
| 小型/快速模型 | us.anthropic.claude-haiku-4-5-20251001-v1:0 |
对于 Bedrock 用户,Claude Code 不会自动从 Haiku 3.5 升级到 Haiku 4.5。要手动切换到较新的 Haiku 模型,请将
ANTHROPIC_DEFAULT_HAIKU_MODEL 环境变量设置为完整的模型名称(例如,us.anthropic.claude-haiku-4-5-20251001-v1:0)。Prompt caching 可能不在所有区域可用。
5. 输出令牌配置
这些是 Claude Code 与 Amazon Bedrock 的推荐令牌设置:-
CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096:Bedrock 的降速限流逻辑将 4096 令牌设置为max_token惩罚的最小值。设置更低的值不会降低成本,但可能会截断长工具使用,导致 Claude Code 代理循环持续失败。Claude Code 在没有扩展思考的情况下通常使用少于 4096 个输出令牌,但对于涉及大量文件创建或 Write 工具使用的任务可能需要这个余量。 -
MAX_THINKING_TOKENS=1024:这为扩展思考提供了空间,而不会截断工具使用响应,同时仍然保持专注的推理链。这种平衡有助于防止对编码任务不总是有帮助的轨迹变化。
IAM 配置
创建具有 Claude Code 所需权限的 IAM 策略:我们建议为 Claude Code 创建一个专用的 AWS 账户,以简化成本跟踪和访问控制。
AWS Guardrails
Amazon Bedrock Guardrails 让您为 Claude Code 实现内容过滤。在 Amazon Bedrock 控制台 中创建 Guardrail,发布一个版本,然后将 Guardrail 标头添加到您的 settings 文件。如果您使用跨区域推理配置文件,请在您的 Guardrail 上启用跨区域推理。 示例配置:故障排除
如果您遇到区域问题:- 检查模型可用性:
aws bedrock list-inference-profiles --region your-region - 切换到支持的区域:
export AWS_REGION=us-east-1 - 考虑使用推理配置文件进行跨区域访问
- 将模型指定为 inference profile ID