慣性聚合 関心のあるブログ、ニュース、テクノロジーを効率的に追跡
原文を読む 慣性聚合で開く

おすすめ購読元

Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
博客园 - 叶小钗
MyScale Blog
MyScale Blog
V
Visual Studio Blog
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
I
InfoQ
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
AWS Bedrock、Google Vertex AI、Gemini、Anthropic向けのOne AI Gateway
Kuldeep Paul · 2026-05-25 · via DEV Community

Bifrostは、AWS BedrockとGoogle Vertex AIを含むGeminiとAnthropicを、1つのOpenAI互換APIで接続し、共有認証、フェイルオーバー、ガバナンスを提供します。

企業のAIチームが一つのプロバイダから一つのモデルだけで運用するのは珍しい。ほとんどの企業の生産スタックは、こんな感じになることが多い:AWS BedrockでClaudeを一つのワークロードに、Google Vertex AIでGeminiを別のもう一つ、プロンプトキャッシングなどの機能にはネイティブのAnthropic API、そして低レイテンシーの消費者経路を直接動かすGoogle Gemini API。各プロバイダは独自のプロトコルを使い、独自の認証スキームを必要とし、独自のSDKを提供する。BifrostはこれらをすべてをAWS BedrockとGoogle Vertex AI、Google GeminiとAnthropicを前面に出すOpenAI互換のエンドポイントにまとめ、ゲートウェイ自体にフォールバック、負荷分散、ガバナンスが組み込まれている。

Bifrostは、Maxim AIによって構築されたオープンソースのAIゲートウェイで、1秒あたり5,000リクエストを実行し、各リクエストあたり11マイクロ秒の追加オーバーヘッドしかかかりません。また、1つのAPIを通じて20以上のLLMプロバイダーに接続します。このガイドでは、チームがBedrock、Vertex、Gemini、およびAnthropicをBifrostの背後に置く理由、各プロバイダーの設定手順、およびBifrostのルーティングレイヤーが複数のプロバイダーの負荷を信頼性の高いものに保つ方法について説明します。全体のオーバーヘッドプロファイルは、Bifrostののベンチマークを

公開しました なぜClaudeとGeminiは複数のクラウドにまたがるのか

AnthropicはClaudeをAWS BedrockGoogle Vertex AI、そして自社のネイティブAPIを通じて提供しています。GoogleはVertex AIと直接Gemini APIの両方でGeminiを提供しています 企業はこれらの表面の1つ以上で終わることが3つの繰り返しの理由で、すべて調達、遅延、能力に関連しています。

  • AWS Bedrockは、すでにAWS契約を持つチーム、AWS Organizationsを通じてアクセスを管理し、AWS地域に関連付けられたデータ驻在マッピングを持つチームにぴったり合います。
  • Google Vertex AIは、すでにGoogle Cloudで運用している組織や、Gemini、Claude、サードパーティモデルを統合した1つのコントロールプレーンを望むチームでよく勝っています。
  • ネイティブなAnthropic APIは、プロンプトキャッシングや最新のベータヘッダーなどの機能を提供し、これらは製品リリース後数週間や数ヶ月経つまでBedrockやVertexに到達しない場合があります。
  • ジェミニAPIはジェミニモデルへの最短の直接ルートを提供し、プロトタイピング中に役立つ寛大な無料トライアルが付属しています.

一旦作業がプロトタイピングから本番の規模に昇格すると、チームはほぼ常にこれらの表面の複数に依存します。実際の痛みは、それぞれがネイティブSDKを通じて操作されるときに現れます.

隔離して4つのプロバイダを管理するコスト

中間のゲートウェイがなければ、各プロバイダは自分自身の依存関係とコードパスを引き込む:

  • 一致しないSDKs:boto3Bedrockのために、Google Cloud SDK for Vertexgoogle-genaiジェミニ用に、そして直接APIアクセスのためのアンソプティックSDK。
  • 異なる認証モデル:Bedrock用IAM認証情報とSigV4署名、Vertex用OAuth2サービスアカウント、Gemini用APIキー、Anthropic用バーアクセストークン。
  • 異なるリクエスト形状:BedrockのConverse APIはAnthropicのMessages APIと一致せず、両者はVertexのgenerateContentエンドポイントとも一致しない。
  • 共通のフォールバックストーリーなし:BedrockのClaudeエンドポイントがレートリミットに達した場合、コードは予備としてAnthropicの直接APIに切り替える方法を知る必要があります
  • 分割された使用データ:各プロバイダはコストと消費を別々に報告するため、チーム間や最終顧客間のコスト配分が複雑になります。

OpenAI、Anthropic、Google Vertex AI、AWS Bedrockに分散している信頼性のある生産AIシステムは、直接のAPI呼び出しと手作りのリトライロジックに依存して維持できません。この問題を正確に解決することをBifrostが作られている理由です.

BifrostのBedrock、Vertex、Gemini、Anthropicを統合するアプローチ

Bifrostはアプリケーション層とこれらの4つのプロバイダーの間に位置し、OpenAI互換のエンドポイントを1つ公開します。アプリケーションコードはBifrostを呼び出し、Bifrostはプロトコル変換、認証、および上流プロバイダーへのルーティングを担当します。これは即插即用モデルです:既存のOpenAI、Anthropic、Bedrock、またはGoogle SDKのベースURLを切り替え、残りのコードは引き続き動作します。

スワップで得られるもの:

  • 4つのプロバイダーと追加の16+プロバイダーをカバーする1つのエンドポイント.
  • キー、リージョン、プロジェクト、IAMロールのための単一の設定表面.
  • どのプロバイダーがコールに応答したかに関わらず、1つのOpenAIサーバーセンティッドイベントストリーム形式.
  • モデル名、仮想キー、または重みでターゲットを絞る組み込みルーティングルール.
  • すべての上流プロバイダーにおいて、可観測性、ガバナンス、およびガイドラインを共有します。

プロバイダー対象はprovider/model構文を使用します。bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0はBedrockのClaudeに到達します。vertex/gemini-2.5-flashはVertexのGeminiに到達します。gemini/gemini-2.5-proは直接Gemini APIを呼び出します。anthropic/claude-sonnet-4-20250514はネイティブなAnthropic APIにヒットします。

Bifrost内で各プロバイダーを設定します。

プロバイダーはBifrostのウェブUI、API、config.jsonファイル、またはGo SDKを通じて設定できます。以下のスニペットは設定の形状を説明しています;全体の表面はdocsに記載されています.

AWS Bedrock

Bifrost内のAWS Bedrockプロバイダーは、静的IAM資格情報、EKS上のIRSA、EC2インスタンスプロファイルを受け入れますAWS_ACCESS_KEY_ID スタイルの環境変数。また、外部IDとセッション名を使用した想定されるIAMロールもカバーし、これはクロスアカウントのBedrockアクセスに使用される標準的なパターンに一致します。

{
  "providers": {
    "bedrock": {
      "keys": [{
        "models": ["*"],
        "weight": 1.0,
        "aliases": {
          "claude-3-5-sonnet": "us.anthropic.claude-3-5-sonnet-20241022-v2:0"
        },
        "bedrock_key_config": {
          "region": "us-east-1",
          "role_arn": "env.AWS_ROLE_ARN",
          "external_id": "env.AWS_EXTERNAL_ID"
        }
      }]
    }
  }
}

フルスクリーンモードを開始 フルスクリーンモードを終了

アクセスキーとシークレットキーを空にすると、BifrostはAWSのデフォルトの認証情報チェーンにフォールバックし、IRSA、ECSタスクロール、EC2インスタンスプロファイル、環境変数、共有認証情報ファイルの順に検索します.

Google Vertex AI

BifrostのGoogle Vertex AIプロバイダーはGoogle Cloudを通じてGemini、Claude、サードパーティモデルに到達します。モデルファミリー(Gemini対Anthropic)は自動的に検出され、正しいリクエスト変換が適用されます。Vertexでは、サービスアカウントJSON、Application Default Credentials(GKE Workload Identityの推奨されるパス)、Geminiのみの使用用のAPIキーの3つの認証パスがサポートされています。

{
  "providers": {
    "vertex": {
      "keys": [{
        "models": ["*"],
        "weight": 1.0,
        "vertex_key_config": {
          "project_id": "env.VERTEX_PROJECT_ID",
          "region": "us-central1",
          "auth_credentials": "env.VERTEX_CREDENTIALS"
        }
      }]
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

OAuth2トークンキャッシュとリフレッシュはBifrostの内部で自動的に行われます。Vertex上のClaudeの場合、anthropic_versionヘッダーはvertex-2023-10-16に設定され、リクエストが転送される前にサポートされていないベータヘッダーは削除されます。

Google Gemini

The GeminiプロバイダーはGoogle AI StudioからのシンプルなAPIキーで認証します。プロジェクト、リージョン、VertexのIAM機構が作業負荷より必要な場合にこのパスを参照してください。

{
  "providers": {
    "gemini": {
      "keys": [{
        "value": "env.GEMINI_API_KEY",
        "models": ["gemini-2.5-flash", "gemini-2.5-pro"],
        "weight": 1.0
      }]
    }
  }
}

フルスクリーンモードを開始 フルスクリーンモードを終了

Geminiのネイティブストリーミング形式はBifrostによって標準的なOpenAIサーバーセンティッドイベントの形に変換され、クライアントが既に期待する形式に変換されるため、同じリクエストボディが実行されますbedrock/... はまた、gemini/... に対しても、クライアントの変更なしで動作します。

Anthropic

The Anthropic プロバイダー は、直接 Anthropic のネイティブ API を呼び出します。作業負荷がプロンプトキャッシング、ベータヘッダー、またはまだ Bedrock または Vertex に広がっていない Claude の機能が必要な場合にこのインターフェースを使用します。

{
  "providers": {
    "anthropic": {
      "keys": [{
        "value": "env.ANTHROPIC_API_KEY",
        "models": ["claude-sonnet-4-20250514", "claude-opus-4-20250514"],
        "weight": 1.0
      }]
    }
  }
}

Enter fullscreen mode フルスクリーンモードを終了

すべての提供者を設定した後、単一のOpenAI互換リクエストはモデルフィールドを切り替えることで、それらのいずれかをターゲットにすることができます。アプリケーションコードは変更されません

複数の提供者間のルーティング、フェイルオーバー、負荷分散

一度Bedrock、Vertex、Gemini、そしてAnthropicがBifrostの後ろにいると、それらを繋ぎ合わせて、通常はカスタムコードが必要な信頼性とコスト戦略を作成できます。

  • オートメティックフェイルオーバー: Bifrost(バイフォルスト)のリトライとフォールバック主キーとフォールバックチェーンを宣言できるようにします。もしBedrockのClaudeエンドポイントが429や5xxエラーを投げ始めた場合、Bifrostはその呼び出しをVertex上で動作しているClaudeへルーティングし、その後はAnthropicの自社APIへと続けてルーティングでき、すべてアプリケーション側の介入なしで行えます。
  • 重み付きロードバランシング: Bifrost(バイフォルスト)のキーとロードバランシング重量に基づいてトラフィックをプロバイダ間で分割します。一例として、フェーズごとの移行中にクロードのトラフィックの70%がベドロックに、残りの30%がバーチャックスに届きます。
  • コスト意識型ルーティング: より安価でレイテンシに敏感なリクエストはGeminiに送ることができ、高リスクの推論コールはClaudeに残ります。
  • リージョン認識ルーティングヨーロッパの交通はVertexに留まることができますeu-west1、一方でアメリカからのトラフィックはus-east-1のBedrockに届き、アプリケーションコードに変更はありません。

ルーティング決定はゲートウェイで行われるため、アプリケーションチームはプロバイダの可用性や障害モードについて自分で考える必要はありません。

マルチプロバイダ作業負荷:ガバナンスと可観測性

Bedrock、Vertex、Gemini、およびAnthropicを一つのゲートウェイで統合することで、運用表面も単一のコントロールプレーンにまとめられます。Bifrostは以下を提供します

  • 仮想キー、予算、およびレートリミット:チームごとまたは顧客ごとに仮想キーが発行され、専用の支出上限とレートリミットが設定できます。どのアップストリームプロバイダーがリクエストを処理するかに関わらず。Bifrostのガバナンス機能 は仮想キー、RBAC、監査ログ、および粒度レベルのレートリミットをカバします。
  • 統一された監視可能性:ネイティブな Prometheus と OpenTelemetryエクスポートャーは、各プロバイダーでリクエストレベルのメトリクス、分散トレース、コストデータを公開します。
  • ガードレール:AWS Bedrock Guardrails、Azure Content Safety、またはPatronus AIを通じて適用されるコンテンツ安全ポリシーは、すべての上流プロバイダーに対して一貫して適用されます。
  • :監査ログ:各リクエストの不変の痕跡、プロバイダー、モデル、遅延、トークン、コストを含むサポート、SOC 2、GDPR、HIPAA、ISO 27001準拠報告を支援します。

:AWS Bedrock用に運用しているチーム向けにBifrost は彼らの VPC 内にあり、これらのトラフィックは決して顧客の AWS アカウントから離れることはありません。

Bifrost で Bedrock、Vertex、Gemini、Anthropic で始めてみましょう

Bedrock、Vertex、Gemini、AnthropicをBifrostに統合することで、4つのSDK、4つの認証スキーム、4つの異なるエラーハンドリングレイヤーを1つのOpenAI互換エンドポイントに集約します。プロトコル変換、OAuth2およびIAM資格情報の処理、ストリームの標準化、ルーティングはすべてゲートウェイ内で行われるため、アプリケーションチームは1つのAPIに対してデプロイできる一方で、プラットフォームチームはコストとガバナンスに対して完全な制御を維持できます。

BifrostがあなたのマルチプロバイダーAIスタックにどのように役立つかを見るには、チームとデモンストレーションを予約してください