Claude Code + AWS Bedrock 配置完整指南

前言 最近Claude 大规模封号,我本身就是AWS的海外服务器企业用户,所以想是否可以用AWS的API来使用Claude Code?所以就有了下面的内容。 如果你已经在 AWS Bedrock 上获得了 Claude API 访问权限,想要通过 Claude Code 命令行工具来使用,本文将为你提供完整的配置指南。

Claude Code + AWS Bedrock 配置完整指南
Photo by Patrick Martin / Unsplash

前言

注意:要使用AWS Bedrock请联系AWS的销售来开通权限,这种方法适合企业用户。不适合预算20美元/月的用户。

2025/07/25更新,发现很多人反馈不够友好不能“一键配置”,所以就有了新的内容更新。

Claude Code AWS Bedrock 一键配置方案
概述 为了简化 Claude Code + AWS Bedrock 的配置过程,我们提供了 macOS 和 Windows 的一键配置方案,让用户无需手动设置复杂的环境变量。

最近Claude 大规模封号,我本身就是AWS的海外服务器企业用户,所以想是否可以用AWS的API来使用Claude Code?所以就有了下面的内容。

如果你已经在 AWS Bedrock 上获得了 Claude API 访问权限,想要通过 Claude Code 命令行工具来使用,本文将为你提供完整的配置指南。

AWS Bedrock 模型访问方式详解

在开始配置前,了解 AWS Bedrock 的两种模型访问方式很重要:

📋 ON_DEMAND(按需付费模式)

特点:

  • 即开即用:配置简单,直接使用模型 ID
  • 按使用付费:用多少付多少,无需预付费
  • 无需额外申请:有 Bedrock 访问权限即可使用
  • 配置简单:直接使用基础模型 ID

支持的模型示例:

  • anthropic.claude-3-5-sonnet-20240620-v1:0(Claude 3.5 Sonnet v1)
  • anthropic.claude-3-haiku-20240307-v1:0(Claude 3 Haiku)

🔄 INFERENCE_PROFILE(推理配置文件模式)

特点:

  • ⚙️ 需要额外配置:使用推理配置文件 ID
  • 🌍 跨区域负载均衡:自动在多个区域间分配请求
  • 🚀 更高可用性:减少单区域故障影响
  • 💰 可能有优惠定价:某些情况下成本更低

支持的模型示例:

  • us.anthropic.claude-sonnet-4-20250514-v1:0(Claude Sonnet 4)
  • us.anthropic.claude-opus-4-20250514-v1:0(Claude Opus 4)
  • us.anthropic.claude-3-7-sonnet-20250219-v1:0(Claude 3.7 Sonnet)

🔍 如何识别模型支持的访问方式

在模型列表中查看 inferenceTypesSupported 字段:

// 仅支持按需付费
"inferenceTypesSupported": ["ON_DEMAND"]

// 仅支持推理配置文件
"inferenceTypesSupported": ["INFERENCE_PROFILE"]

// 两种方式都支持
"inferenceTypesSupported": ["ON_DEMAND", "INFERENCE_PROFILE"]

💡 选择建议

对于新手用户:

  • 优先选择支持 ON_DEMAND 的模型(如 Claude 3.5 Sonnet v1)
  • 配置简单,立即可用

对于想要最新模型的用户:

  • Claude 4 系列只支持 INFERENCE_PROFILE
  • 需要使用推理配置文件,但能体验最新最强的模型

模型 ID 格式对比:

# ON_DEMAND 模式(基础模型 ID)
anthropic.claude-3-5-sonnet-20240620-v1:0

# INFERENCE_PROFILE 模式(推理配置文件 ID)
us.anthropic.claude-sonnet-4-20250514-v1:0  # 注意前面的 "us."

1. 确认 AWS Bedrock 访问权限

  • 登录 Amazon Bedrock 控制台
  • 在左侧导航中选择 "Model access"
  • 确保已请求并获得 Claude 模型的访问权限(如 Claude Sonnet 4)
  • 大多数区域的审批是即时的

2. 安装必要工具

安装 AWS CLI

在 macOS 上推荐使用 Homebrew:

brew install awscli

或使用官方安装包:

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
rm AWSCLIV2.pkg

安装 Claude Code

按照 Anthropic 官方文档安装 Claude Code(具体安装方法请参考官方文档)。

配置步骤

步骤 1: 配置 AWS 凭证

aws configure

输入你的:

  • AWS Access Key ID
  • AWS Secret Access Key
  • Default region name(如 us-east-1
  • Default output format(回车使用默认)

步骤 2: 验证 AWS 连接

# 验证安装
aws --version

# 测试连接
aws sts get-caller-identity

步骤 3: 检查可用的 Claude 模型

# 检查基础模型
aws bedrock list-foundation-models --region us-east-1 --by-provider anthropic

# 检查推理配置文件
aws bedrock list-inference-profiles --region us-east-1

步骤 4: 配置 Claude Code 环境变量

在 macOS 上配置

临时配置(当前会话有效):

# 必需的环境变量
export CLAUDE_CODE_USE_BEDROCK=1
export DISABLE_PROMPT_CACHING=1
export AWS_REGION=us-east-1

# 可选:指定特定模型(如果不设置将使用默认模型)
export ANTHROPIC_MODEL=us.anthropic.claude-3-7-sonnet-20250219-v1:0

永久配置(推荐):

  1. 确定你使用的 Shell:
echo $SHELL
  1. 对于 Zsh(macOS 默认):
# 编辑 .zshrc 文件
nano ~/.zshrc

# 或使用命令直接添加
echo 'CLAUDE_CODE_USE_BEDROCK=1' >> ~/.zshrc
echo 'export DISABLE_PROMPT_CACHING=1' >> ~/.zshrc
echo 'export AWS_REGION=us-east-1' >> ~/.zshrc
echo 'export ANTHROPIC_MODEL=us.anthropic.claude-3-7-sonnet-20250219-v1:0' >> ~/.zshrc

# 重新加载配置
source ~/.zshrc
  1. 对于 Bash:
# 编辑 .bash_profile 文件
nano ~/.bash_profile

# 或使用命令直接添加
echo 'CLAUDE_CODE_USE_BEDROCK=1' >> ~/.bash_profile
echo 'export DISABLE_PROMPT_CACHING=1' >> ~/.bash_profile
echo 'export AWS_REGION=us-east-1' >> ~/.bash_profile
echo 'export ANTHROPIC_MODEL=us.anthropic.claude-3-7-sonnet-20250219-v1:0' >> ~/.bash_profile

# 重新加载配置
source ~/.bash_profile

在 Windows 上配置

方法 1: 通过系统设置(推荐)

  1. 右键点击"此电脑" → "属性"
  2. 点击"高级系统设置"
  3. 在"系统属性"窗口中点击"环境变量"
  4. 在"用户变量"区域点击"新建",逐个添加:
    • 变量名:ANTHROPIC_PROVIDER,变量值:bedrock
    • 变量名:AWS_REGION,变量值:us-east-1
    • 变量名:ANTHROPIC_MODEL,变量值:us.anthropic.claude-3-7-sonnet-20250219-v1:0
  5. 点击"确定"保存
  6. 重启命令提示符或 PowerShell

方法 2: 通过命令行

在 Command Prompt 中:

setx ANTHROPIC_PROVIDER "bedrock"
setx AWS_REGION "us-east-1"
setx ANTHROPIC_MODEL "us.anthropic.claude-3-7-sonnet-20250219-v1:0"

在 PowerShell 中:

[Environment]::SetEnvironmentVariable("ANTHROPIC_PROVIDER", "bedrock", "User")
[Environment]::SetEnvironmentVariable("AWS_REGION", "us-east-1", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_MODEL", "us.anthropic.claude-3-7-sonnet-20250219-v1:0", "User")

方法 3: 临时设置(当前会话有效)

在 Command Prompt 中:

set ANTHROPIC_PROVIDER=bedrock
set AWS_REGION=us-east-1
set ANTHROPIC_MODEL=us.anthropic.claude-3-7-sonnet-20250219-v1:0

在 PowerShell 中:

$env:ANTHROPIC_PROVIDER="bedrock"
$env:AWS_REGION="us-east-1"
$env:ANTHROPIC_MODEL="us.anthropic.claude-3-7-sonnet-20250219-v1:0"

验证环境变量配置

在 macOS/Linux 上:

echo $ANTHROPIC_PROVIDER
echo $AWS_REGION
echo $ANTHROPIC_MODEL

在 Windows 上:

echo %ANTHROPIC_PROVIDER%
echo %AWS_REGION%
echo %ANTHROPIC_MODEL%

或在 PowerShell 中:

echo $env:ANTHROPIC_PROVIDER
echo $env:AWS_REGION
echo $env:ANTHROPIC_MODEL

常见问题与解决方案

问题 1: "provided model identifier is invalid" 错误

原因: 使用了错误的模型 ID 格式

错误示例:

# ❌ 错误的格式
apac.anthropic.claude-sonnet-4-20250514-v1:0

正确做法:

# ✅ 正确的格式
us.anthropic.claude-3-7-sonnet-20250219-v1:0
# 或
anthropic.claude-3-5-sonnet-20241022-v2:0

问题 2: 区域相关错误

如果在某个区域遇到问题,尝试切换到 us-east-1

export AWS_REGION=us-east-1

问题 3: 权限错误

确保你的 AWS 用户/角色具有适当的 Bedrock IAM 权限。可以创建一个专用的 AWS 账户来简化成本跟踪和访问控制。

默认模型配置

Claude Code 在 Bedrock 中使用这些默认模型:

模型类型 默认值
主要模型 us.anthropic.claude-3-7-sonnet-20250219-v1:0
小型/快速模型 us.anthropic.claude-3-5-haiku-20241022-v1:0

问题 4:已经配置了AWS的 Bedrock,但登录Claude Code的时候被要求登录Claude账户

环境变量中要求使用 AWS Bedrock

# 必需的环境变量
export CLAUDE_CODE_USE_BEDROCK=1
export DISABLE_PROMPT_CACHING=1
export AWS_REGION=us-east-1

# 可选:指定特定模型(如果不设置将使用默认模型)
export ANTHROPIC_MODEL=us.anthropic.claude-3-7-sonnet-20250219-v1:0
  • CLAUDE_CODE_USE_BEDROCK=1 - 告诉 Claude Code 使用 Bedrock
  • DISABLE_PROMPT_CACHING=1 - 禁用 prompt caching(因为 Bedrock 不支持)
  • AWS_REGION=us-east-1 - 设置 AWS 区域
  • ANTHROPIC_MODEL - 指定模型(可选)

验证配置

完成所有配置后,运行以下命令验证:

# 验证环境变量设置
echo $ANTHROPIC_PROVIDER
echo $AWS_REGION
echo $ANTHROPIC_MODEL

# 验证 Claude Code 是否正常工作
claude --help

# 尝试简单的对话
claude "Hello, how are you?"

⚠️ 重要说明:环境变量的生效时机

临时设置(export 命令):

  • ✅ 在当前终端会话中立即生效
  • ✅ 无需重新打开终端
  • ❌ 关闭终端后设置会丢失

永久设置(修改配置文件):

  • ✅ 设置会持久保存
  • ❌ 当前终端需要运行 source ~/.zshrc 才能生效
  • ✅ 新打开的终端会自动加载配置

验证建议:

  1. 使用 export 命令后,直接在当前终端验证,无需重启
  2. 修改配置文件后,运行 source ~/.zshrc 或重新打开终端

成本优化提示

  1. 启用提示缓存:联系 AWS 支持启用提示缓存以降低成本和提高速率限制
  2. 移除缓存禁用设置:启用后删除 DISABLE_PROMPT_CACHING=true 环境变量
  3. 使用专用账户:考虑为 Claude Code 创建专用的 AWS 账户以便更好地跟踪成本

总结

通过以上步骤,你可以成功配置 Claude Code 使用 AWS Bedrock 上的 Claude 模型。关键要点:

  1. ✅ AWS CLI 处理凭证管理
  2. ✅ 环境变量 AWS_REGION 是必需的(Claude Code 不读取 AWS 配置文件)
  3. ✅ 使用正确的模型 ID 格式
  4. ✅ 确保 Bedrock 访问权限和 IAM 配置正确

这样既避免了在环境变量中暴露敏感访问密钥,又能充分利用 AWS Bedrock 上的 Claude 服务。


本文基于 Anthropic 官方文档和实际配置经验整理,如遇到具体问题,建议查阅最新的官方文档。

Claude Code on Amazon Bedrock - Anthropic
Learn about configuring Claude Code through Amazon Bedrock, including setup, IAM configuration, and troubleshooting.
[BUG] Claude Code Bedrock Model Configuration Error · Issue #1434 · anthropics/claude-code
Environment Platform (select one): Anthropic API AWS Bedrock Google Vertex AI Other: Claude CLI version: Operating System: Terminal: Bug Description Unable to configure Claude Code to use AWS Bedro…