Claude Platform on AWS 实战:用 AWS 账号直接跑 Anthropic 原生平台,IAM 认证 + 统一计费

事情是这样的

上周老板扔过来一句话:"咱们能不能直接用 Claude 的原生平台?Bedrock 挺好,但有些功能只有原生平台才有。"

我当时想,这不就是得另外注册个 Anthropic 账号嘛?又多一套认证体系、又多一份账单。光是找财务报销就够折腾的。

结果翻了一圈发现——5 月 11 号,Anthropic 和亚马逊云科技一起发了个东西叫 Claude Platform on AWS。简单说:用你现有的 AWS 账号,直接接入 Anthropic 的原生 Claude 平台。IAM 认证、CloudTrail 审计、Marketplace 统一计费,全套打通了。

折腾了两天跑通了,记录一下。

这东西到底是什么

Claude Platform on AWS 不是 Bedrock 的一个新功能,它是 Anthropic 的原生平台。区别在哪?

Bedrock 里的 Claude:通过 Bedrock API 调用 Claude 模型,受 Bedrock 的功能框架约束。

Claude Platform on AWS:直接用 Anthropic 的原生平台,所有 Anthropic 的功能你都能用——Messages API、Managed Agents、MCP Connector、Agent Skills、Code Execution、Files API。

而且认证走 AWS IAM,账单走 AWS Marketplace,CloudTrail 自动记录所有 API 调用。对企业来说,不用额外搞一套身份管理和费用审批流程。

支持 17 个 Region,覆盖面够广。

第一步:创建 Workspace

先说结论:整个流程没我想的那么复杂,但有几个地方容易踩坑。

登录 AWS 控制台,搜 "Claude Platform",进去之后创建 Workspace。这一步比较直观:

  1. 打开 Claude Platform 控制台
  2. 点击 "Create workspace"
  3. 填 workspace 名称
  4. 选择 Region
  5. 确认 Marketplace 订阅

坑 1:创建 workspace 的 IAM 用户/角色需要有 Marketplace 订阅权限。我第一次用的角色没有这个权限,卡了半小时才发现。

Workspace 创建好之后会拿到一个 workspace_id,后面 API 调用都要用到。

第二步:配置认证

Claude Platform on AWS 支持两种认证方式:

方式一:IAM 认证(推荐)

企业场景建议用 IAM 认证。原理是通过 SigV4 签名调用 API,跟你调其他 AWS 服务一样。

需要给 IAM 用户/角色加上对应的权限策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "claude-platform:InvokeModel",
        "claude-platform:ListWorkspaces"
      ],
      "Resource": "arn:aws:claude-platform:us-east-1:123456789012:workspace/your-workspace-id"
    }
  ]
}

方式二:API Key 认证

如果你就想快速跑个 demo,也可以在 workspace 里生成 API Key,跟用普通 REST API 一样。

export ANTHROPIC_API_KEY="your-api-key-here"
export ANTHROPIC_WORKSPACE_ID="your-workspace-id"

坑 2:API Key 方式虽然简单,但没有细粒度权限控制。正式环境还是走 IAM。

第三步:用 Python SDK 调用

先装 SDK:

pip install anthropic

基本调用:

import anthropic

client = anthropic.Anthropic(
    api_key="your-api-key",
)

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "用 Python 写一个快速排序"}
    ]
)

print(message.content[0].text)

如果用 IAM 认证,需要配合 AWS SDK 做 SigV4 签名:

import anthropic
import boto3

session = boto3.Session(region_name="us-east-1")

client = anthropic.AnthropicBedrock(
    aws_session=session,
)

# 指定 workspace
message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "解释一下 Python GIL 的原理"}
    ],
)

print(message.content[0].text)

跑通这一步大概用了 20 分钟。主要时间花在检查 IAM 权限上。

核心功能拆解

跑通基本调用之后,说说 Claude Platform 上那些 Bedrock 没有的功能。

1. Managed Agents

这个比较重要。Anthropic 原生的 Agent 框架,支持多步推理、工具调用、自主决策。

# 创建一个能调用工具的 Agent
agent = client.agents.create(
    name="data-analyst",
    model="claude-sonnet-4-20250514",
    instructions="你是一个数据分析助手,帮用户分析数据集。",
    tools=[
        {
            "type": "code_execution"
        }
    ]
)

2. MCP Connector

Model Context Protocol 连接器——可以让 Claude 直接连接外部数据源和工具。

比如你有个内部 API,通过 MCP Server 暴露出去,Claude 就能直接调用,不用你写胶水代码。

3. Code Execution

Claude 可以在沙箱环境里直接跑代码。这对数据分析场景很实用:

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=4096,
    tools=[
        {
            "type": "code_execution"
        }
    ],
    messages=[
        {
            "role": "user",
            "content": "帮我生成 100 个随机数,画个直方图,计算均值和标准差"
        }
    ]
)

Claude 会自己写 Python 代码、执行、返回结果。不用你搭 Jupyter 环境。

4. Files API

可以上传文件让 Claude 分析。支持 PDF、图片、CSV 等格式:

# 上传文件
uploaded_file = client.files.create(
    file=open("report.pdf", "rb"),
    purpose="assistants"
)

# 在对话中引用
message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=2048,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "file",
                    "file_id": uploaded_file.id
                },
                {
                    "type": "text",
                    "text": "总结这份报告的核心发现"
                }
            ]
        }
    ]
)

把 Claude Code 指向 Workspace

这个功能让我眼前一亮。如果你在用 Claude Code(Anthropic 的 AI 编程工具),可以直接指向你的 AWS workspace:

# 配置 Claude Code 使用 AWS workspace
claude config set workspace_id your-workspace-id
claude config set auth_mode aws_iam

这样 Claude Code 的所有调用都走你的 AWS 账号,统一计费、统一审计。团队里每个开发者用 Claude Code,账单都汇到同一个 AWS 账户下。

Claude Cowork 也是同理。

安全和合规

对企业来说这块比较重要:

  • IAM 认证:复用现有的 AWS 身份管理体系
  • CloudTrail 审计:每一次 API 调用都有记录,谁在什么时候调了什么模型、输入输出是什么
  • Marketplace 计费:不用单独走采购流程,AWS 账单统一结算
  • 数据驻留:17 个 Region 可选,满足不同地区的数据合规要求

踩的几个坑

  1. Marketplace 订阅:创建 workspace 前必须先完成 Marketplace 订阅,否则创建会失败。错误信息不太明显,排查了一会儿。

  2. Region 选择:不是所有 Region 都支持所有模型。建议先看文档确认你要用的模型在哪些 Region 可用。

  3. 权限最小化:别图省事给 * 权限。Claude Platform 的 IAM Action 列表不长,老老实实按需配置。

  4. API Key 轮换:如果用 API Key 方式,记得设置定期轮换。控制台里有过期时间设置。

适用场景

什么时候该用 Claude Platform on AWS,什么时候继续用 Bedrock?

用 Claude Platform on AWS

  • 需要 Managed Agents、MCP Connector 这些原生功能
  • 团队已经在用 Claude Code/Cowork,想统一管理
  • 需要 Files API 做文档分析
  • 想用 Code Execution 做数据处理

继续用 Bedrock

  • 需要在多个模型之间切换(Bedrock 支持多家模型)
  • 已有大量基于 Bedrock API 的代码
  • 需要 Bedrock 特有的功能(如 Guardrails、Knowledge Bases)

两者不冲突,可以并行用。

参考链接

搞完之后我的感受是:对于重度使用 Claude 全家桶的团队来说,这个方案确实省事。一套 AWS 账号管到底,不用再维护额外的认证体系和费用流程。折腾两天,值了。

posted @ 2026-05-18 09:08  亚马逊云开发者  阅读(57)  评论(0)    收藏  举报