这篇适合谁,读完能做到什么
适合想让 Claude Code 跑在自己公司的 AWS 或 Google Cloud 账号里,让计费、权限和网络管控都留在云厂商一侧的团队。读完这篇,你能在 Amazon Bedrock 或 Google Cloud 的 Vertex AI 上完成开通,配好凭证和环境变量,钉住模型版本,并且知道出错时该从哪里查起。
两条路怎么选
Claude Code 可以通过 Amazon Bedrock 使用,也可以通过 Google Cloud 的 Agent Platform 使用。后者的前身是 Vertex AI,登录提示里仍标注为 Google Vertex AI,在 3rd-party platform 下选择即可[2]。两条路都需要云账号、你要用的 Claude 模型的访问权限,以及相应的权限配置[1][2]。选哪一个,主要看团队的账单和权限已经放在哪家云上。
Bedrock:准备和凭证
需要一个开通了 Amazon Bedrock 的 AWS 账号,能访问你要用的 Claude 模型(例如 Claude Sonnet 4.6),以及合适的 IAM 权限。AWS CLI 可选[1]。在 Bedrock 控制台的 Model catalog 里选一个 Anthropic 模型,完成用例表单。提交后即时生效,每个 AWS 账号只需一次[1]。
Claude Code 使用 AWS SDK 默认的凭证链。如果机器本身已经提供凭证,例如 EC2 实例角色或 ECS 任务凭证,就不用额外配置[1]。AWS 不建议在开发专用软件或处理真实数据时使用 IAM 用户的访问密钥[1]。
常见的做法有三种[1]:
- 用
aws configure保存访问密钥,或者在当前 shell 里导出为环境变量。 - 使用 SSO 配置文件,通过 IAM Identity Center 登录拿到临时凭证。
- 使用 Bedrock API 密钥。设置
AWS_BEARER_TOKEN_BEDROCK后,Claude Code 直接用它认证,不再解析凭证链。短期密钥最长 12 小时,AWS 只建议把长期密钥用于探索。
Claude Code 会缓存解析出的凭证:快过期前五分钟失效,没有过期时间的凭证缓存一小时。想让每次请求都重新解析,设置 CLAUDE_CODE_SKIP_AWS_CRED_CACHE=1。凭证链解析超过 60 秒会超时,交互式登录需要更久时,用 CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS 调高上限[1]。
Bedrock:向导和环境变量
运行 claude,在登录提示里选 3rd-party platform,再选 Amazon Bedrock。已经登录的话,运行 /setup-bedrock 即可打开向导。向导会把结果写入用户设置文件的 env 块,也就是 ~/.claude/settings.json;设置了 CLAUDE_CONFIG_DIR 时,写入那个目录下的 settings.json[1]。
CI 或企业脚本化部署时,直接导出环境变量:
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1 # optional if your AWS profile already sets a region区域按这个顺序取值:AWS_REGION、AWS_DEFAULT_REGION、当前 AWS 配置文件里的区域,最后是 us-east-1。运行 /status 可以看到实际解析出的区域[1]。
在 Bedrock 上,/logout 不可用,因为认证交给了 AWS 凭证;WebSearch 工具也不可用[1]。
为什么要钉住模型版本
多人共用一套部署时,要钉住模型版本。否则 sonnet、opus 这些别名会解析到 Claude Code 内置的默认模型,它可能落后于最新版本,也可能还没在你的账号里开通。钉住之后,什么时候升级由你决定[1]。
export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'
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'不设置这些变量时,Bedrock 上的主模型是 Opus 5.5,小而快的模型是 Sonnet 4.5[1]。Opus 的每 token 价格高于 Sonnet,所以不钉住主模型,就会按 Opus 的价格计费。想用 Sonnet 4.5 做主模型,把 ANTHROPIC_MODEL 设为它的完整 ID[1]。会话标题生成之类的后台任务,在 Bedrock 上默认用 Sonnet,因为 Haiku 不一定在每个账号或区域都开通。想让后台任务改用 Haiku,就把 ANTHROPIC_DEFAULT_HAIKU_MODEL 设为你的账号能用的模型 ID[1]。
IAM 策略需要 bedrock:InvokeModel、bedrock:InvokeModelWithResponseStream、bedrock:ListInferenceProfiles 和 bedrock:GetInferenceProfile,另外还需要 AWS Marketplace 的订阅权限,这些权限只在通过 bedrock.amazonaws.com 调用时生效。想收紧权限,可以把 Resource 限定到具体的推理配置文件 ARN[1]。
Fable 系列、Sonnet 5 及以后、Opus 4.7 及以后的模型,在 Bedrock 上默认使用 100 万 token 的上下文窗口。想保留 20 万的窗口,设置 CLAUDE_CODE_DISABLE_1M_CONTEXT=1[1]。
向导还是环境变量
个人第一次设置,用向导最省事:它把结果写进用户设置文件的 env 块,你不必自己导出一堆环境变量[1]。CI 或脚本化的企业部署,直接设置环境变量更合适,因为配置可以放进流水线或脚本里复用[1]。以后想改凭证或模型版本,运行 /setup-bedrock 即可再次打开向导[1]。
Bedrock:常见问题
- 报错 "on-demand throughput isn't supported":把模型指定为推理配置文件(inference profile)ID[1]。
- **报错
Bedrock streaming response has content-type**:企业网关改写了Content-Type响应头。网关必须原样转发InvokeModelWithResponseStream的响应体和响应头[1]。 - 用 AWS SSO 时,浏览器登录页不断弹出:删掉
awsAuthRefresh设置,启动 Claude Code 前自己运行aws sso login[1]。
Google Cloud:准备和启用 API
需要一个开通了计费的 GCP 账号,项目里启用了 Agent Platform API,有可以用的 Claude 模型,装好并配置了 gcloud,并且目标区域有足够的配额[2]。用命令行启用 API:
# Set your project ID
gcloud config set project YOUR-PROJECT-ID
# Enable Agent Platform API
gcloud services enable aiplatform.googleapis.com然后在 Model Garden 申请 Claude 模型的访问权限,审批可能需要 24 到 48 小时[2]。
Google Cloud:区域和环境变量
CLOUD_ML_REGION 可以设为 global、eu 或 us 这样的多区域,也可以设为 us-east5 这样的具体区域[2]。环境变量这样设置:
# Enable Agent Platform integration
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=YOUR-PROJECT-IDClaude Code 会把请求发到 ANTHROPIC_VERTEX_PROJECT_ID 指定的项目,即使 GOOGLE_CLOUD_PROJECT 或凭证文件里写的是另一个项目。某个模型不支持 global 端点时,用它对应的 VERTEX_REGION_CLAUDE_* 变量单独指定区域;没设置的话,回退到 CLOUD_ML_REGION[2]。
Google Cloud:自动刷新凭证和钉住模型
gcpAuthRefresh 设置会在 GCP 凭证过期或无法加载时运行一条命令。运行之前,Claude Code 会先用当前凭证请求访问令牌,确认凭证真的过期才执行。这条命令不能接收交互输入,超过三分钟仍未完成会超时[2]。
{
"gcpAuthRefresh": "gcloud auth application-default login",
"env": {
"ANTHROPIC_VERTEX_PROJECT_ID": "your-project-id"
}
}不设置钉版本变量时,主模型默认是 claude-opus-5-5,小而快的模型默认是 claude-sonnet-4-5@20250929。下面的例子把别名钉到了具体版本[2]:
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5@20251001'Google Cloud:验证和常见报错
运行 /status 检查配置。API provider 一行应显示 Google Vertex AI,GCP project、Default region 和 Model 三行分别显示项目、区域和解析出的模型[2]。
- 报错 "Could not load the default credentials":运行
gcloud auth application-default login,或者把GOOGLE_APPLICATION_CREDENTIALS设为服务账号密钥文件的路径[2]。 - 404 "model not found":确认模型已在 Model Garden 中启用,并且在你指定的位置可用。有些模型只在 global 或多区域端点上提供[2]。
- 429 错误:使用区域端点时,确认主模型和小模型在该区域都支持;改用
CLOUD_ML_REGION=global也可能有帮助[2]。
下一步
想查每个环境变量,读环境变量参考页;想查完整的钉版本变量列表,读模型配置页面。两者都在官方的 Claude Code 文档里[1][2]。
来源
- 1Claude Code on Amazon BedrockAnthropic Claude Code docs
- 2Claude Code on Google Cloud's Agent PlatformAnthropic Claude Code docs
引用本页: Claude Code 用 Amazon Bedrock 或 Google Vertex AI. TellWorld, https://www.tellworld.net/zh/practice/practice-claude-code-bedrock-vertex. 更新于 2026-11-14