随着 Claude Opus 4.6 和 Sonnet 4.6 相继在 Amazon Bedrock 上线,越来越多的国内企业希望将 Claude 集成到内部业务系统中。然而 Anthropic 官方 API 在中国大陆无法直接访问,企业还面临安全合规、权限管控、成本可视化等挑战。本文将先梳理三种主流接入方案,然后重点介绍如何通过 AWS Bedrock + Bedrock Access Gateway(BAG)+ Systems Manager(SSM)构建安全可控的企业内部 AI 服务平台。
三种接入方案对比
目前国内开发者调用 Claude API 主要有三条路径:
方案一:自建代理服务器
在海外(如美西、日本、新加坡)部署一台代理服务器,将请求转发到 Anthropic 官方 API。
- 延迟:300–800ms(取决于代理服务器位置和线路质量)
- 优点:完全自主可控,无第三方中间商
- 缺点:需要自行维护服务器可用性,仅支持 Claude 模型,运维成本较高
- 适合:有海外服务器资源和运维能力的团队
方案二:API 聚合平台
通过国内第三方 API 中转平台(如 apiyi 等)接入,这些平台通常在阿里云或火山云部署了国内节点。
- 延迟:100–300ms(国内节点,首字节响应快)
- 优点:修改
base_url即可复用 OpenAI SDK,支持 Claude、GPT、Gemini 等 100+ 模型 - 缺点:依赖第三方平台的稳定性和安全性,数据经过中间商
- 适合:快速验证原型、个人开发者、对成本敏感的团队
方案三:AWS Bedrock(推荐企业方案)
通过 Amazon Bedrock 托管服务调用 Claude,享受 AWS 基础设施的 SLA 保障。
- 延迟:200–500ms
- 优点:企业级 SLA、支持 IAM 权限管控、CloudTrail 审计、跨区域推理(CRIS)
- 缺点:需要 AWS 账号和一定的云服务经验,模型 ID 格式与官方 SDK 不同
- 适合:已有 AWS 基础设施的企业、对安全合规有要求的团队
| 维度 | 自建代理 | API 聚合平台 | AWS Bedrock |
|---|---|---|---|
| 延迟 | 300–800ms | 100–300ms | 200–500ms |
| 安全性 | 自主可控 | 依赖第三方 | AWS 企业级 |
| 多模型支持 | 仅 Claude | 100+ 模型 | AWS 上所有模型 |
| 运维成本 | 高 | 低 | 中 |
| 合规性 | 无保障 | 无保障 | CloudTrail + IAM |
AWS Bedrock 接入完整步骤
以下以 AWS Bedrock 为例,详细讲解从零开始配置 Claude 的全流程。
步骤 1:注册 AWS 账号并配置 CLI
首先确保拥有 AWS 账号,然后安装并配置 AWS CLI(版本 ≥ 2.13.23):
# 安装 AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install
# 配置凭证
aws configure
# 验证身份
aws sts get-caller-identity
步骤 2:申请 Anthropic 模型访问权限
登录 AWS 控制台 → Bedrock → Model access,找到 Anthropic 模型并提交访问申请。需要注意的是,不同 Region 需要分别申请权限。
推荐使用 us-west-2(俄勒冈)区域,模型支持最全。
步骤 3:安装 SDK 并编写代码
Anthropic 官方 SDK 原生支持 Bedrock,无需额外适配层:
Python 方案(推荐):
pip install -U "anthropic[bedrock]"
from anthropic import AnthropicBedrock
client = AnthropicBedrock(
aws_region="us-west-2",
# 使用默认 AWS 凭证链(~/.aws/credentials 或环境变量)
)
message = client.messages.create(
model="global.anthropic.claude-opus-4-6-v1",
max_tokens=1024,
messages=[{"role": "user", "content": "你好,请用中文介绍一下你自己"}],
)
print(message.content)
TypeScript 方案:
npm install @anthropic-ai/bedrock-sdk
import AnthropicBedrock from '@anthropic-ai/bedrock-sdk';
const client = new AnthropicBedrock({
awsRegion: 'us-west-2',
});
const message = await client.messages.create({
model: 'global.anthropic.claude-opus-4-6-v1',
max_tokens: 1024,
messages: [{ role: 'user', content: '你好,请用中文介绍一下你自己' }],
});
console.log(message);
Boto3 方案(适合已有 AWS 基础设施的团队):
import boto3
import json
bedrock = boto3.client(service_name="bedrock-runtime", region_name="us-west-2")
body = json.dumps({
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好,请用中文介绍一下你自己"}],
"anthropic_version": "bedrock-2023-05-31",
})
response = bedrock.invoke_model(
body=body,
modelId="global.anthropic.claude-opus-4-6-v1",
)
result = json.loads(response["body"].read())
print(result["content"])
模型选择与定价

2026 年 2 月,Claude Opus 4.6 和 Sonnet 4.6 先后在 Bedrock 上线,以下是当前可用模型及定价:
| 模型 | Bedrock 模型 ID | 输入价格 | 输出价格 | 上下文窗口 |
|---|---|---|---|---|
| Claude Opus 4.6 | anthropic.claude-opus-4-6-v1 |
$5/百万 token | $25/百万 token | 1M |
| Claude Sonnet 4.6 | anthropic.claude-sonnet-4-6 |
$3/百万 token | $15/百万 token | 1M |
| Claude Haiku 4.5 | anthropic.claude-haiku-4-5-20251001-v1:0 |
$1/百万 token | $5/百万 token | 200K |
选型建议:
- Opus 4.6:复杂推理、代码生成、企业级 Agent 工作流
- Sonnet 4.6:日常编码、对话、搜索场景的性价比之选(SWE-bench 79.6%)
- Haiku 4.5:高吞吐量分类、摘要、轻量级任务
全局端点 vs 区域端点
从 Claude Sonnet 4.5 起,Bedrock 提供两种端点:
- 全局端点(
global.前缀):动态路由,最大可用性,无价格溢价,推荐大多数场景 - 区域端点(
us./eu./jp.前缀):数据驻留合规,10% 价格溢价
国内开发者如果对数据驻留无特殊要求,建议使用全局端点以获得最佳可用性。
企业重点方案:Bedrock + BAG + SSM 内部 AI 服务平台
对于企业用户,仅仅能"调用 Claude API"是不够的。企业需要的是一个统一的 AI 服务平台:兼容现有技术栈、集中管控权限、审计所有调用记录、支持多团队共享。这正是 Bedrock Access Gateway(BAG) 的价值所在。
什么是 Bedrock Access Gateway(BAG)
BAG 是 AWS 官方开源的代理网关(aws-samples/bedrock-access-gateway),核心功能是将 Amazon Bedrock 的 API 转换为 OpenAI 兼容格式。这意味着:
- 所有使用 OpenAI SDK 的现有应用,只需修改
base_url和 API Key,即可无缝切换到 Bedrock 上的 Claude 模型 - 支持 LangChain、LlamaIndex 等主流框架的
ChatOpenAI接口,零代码改动 - 同时兼容 Claude、Amazon Nova、DeepSeek、Qwen 等 Bedrock 上的所有模型
支持的核心特性:
| 功能 | 说明 |
|---|---|
| 流式响应(SSE) | 支持 Server-Sent Events 实时输出 |
| 工具调用(Function Calling) | 完整支持 OpenAI 格式的 tool_calls |
| 多模态输入 | 图片、PDF 等多模态内容 |
| 跨区域推理 | 自动利用 Bedrock 全局端点 |
| Prompt 缓存 | 降低高达 90% 的重复请求成本 |
| 扩展思维模式 | 支持 Claude 的 extended thinking |
架构设计:Bedrock + BAG + SSM
企业内部 AI 服务平台的推荐架构如下:
三大核心组件的职责:
- Amazon Bedrock:提供 Claude 等基础模型的推理能力,企业级 SLA 保障
- BAG(Bedrock Access Gateway):OpenAI 兼容代理层,统一 API 入口,屏蔽底层模型差异
- SSM(Systems Manager):集中管理 API Key、模型配置、运维访问,所有操作可审计
部署方案选择
BAG 提供两种部署模式:
| 方案 | 架构 | 优势 | 适用场景 |
|---|---|---|---|
| API Gateway + Lambda | 无服务器 | 按请求计费,零运维,无需 VPC | 用量不大、成本敏感 |
| ALB + Fargate | 容器化 | 最低延迟,无冷启动,支持内网部署 | 生产环境、高吞吐、内网隔离 |
企业推荐使用 ALB + Fargate 方案,原因:
- ALB 可配置为内部负载均衡器,仅在 VPC 内可访问,天然网络隔离
- Fargate 无冷启动问题,P99 延迟更稳定
- 支持与企业现有的 VPC Peering / Transit Gateway 网络打通
部署步骤详解
步骤 1:创建 API Key(SSM Secrets Manager)
在 AWS Secrets Manager 中创建 BAG 的认证密钥,团队内部应用通过此 Key 访问网关:
# 创建 API Key(建议使用随机字符串)
aws secretsmanager create-secret \
--name "bedrock-access-gateway/api-key" \
--secret-string '{"api_key":"bag-sk-your-random-secret-key-here"}' \
--region us-west-2
步骤 2:构建并推送 BAG 容器镜像
# 克隆 BAG 仓库
git clone https://github.com/aws-samples/bedrock-access-gateway.git
cd bedrock-access-gateway
# 构建镜像并推送到 ECR
./scripts/push-image.sh
步骤 3:使用 CloudFormation 部署
# 部署 ALB + Fargate 方案(内网模式)
aws cloudformation deploy \
--template-file cloudformation/fargate.yaml \
--stack-name bedrock-access-gateway \
--parameter-overrides \
ApiKeySecretArn=arn:aws:secretsmanager:us-west-2:123456789:secret:bedrock-access-gateway/api-key \
ImageUri=123456789.dkr.ecr.us-west-2.amazonaws.com/bedrock-proxy:latest \
Scheme=internal \
--capabilities CAPABILITY_IAM \
--region us-west-2
关键参数 Scheme=internal 确保 ALB 仅在 VPC 内部可访问。
步骤 4:SSM Parameter Store 配置管理
使用 SSM Parameter Store 集中管理运行时配置,避免硬编码:
# 存储默认模型配置
aws ssm put-parameter \
--name "/bag/config/default-model" \
--value "anthropic.claude-sonnet-4-6" \
--type String
# 存储限流策略(SecureString 加密)
aws ssm put-parameter \
--name "/bag/config/rate-limit" \
--value '{"requests_per_minute": 100, "tokens_per_minute": 500000}' \
--type SecureString
# 存储团队级别的模型白名单
aws ssm put-parameter \
--name "/bag/config/allowed-models" \
--value "anthropic.claude-sonnet-4-6,anthropic.claude-haiku-4-5-20251001-v1:0" \
--type StringList
步骤 5:SSM Session Manager 安全运维
通过 SSM Session Manager 管理 BAG 服务,无需开放 SSH 端口,所有操作自动记录审计日志:
# 通过 SSM 连接到 Fargate 容器(无需 SSH)
aws ecs execute-command \
--cluster bag-cluster \
--task <task-id> \
--container bag-proxy \
--interactive \
--command "/bin/sh"
# 查看 BAG 运行状态
aws ssm start-session \
--target <instance-id> \
--document-name AWS-StartInteractiveCommand \
--parameters command="curl -s http://localhost:8000/health"
SSM 的所有会话都会记录到 CloudTrail,满足企业审计合规要求。
内部应用接入指南
BAG 部署完成后,内部应用接入极其简单——只需配置两个环境变量:
# 指向 BAG 内部负载均衡器地址
export OPENAI_BASE_URL=http://bag-internal-alb.internal:8000/api/v1
export OPENAI_API_KEY=bag-sk-your-random-secret-key-here
Python 应用(OpenAI SDK):
from openai import OpenAI
# 无需修改任何业务代码,SDK 自动读取环境变量
client = OpenAI()
response = client.chat.completions.create(
model="anthropic.claude-sonnet-4-6",
messages=[{"role": "user", "content": "分析这份季度报告的关键指标"}],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta.content or "", end="")
LangChain 集成:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="anthropic.claude-sonnet-4-6",
base_url="http://bag-internal-alb.internal:8000/api/v1",
api_key="bag-sk-your-random-secret-key-here",
)
response = llm.invoke("总结这篇文档的核心观点")
Prompt 缓存(降低高达 90% 成本):
# 对系统提示词启用缓存,重复调用时大幅降低费用
response = client.chat.completions.create(
model="anthropic.claude-sonnet-4-6",
messages=[
{"role": "system", "content": "你是企业内部的财务分析助手...(长系统提示词)"},
{"role": "user", "content": "分析 Q1 营收数据"},
],
extra_body={"prompt_caching": {"system": True}},
)
企业安全与合规保障
Bedrock + BAG + SSM 的组合为企业提供了多层安全保障:
| 层级 | 组件 | 安全能力 |
|---|---|---|
| 网络层 | VPC + 内部 ALB | 服务不暴露公网,仅 VPC 内可访问 |
| 认证层 | Secrets Manager + API Key | 集中密钥管理,定期轮换 |
| 权限层 | IAM Policy | 精细控制哪些角色可调用哪些模型 |
| 配置层 | SSM Parameter Store | 运行时配置集中管理,SecureString 加密敏感数据 |
| 运维层 | SSM Session Manager | 无 SSH 端口,所有操作可审计 |
| 审计层 | CloudTrail + CloudWatch | 全量 API 调用日志,异常告警 |
| 成本层 | AWS Budgets + 标签 | 按团队/项目分摊成本,预算超限告警 |
Claude Code 配合 BAG 使用
企业开发团队可以让 Claude Code 通过 BAG 网关调用 Bedrock,获得统一的审计和管控:
# 方式一:直接使用 Bedrock(需要每个开发者配置 AWS 凭证)
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-west-2
# 方式二:通过 BAG 网关(推荐,统一入口、统一审计)
export ANTHROPIC_BASE_URL=http://bag-internal-alb.internal:8000/api/v1
export ANTHROPIC_API_KEY=bag-sk-your-random-secret-key-here
方式二的优势是开发者无需持有 AWS 凭证,所有调用通过 BAG 统一代理,便于企业集中管理。
跨区域推理与亚太扩展
2026 年初,AWS 将全球跨区域推理(Global CRIS)扩展到了更多亚太地区,包括泰国、马来西亚、新加坡、印度尼西亚和台湾地区。BAG 天然支持跨区域推理——只需在模型 ID 中使用 global. 前缀即可自动路由到最近可用区域。
对于中国大陆企业,推荐的网络优化方案:
- AWS 全球账号 + 东京/新加坡区域:选择
ap-northeast-1或ap-southeast-1部署 BAG - 专线/VPN 连接:通过 AWS Direct Connect 或 Site-to-Site VPN 建立到 BAG 的专线,确保稳定低延迟
- VPC Peering / Transit Gateway:将企业 VPC 与 BAG 所在 VPC 打通,内网直连
实战技巧与注意事项
常见问题排查
- AccessDeniedException:确认已在对应 Region 申请模型权限,检查 BAG 的 IAM Role 是否包含
bedrock:InvokeModel权限 - ThrottlingException:检查账号配额限制,必要时申请提升;BAG 侧可通过 SSM Parameter Store 配置限流
- 连接超时:检查 VPC 安全组规则,确认 ALB 目标组健康检查正常
- 冷启动延迟:如使用 Lambda 方案,可配置预置并发;推荐生产环境使用 Fargate 方案
成本控制建议
- 使用全局端点避免区域溢价(10%)
- 启用 BAG 的 Prompt 缓存功能,对重复系统提示词降低高达 90% 成本
- 对非实时任务使用 Haiku 4.5 降低成本
- 利用 Batch API 批量处理,享受 50% 折扣
- 通过 AWS Cost Explorer + 资源标签,按团队/项目维度分析 AI 用量
- 设置 AWS Budgets 告警,防止预算超支
总结
对于中国企业而言,Bedrock + BAG + SSM 是目前构建内部 AI 服务平台的最佳实践组合:
- Bedrock 提供企业级 SLA 和最新的 Claude 4.6 系列模型
- BAG 提供 OpenAI 兼容的统一 API 入口,现有应用零改动接入
- SSM 提供集中配置管理、安全运维和全量审计能力
这套架构的核心优势在于:内部应用无需关心底层模型差异,开发者无需持有 AWS 凭证,所有 AI 调用经过统一网关、统一审计、统一计费。随着 Claude 4.6 系列模型上线和亚太区域的持续扩展,企业通过这套方案可以快速、安全地将 AI 能力赋能到各个业务线。
评论