ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从 0 到可用:Claude Code × Amazon Bedrock 实战打通指南(TaoToken 统一 Key 版)

从 0 到可用:Claude Code × Amazon Bedrock 实战打通指南(TaoToken 统一 Key 版) 1. 为什么 Claude Code 走 Bedrock 总在凭证这关卡住Claude Code 本身是个本地跑的编码 Agent它默认会走 Anthropic 官方登录。但很多团队的真实诉求是模型调用要走自己已经开通的 Amazon Bedrock认证、计费、模型版本都收拢到 AWS 账号体系里。于是就有了这条链路——Claude Code 不再直连 Anthropic而是通过 AWS Bedrock 调 Claude 模型。听起来只是换个后端实际落地时卡人的地方非常集中。我见过最多的三类现场第一类是 Bedrock 控制台里 Claude 模型压根没解锁Claude Code 一启动就报模型不存在第二类是 AWS 凭证配了但AWS_REGION没显式给Claude Code 读不到区域请求发不出去第三类是 IAM 权限只给了半套InvokeModel有、InvokeModelWithResponseStream没有流式输出直接断。这篇就按“从 0 到可用”的顺序把 Bedrock 开通、AWS 凭证准备、Claude Code 切换、端到端验证、报错排查整条路径拆开写。每一步都给可复制的命令和环境变量模板你照着敲就能跑。同时我会说明怎么用 TaoToken 的统一 Key/API 通道把 Claude Code、Bedrock 以及其它工具的接入凭证集中管理避免每个工具一套 Key、换个人就找不到配置在哪。适合谁看已经在用 Claude Code、想把模型调用切到 Bedrock 的开发者团队里负责统一 AI 接入层、需要管多套凭证的人以及被local proxy failed、401、reading choices这类报错折腾过、想一次搞明白根因的同学。核心检索词就三个Claude Code、Amazon Bedrock、AWS 环境变量与凭证。下面进入正题。2. 先把 Bedrock 和 Claude 模型权限打通这一步是所有问题的源头。很多人以为是 Claude Code 配置错了其实八成是 Bedrock 侧没准备好。Claude Code 只是发起方真正决定“能不能调”的是 Bedrock 里 Claude 模型有没有对你开放。2.1 进入 Bedrock 并解锁 Anthropic 模型登录 AWS 控制台搜索并进入 Amazon Bedrock。第一次使用 Anthropic 系列模型时会触发一个关键动作打开 PlaygroundChat 或 Text 都行随便选一个 Claude 模型系统会弹出 use case 表单。这个表单填一次就够相当于给你的账号“解锁 Anthropic 模型”。填完之后模型列表里 Claude 才会从灰色变成可调用。这里有个容易忽略的点use case 表单是按账号维度生效的不是按 Region。但模型可用性是按 Region 走的所以下一步要确认区域。2.2 确认三件事账号、区域、模型权限你需要确认三件事同时成立当前 AWS 账号已启用 Bedrock当前 Region 支持 Claude账号已被允许调用 Claude 模型。推荐直接用us-east-1这是最稳的区域Claude 系列基本都在模型 alias 更新也最及时。如果你在别的区域先去 Bedrock 的模型目录里搜一下 Claude看得到且能打开 Playground才算可用。2.3 用 TaoToken 统一管理多工具接入凭证到这一步你手里会开始出现多套凭证AWS 的 Access Key、Bedrock 的 Bearer Token可能还有别的工具的 Key。团队里一旦超过两个人用就会出现“谁的 Key 在哪台机器上”的混乱。我的做法是用 TaoToken 做统一入口把模型调用通道和 Key 管理收拢到一处。TaoToken 官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。它的定位是统一 Key/API 通道让你在 Claude Code、Bedrock 以及其它工具之间用一套可控的接入方式而不是每个工具各配一套、各记一份。对于要长期维护 AI 接入层的团队这一点比单次跑通更值钱。具体操作上你可以先在 TaoToken 控制台创建 Key再把它作为统一凭证分发给不同工具。控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite Key 管理在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。这样 Claude Code 走 Bedrock 时凭证来源清晰、可轮换、可回收不会出现某台机器上还留着离职同事的旧 Key。3. 可复制的 AWS 凭证与 Claude Code 配置这一节是全文最该抄的部分。Claude Code 不认 Anthropic 登录它走的是 AWS SDK 默认凭证链。也就是说只要你的环境里有一套 AWS 能识别的凭证Claude Code 就能用。下面给几种方式按你的场景选一种即可。3.1 方式一aws configure最直接aws configure执行后依次填入 Access Key、Secret Key、默认 Region可以填us-east-1也可以后面单独设。这种方式会把凭证写到~/.aws/credentialsClaude Code 通过默认凭证链自动读取。3.2 方式二环境变量最快export AWS_ACCESS_KEY_ID你的AK export AWS_SECRET_ACCESS_KEY你的SK export AWS_REGIONus-east-1环境变量的好处是临时、干净适合快速验证。缺点是换个终端就没了长期用建议写进 shell 配置或密钥管理工具。3.3 方式三SSO公司环境推荐aws sso login --profilemyprofile export AWS_PROFILEmyprofile export AWS_REGIONus-east-1SSO 适合企业账号凭证短期有效、自动轮换安全性比长期 AK 高一个档次。3.4 方式四Bedrock API Key最快起飞export AWS_BEARER_TOKEN_BEDROCK你的APIKey export AWS_REGIONus-east-1这种方式适合快速验证链路不用配 AK/SK。注意它和上面的 AK/SK 方式不要混用选一种保持干净。3.5 让 Claude Code 走 Bedrock 的核心配置不管用哪种凭证方式让 Claude Code 切到 Bedrock 的核心就两个环境变量export CLAUDE_CODE_USE_BEDROCK1 export AWS_REGIONus-east-1这里有个极容易踩的坑AWS_REGION必须显式设置Claude Code 不会自动去读~/.aws/config里的 region。你只配了AWS_PROFILE而没配AWS_REGIONClaude Code 就是调不通报错还未必直说区域问题。如果你要把配置固化下来可以写一个settings.json片段路径按你的项目或用户级配置放{ env: { CLAUDE_CODE_USE_BEDROCK: 1, AWS_REGION: us-east-1, ANTHROPIC_DEFAULT_SONNET_MODEL: us.anthropic.claude-sonnet-4-6 } }固定模型 ID 的好处是避免 alias 自动升级导致某天突然不可用。Bedrock 的模型 alias 会更新写死版本号能让你在升级前有准备。3.6 安装 Claude Codecurl -fsSL https://claude.ai/install.sh | bash安装完直接执行claude此时默认还是 Anthropic 登录模式。把上面的环境变量配好后再启动它才会走 Bedrock。4. 端到端验证一次请求确认链路真的通了配置写完不算通得有一次真实的端到端调用验证。进入任意项目目录执行claude如果一切正常你会看到两个明显信号不会弹出 Claude 登录流程请求直接走 Bedrock计费落在 AWS 账号上。这时候随便让它读一个文件、改一行代码观察是否有流式输出。4.1 用 AWS CLI 先验证凭证本身在启动 Claude Code 之前建议先用 AWS CLI 确认凭证和 Bedrock 权限是通的aws sts get-caller-identity这条命令返回你的账号 ID 和 ARN说明凭证链没问题。接着验证 Bedrock 模型列表aws bedrock list-inference-profiles --region us-east-1如果能看到 Claude 相关的 inference profile说明区域和权限都对。这一步能把“凭证问题”和“Claude Code 问题”提前分开省得后面瞎猜。4.2 用 TaoToken 模型对话做交叉验证如果你怀疑是模型侧的问题可以到 TaoToken 的模型对话页面单独发一次请求地址是 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 。这样能把“Claude Code 客户端配置”和“模型通道本身”两个变量拆开模型对话能通说明通道没问题问题在 Claude Code 配置模型对话也不通说明凭证或权限还没到位。4.3 观察请求走向验证成功时Claude Code 的请求不会走 Anthropic 直连而是走 AWS 的 Bedrock 端点。你可以在 AWS 的 CloudTrail 或 Bedrock 的调用日志里看到对应的InvokeModel记录。看到这条记录基本可以确认整条链路打通了。5. 常见报错排查401、local proxy failed、reading choices这一节按真实报错来对。下面这些错我都见过逐个说根因和解法。5.1 401 与凭证无效报401或Unauthorized九成是凭证问题。先跑aws sts get-caller-identity如果这条也失败说明 AK/SK 或 SSO 本身有问题跟 Claude Code 无关。如果这条成功但 Claude Code 还 401检查是不是同时配了多套凭证导致冲突比如环境变量里有一套、~/.aws/credentials里又有一套SDK 取值优先级和你以为的不一样。5.2 local proxy failed报local proxy failed通常和网络出口或代理配置有关。检查你的环境变量里有没有残留的HTTP_PROXY、HTTPS_PROXY这些会干扰 AWS SDK 的请求。清掉它们再试unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy另外确认AWS_REGION已显式设置区域缺失时某些 SDK 会走到奇怪的默认端点表现就像代理失败。5.3 reading choices 报错报reading choices或解析响应失败多半是模型返回结构和你预期的不一致。常见原因是模型 ID 写错或 alias 失效Bedrock 返回了错误结构而不是正常的 choices。解法是固定模型 IDexport ANTHROPIC_DEFAULT_SONNET_MODELus.anthropic.claude-sonnet-4-6然后确认这个模型 ID 在当前 Region 的list-inference-profiles里存在。5.4 OAuth 相关报错如果你看到 OAuth 或登录相关的报错说明 Claude Code 还在走 Anthropic 登录模式CLAUDE_CODE_USE_BEDROCK1没生效。检查这个变量是不是在当前 shell 里或者有没有被settings.json覆盖。用echo $CLAUDE_CODE_USE_BEDROCK确认值是1。5.5 IAM 权限不够Bedrock 调用至少需要这三个权限{ Effect: Allow, Action: [ bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream, bedrock:ListInferenceProfiles ], Resource: * }少了InvokeModelWithResponseStream流式输出会断少了ListInferenceProfiles模型发现会失败。把这段加到对应 IAM 策略里再试。5.6 模型突然不可用昨天还能用今天报模型不存在基本是 alias 升级了。Bedrock 的模型 alias 会滚动更新写死版本号能避免这种“半夜挂掉”。这也是前面settings.json里固定ANTHROPIC_DEFAULT_SONNET_MODEL的原因。6. 把接入凭证收拢到统一通道跑通一次不难难的是长期维护。Claude Code 走 Bedrock 之后你的认证走 AWS、计费走 AWS、模型切换也走 AWS整个体系开始向企业级统一 AI 接入层靠拢。这时候凭证管理就成了核心问题谁在用、用哪套、怎么轮换、怎么回收。我的建议是把长期编码和 Agent 场景的接入统一到 TaoToken 的 Coding Plan地址是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。这样 Claude Code、Bedrock 以及其它编码工具的接入方式收敛到一套通道换工具不用重配一遍凭证。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有各工具的配置示例照着改 Base URL、Key、Model ID 三件套即可。如果你用的是 Claude Code 的 Anthropic 兼容接入方式可以参考 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude-code-anthropicutm_campaignrewrite 里的配置说明。核心还是那三件套Base URL 指向统一通道、Key 用 TaoToken 创建的、Model ID 写死版本号。把这三样固定下来团队里任何人换机器、换工具配置都能复用。最后给一个实用技巧把 AWS 凭证和 TaoToken Key 都放进密钥管理工具不要硬编码在脚本里。环境变量模板可以提交到仓库但值走本地注入。这样既方便新人上手又不会把凭证泄露出去。整条链路跑通之后你真正得到的不只是“Claude Code 能用 Bedrock”而是一套可维护、可轮换、可审计的 AI 接入方式。
返回列表