最新n1n v2.0.1 正式上线!企业级大模型接口聚合平台 (LLM API Gateway),为您接入 500+ AI Models,价格低至 1 折,立即尝试

在 Amazon ECS 与 Amazon Bedrock 上部署 LiteLLM 并配置 OpenAI ChatGPT Codex

作者
  • avatar
    姓名
    Nino
    职业
    Senior Tech Editor

将 OpenAI ChatGPT Codex、Cursor 或自定义 IDE 编程插件等 AI 辅助开发工具引入企业软件工程流程时,IT 与安全部门面临着严峻的治理挑战。企业既要确保核心代码不出私有网络,又需要对各研发团队的 API 使用量进行精细化成本核算,同时建立高可用的服务冗余机制。

虽然直接使用 SaaS 服务的 API 接口简单快捷,但企业级架构往往更青睐自建网关服务。通过在 Amazon ECS(AWS Fargate)上部署开源 LiteLLM Proxy 网关,并将其对接至 Amazon Bedrock 上托管的基础模型,企业能够构建出一个完全兼容 OpenAI REST API 规范的私有化代理层,无缝实现动态鉴权、作用域身份划分、速率限制(Rate Limits)、 Token 预算管理以及统一指标监控。

本文将详细介绍如何在 AWS Fargate 上部署 LiteLLM 网关、映射 Amazon Bedrock 模型至 OpenAI 接口、配置 ChatGPT Codex 客户端,并探讨如何通过托管式方案与 n1n.ai 等大模型 API 聚合服务提升整体系统的可靠性与扩展能力。


总体架构设计

本架构方案将前端开发客户端(如 ChatGPT Codex、Cursor 及 IDE 插件)与底层的大模型服务商解耦:

[ 开发者终端 / Codex 插件 ]
             (OpenAI 兼容协议 / TLS)
[ AWS Application Load Balancer (ALB) ]
[ Amazon ECS (AWS Fargate 容器任务) ]
   ├── LiteLLM Proxy 容器
   └── PostgreSQL 数据库 (用于虚拟密钥存储与审计日志)
            ├──> [ Amazon Bedrock ] (通过 IAM 鉴权调用 Bedrock 模型)
            └──> [ 备用 API 网关如 n1n.ai ] (实现跨云与跨区域冗余)

在整个数据流中:

  1. 开发者客户端与 Codex 插件 发起符合 OpenAI 标准格式的 API 请求(如 /v1/chat/completions)。
  2. AWS 负载均衡器(ALB) 完成 TLS 卸载,并将流量转发至私有子网中的 Fargate 容器。
  3. LiteLLM 网关 负责验证开发者虚拟 API Key、校验 Token 预算上限、将 OpenAI 请求格式转译为 Amazon Bedrock 接口格式。
  4. Amazon Bedrock 接收经由 AWS IAM 授权的调用请求,执行 Anthropic Claude 3.5 Sonnet 或 Amazon Nova 等大模型的推理。
  5. 备用聚合网关(如 n1n.ai)可被配置在 LiteLLM 的路由策略中,当云厂商特定区域发生故障时自动触发降级与路由切换,确保开发工作流不中断。

架构选型对比分析

在规划企业内部 LLM 接入网关时,常见方案包含自建 LiteLLM、使用 AWS 基础架构直连、使用 Portkey 企业托管平台,以及接入 n1n.ai 聚合 API 服务。各方案的特性对比表如下:

评估维度自建 LiteLLM (Amazon ECS)AWS IAM Identity Center 直连Portkey 企业托管平台统一 API 聚合服务 (n1n.ai)
OpenAI 协议兼容性原生支持(代理自动转译)不支持(须集成 AWS SDK)原生支持(云端转译)原生支持(100% 无缝替换)
运维复杂度中等(容器及 DB 维护)低(纯 Serverless 模式)极低(SaaS 托管)零运维(直接调用端点)
Token 预算控制支持(基于 PostgreSQL 数据库)需二次开发控制逻辑提供可视化控制面板原生支持配额与密钥管理
数据合规性严格限制在企业私有 VPC 内严格限制在企业私有 VPC 内混合模式(SaaS 控制平面)可配置合规路由节点
多厂商故障转移需要在 YAML 中手动配置需开发 Lambda 路由机制支持在线路由策略配置原生内置零延迟自动故障转移
代理开销延迟< 15ms0ms(无额外代理)< 25ms极低延迟(边缘网络优化)

第一步:配置 LiteLLM 核心规则

LiteLLM 需要通过一个 config.yaml 配置文件来定义模型映射规则、故障转移策略、数据库连接与安全策略。

编写如下部署配置文件(config.yaml):

model_list:
  # 将 Codex 默认使用的 OpenAI 模型名映射至 Amazon Bedrock
  - model_name: gpt-4
    litellm_params:
      model: bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0
      aws_region_name: us-east-1
      max_tokens: 4096

  - model_name: gpt-3.5-turbo
    litellm_params:
      model: bedrock/amazon.nova-micro-v1:0
      aws_region_name: us-east-1

  # 配置备用降级节点 (利用 n1n.ai 作为高可用保障)
  - model_name: gpt-4-fallback
    litellm_params:
      model: openai/gpt-4o
      api_base: https://api.n1n.ai/v1
      api_key: os.environ/N1N_API_KEY

router_settings:
  routing_strategy: usage-based-routing-v2
  num_retries: 3
  timeout: 30
  fallbacks:
    - gpt-4: ["gpt-4-fallback"]

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY
  database_url: os.environ/DATABASE_URL
  store_model_in_db: true

litellm_settings:
  drop_params: true
  set_verbose: false

第二步:在 Amazon ECS Fargate 上部署服务

在 AWS Fargate 上运行 LiteLLM 可以摆脱服务器管理的负担,并具备弹性按需扩缩容能力。

1. 配置 Amazon Bedrock 调用 permissions

为 ECS Task Execution Role 赋予以下最小权限策略:

\{
  "Version": "2012-10-17