过去要在 AWS 上用 Claude,你得走 Amazon Bedrock 的通道——模型选择、API 格式、功能边界都受 Bedrock 的封装约束。现在有了另一条路:Anthropic 把自己的原生 Claude Platform 直接搬进了 AWS,你用 AWS 账号登录、用 AWS 贃单付费,拿到的是和 Anthropic 官网一模一样的平台体验,不需要再单独注册 Anthropic 账号、签合同、管一套新的凭证。
AWS 是第一个提供这种"原生平台嵌入"的云厂商。下面拆解一下它怎么运作,以及怎么上手。
两条路径的区别
在 AWS 上调用 Claude,目前有两条路:
| Amazon Bedrock | Claude Platform on AWS | |
|---|---|---|
| API 格式 | Bedrock Converse API(AWS 封装) | Anthropic Messages API(原生) |
| 模型版本 | Bedrock 发布节奏,可能滞后 | 与 Anthropic 官网同步 |
| 账号体系 | IAM + Bedrock 权限 | AWS 账号直接映射,无需 Anthropic 凭证 |
| 计费 | Bedrock 定价 | Anthropic 原生定价,走 AWS 账单 |
| 功能 | Bedrock 支持的子集 | 完整原生功能(Tool Use、缓存、扩展上下文等) |
核心差异在 API 格式和功能完整性。如果你之前在 Bedrock 上遇到过"Anthropic 文档里写了某个参数但 Bedrock 不支持"的情况,Claude Platform on AWS 能消除这个落差。
认证与计费:零额外摩擦
Claude Platform on AWS 的认证模型很直接:
- 登录:通过 AWS Identity Center(原 SSO)跳转,用你现有的 AWS 账号身份进入 Claude Platform 控制台。
- API 调用:不再需要 Anthropic API Key,而是通过 AWS IAM 签名请求来鉴权。
- 计费:所有用量合并到你的 AWS 账单,没有 Anthropic 侧的独立账单和合同。
这对企业用户尤其关键——安全团队不用审批一个新的第三方凭证,采购不用签一份额外的合同,费用统一归集到已有的 AWS 成本体系里。
实操:用 AWS IAM 签名调用 Messages API
下面是一个可以直接跑的 Python 示例,展示如何用 AWS IAM 签名(SigV4)替代 Anthropic API Key 来调用 Claude Platform on AWS 的原生 Messages API。
前提:你已在 AWS 控制台启用了 Claude Platform on AWS,本地配置了 AWS CLI 凭证(
aws configure或环境变量),且安装了boto3和requests。
import boto3
import requests
import json
from botocore.auth import SigV4Auth
from botocore.awsrequest import AWSRequest
# ── 配置 ──
REGION = "us-east-1" # Claude Platform on AWS 当前可用区域
SERVICE = "anthropic" # SigV4 签名的服务名
ENDPOINT = f"https://api.anthropic.{REGION}.aws.anthropic.com/v1/messages"
MODEL = "claude-sonnet-4-20250514"
# ── 构造请求体(原生 Messages API 格式) ──
body = {
"model": MODEL,
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "用三句话解释 Kubernetes Operator 模式的核心思想。"}
]
}
# ── 用 AWS IAM 凭证做 SigV4 签名 ──
session = boto3.Session() # 自动读取 ~/.aws/credentials 或环境变量
credentials = session.get_credentials()
credentials = credentials.get_frozen_credentials()
request = AWSRequest(method="POST", url=ENDPOINT, data=json.dumps(body))
request.headers["Content-Type"] = "application/json"
request.headers["anthropic-version"] = "2023-06-01" # Anthropic API 版本头
SigV4Auth(credentials, SERVICE, REGION).sign(request)
# ── 发送请求 ──
resp = requests.request(
method=request.method,
url=request.url,
headers=dict(request.headers),
data=request.body,
)
result = resp.json()
print(result["content"][0]["text"])
运行前确认几件事:
SERVICE名称——目前 Anthropic 文档标注为anthropic,如果签名报错,检查 AWS 控制台的服务注册名是否不同,做对应替换。ENDPOINT域名——区域后缀可能随 AWS 扩展区域而变化,以控制台显示的为准。- IAM 策略——你的 IAM 用户/角色需要被授予
anthropic:InvokeModel或类似权限(具体策略名以官方文档为准),否则签名通过但请求会被拒绝。
控制台体验:不只是 API
Claude Platform on AWS 不只暴露 API,还把 Anthropic 原生的 Web 控制台搬了过来:
- Projects:按项目组织 Prompt、Knowledge 和对话历史,团队协作时不用在聊天列表里翻找。
- Prompt Generator:描述任务目标,让 Claude 帮你写 Prompt,再迭代打磨。
- Tool Use 测试台:在控制台里直接调试工具调用流程,不用先写代码。
- Evaluation:批量跑评测集,对比不同 Prompt 或模型版本的输出质量。
这些功能在 Bedrock 的 Claude 体验里要么缺失,要么需要跳转到 Anthropic 官网——现在全部在 AWS 账号体系内完成。
上手清单与注意事项
如果你已经在用 Bedrock 上的 Claude,想试试原生平台路径,可以按这个清单走:
- 确认区域:Claude Platform on AWS 首批可用区域有限(当前为
us-east-1),检查你的工作区域是否覆盖。 - 启用服务:在 AWS 控制台搜索 "Claude Platform on AWS",按引导开通。开通后 IAM 用户即可访问控制台和 API。
- 迁移 API 调用:把 Bedrock Converse API 的请求体改写为 Anthropic Messages API 格式,认证方式从 Bedrock IAM 改为 SigV4 签名直调。参数结构差异不大,但 Tool Use、缓存等高级功能的参数写法需要对照 Anthropic 原生文档。
- 成本对比:Anthropic 原生定价与 Bedrock 定价不完全一致,迁移前做一次小规模成本测算。
- 合规确认:数据驻留和加密策略与 Bedrock 可能不同,安全团队需要重新评估。
风险边界:Claude Platform on AWS 刚 GA,功能迭代节奏快,API 端点和 IAM 策略名可能在未来几周内有调整。生产环境迁移建议先在非核心流量上灰度验证。
一条新路径的意义不只是"多一个选择"——它意味着你终于可以在 AWS 的采购和安全框架内,拿到 Anthropic 最完整、最新的平台能力,不再被中间封装层截断功能。如果你之前在 Bedrock 上卡过功能边界,现在值得花半小时跑一下上面的脚本,感受原生 API 的完整度。