LLM プロキシと AI ゲートウェイ:必要なアーキテクチャは?
LLM リバースプロキシと AI ゲートウェイを、ルーティング・認証・課金・フェイルオーバー・可観測性の観点で比較し、適した場面を整理します。
LLM リバースプロキシは、最小限のポリシーで OpenAI 形リクエストを一つ以上の上流モデル API に転送します。一方 AI ゲートウェイは、その転送の上に認証・認可・ルーティング・クォータ・利用会計・フェイルオーバー・運用可視性を載せる制御面です。base URL を隠すだけならプロキシで足ります。複数チーム・キー・プロバイダ・予算が同じトラフィック経路を共有するなら、呼び名に関わらずゲートウェイ責務が必要です。
このページは選択ガイドです。そのホップが担う仕事、担わないと何が壊れるか、勝者ランキングを作らずに選ぶ方法を示します。自己ホストの実装手順は 自己ホスト型 LLM API ゲートウェイ に続きます。プロバイダー SDK の移植は Claude と Gemini の OpenAI SDK 記事で扱います。
各層が実際に担う仕事から始める
チームはクライアントとプロバイダの間にあるため「プロキシ」と「ゲートウェイ」を混用しがちです。本番で重要なのは、その一段がどの責務を所有するかです。
LLM リバースプロキシ
典型的なプロキシの仕事:
- TLS を終端して HTTP を転送する
- host ヘッダーや base path を書き換える
- 上流 API キーを注入または置換する
- 必要なら接続失敗時に単純な再試行を行う
- 必要なら基本アクセスログを残す
プロキシは転送の単純さを最適化します。nginx、Envoy、Caddy、単一プロバイダの /v1/chat/completions に POST する小さな Go サービスに近いです。
AI ゲートウェイ
典型的なゲートウェイの仕事:
- テナントまたはユーザー API キーを発行し検証する
- 論理モデル名をプロバイダーチャネルへマッピングする
- rate limit、予算、モデル許可リストを強制する
- 必要に応じてプロバイダー固有ペイロードを変換する(例:OpenAI tools の入口を上流の Claude Messages へ)
- 使用量、コスト見積もり、監査証跡を記録する
- 健全性に基づくルーティングとフェイルオーバーを実行する
- チャネル、ログ、料金コンテキストの運用 UI を公開する
ゲートウェイは運用可能なマルチテナント/マルチチームのモデルアクセスを最適化します。本リポジトリの自己ホスト可能な Go ゲートウェイは、OpenAI 互換入口とチャネル設定・ユーザー管理・利用会計を組み合わせ、単なるパイプではありません。
並列表比較
| 関心 | LLM リバースプロキシ | AI ゲートウェイ |
|---|---|---|
| 主目的 | リクエスト転送 | モデルアクセスの統治 |
| 認証モデル | 共有上流キーが多い | スコープ付きキー、グループ、RBAC 的制御 |
| プロバイダ | しばしば 1、時に静的マルチ | 第一級のマルチチャネルルーティング |
| モデル命名 | パススルー | 別名とカタログ |
| 課金/クォータ | 外部またはなし | 組み込み利用ログと予算 |
| フェイルオーバー | 手動や粗いリトライ | ポリシー駆動のバックアップチャネル |
| 可観測性 | アクセスログ | リクエスト履歴、チャネル健全性、ダッシュボード |
| ペイロード変換 | まれ | 一般的(OpenAI ↔ Claude / Gemini 形式) |
| 最適 | 単一アプリ・単一プロバイダの縁 | 多数アプリを支えるプラットフォーム |
どちらが「正しい」わけでもありません。無秩序に育ったプロキシは、意図したゲートウェイのテストや UI がない偶然のゲートウェイになりがちです。
リバースプロキシが正解のとき
次の大半が当てはまるなら、薄いプロキシを選びます。
- 1つのアプリケーションチームがクライアントと資格情報の両方を所有する
- 1つの主要プロバイダーがほぼすべてのトラフィックを担う
- プロキシ内部に機能別予算が不要
- フェイルオーバーはアプリケーションコードが扱うか、停止を許容できる
- 監査要件は既存 APM とプロバイダー請求書で満たせる
- プロキシを変更する人とアプリを出荷する人が同じ
例:
api.openai.comを地域ミラーへ書き換えるステージング環境- コンテナに生のプロバイダーキーを置かないための secret 注入 sidecar
- DNS や証明書切り替え中の一時的な移行ホップ
この場合、ゲートウェイ機能は判断の質を変えずに運用面だけを増やします。
AI ゲートウェイが必要なとき
複数消費者が一つの経路を共有
社内チャット、バッチ評価、サポートエージェント、製品機能がすべて同じ無制限プロバイダーキーを埋め込んではいけません。スコープ付きキー、role-based access control、グループポリシーが影響半径を小さくします。
複数プロバイダが製品戦略の一部
Claude、Gemini、OpenAI がすべて現実的な選択肢なら、各クライアントがプロバイダー SDK と場当たり的なフェイルオーバーを実装すべきではありません。OpenAI 互換 API ゲートウェイ は1つのクライアント契約を保ち、チャネルが上流の多様性を保持します。Anthropic が OpenAI SDK 経路について説明するように、プロバイダー自身の「OpenAI 互換」モードが評価向けである一方、本番では1つの入口の下でネイティブ上流形式へのマッピングが必要になる場合に、これは特に重要です。
コストの帰属と上限が必要
プロバイダー請求は機能単位の制御には遅すぎます。リクエスト単位の使用量、料金コンテキスト、ウォレットまたはクォータを公開するゲートウェイなら、表計算の発掘作業なしに「誰がどのモデルへいくら使ったか」に答えられます。LLM 使用ログとコスト追跡 と組み合わせてください。
信頼性がプラットフォーム SLA
共有ポリシーのないアプリ側リトライはサンダリングハードを生みます。ゲートウェイはリトライ分類・バックアップモデル・健全性シグナルを中央化します。それが便利なホップと LLM API フェイルオーバー戦略 の差です。
セキュリティとテナンシー
マルチテナントのモデルアクセスにはキー隔離、悪用制限、監査軌跡が必要です。OWASP の LLM アプリ指針は過度な代理と機微データ露出を強調します。神キー一本を注入するだけの共有プロキシは両方を悪化させます。
アーキテクチャスケッチ
プロキシ経路
App --Bearer provider key or injected secret--> Reverse proxy --> Single provider API
\
access log (optional)
ゲートウェイ経路
Apps / agents / eval jobs
| HTTPS + gateway key
v
AI gateway
- authN/authZ, quotas, aliases
- OpenAI-compatible /v1/*
- usage logs + operator UI
|
+--> Channel: OpenAI
+--> Channel: Anthropic (native Messages)
+--> Channel: Gemini
+--> Channel: Azure / Bedrock / others
クライアントは OpenAI SDK を使い続けます。上流の多様性は設定です。これが、ポータブルなツール呼び出し やマルチプロバイダー評価プログラムが、さらに3つのプロキシではなくゲートウェイへ成長する理由でもあります。
判断用機能チェックリスト
次の10問への回答を文書化してください。半数超が「未定義」または「アプリごとに違う」なら、トラフィックがまだ単一プロバイダーでも、すでにゲートウェイの意味論が必要です。
- Identity — 呼び出し元はサービス、ユーザー、テナントのどれとして認証するか。
- Authorization — すべての呼び出し元がすべてのモデルを利用できるか。
- Budget — 暴走エージェントが資金を使い切る前に停止する仕組みがあるか。
- Routing — 論理モデル名がプロバイダーの改名を隠すか。
- Translation — ツール呼び出しやストリーミングをプロバイダー間で正規化する必要があるか。
- Failover — バックアップモデルの選択を誰が所有するか。
- Audit — インシデント後に課金対象のリクエストを再構成できるか。
- Operator UX — オンコール担当でないエンジニアにもチャネルとログの UI が必要か。
- Data boundaries — 一部のトラフィックを特定プロバイダーまたは地域に留める必要があるか。
- Change velocity — モデル ID と料金はどの頻度で変わるか。
よくある失敗
「賢いプロキシ」の罠
プロキシに一回限りの Lua スクリプト、独自ヘッダー、未文書化の再試行ルールが積み上がります。理解者は1人だけです。プロバイダーがストリーミングのエラー形式を変えると、すべてのクライアントが壊れ、ログも不十分です。その規則が必要なら、明示的な設定を持つテスト済みゲートウェイへ昇格させてください。
二重制御面
「単純」アプリ用プロキシと「プラットフォーム」用ゲートウェイを分けると、二つのキー体系と二つのログ形式が生まれます。単純テナントで高度ポリシーを無効にしていても、入口契約は一つが望ましいです。
クライアント側ゲートウェイ化
各マイクロサービスが独自のプロバイダー抽象、予算、再試行を実装すると、共有可視性のない分散ゲートウェイになります。ポリシーのホップを集中するか、重複したインシデントを受け入れてください。
請求書駆動の運用
財務がモデル支出を月次請求で初めて見るなら、ゲートウェイ級の計測が欠けています。キー単位のログを持つ控えめな自己ホストゲートウェイでも、事後の CSV 清掃より優れます。
プロバイダー互換レイヤーをプラットフォームとして扱う
各マイクロサービスを Anthropic や Google の OpenAI 互換 base URL へ向けると、マルチプロバイダー戦略に見えることがあります。実際には、共有クォータも統一エイリアスもなく、ベンダーごとに異なるフィールドが黙って落ちる、評価用配線のコピーが5つあるだけです。互換 endpoint は有用ですが、control plane の代わりにはなりません。
AveMujica API の位置
AveMujica API はゲートウェイ責務を志向しています。/v1/chat/completions や /v1/responses などの OpenAI 互換エンドポイント、プロバイダーチャネル、モデルカタログ、使用履歴、ダッシュボード概要を備えます。TLS や IP 許可リストのために通常のリバースプロキシを前段へ置くこともでき、そのネットワーク上の役割は AI control plane を置き換えるのではなく補完します。
ゲートウェイ経路を選んだ後の日常運用では、デプロイ環境のモデルカタログ、チャネル設定、使用履歴ビューを使います。関係者と共有するときは、同等の公開モデル/料金ページを使っても構いません。非運用者が読むアーキテクチャ文書には、認証済みコンソールの深いリンクを置かないでください。
判断ガイド
| 状況 | 優先 |
|---|---|
| 1 アプリ、1 プロバイダ、一時的縁 | リバースプロキシ |
| 秘密注入のみ | リバースプロキシまたは sidecar |
| 多数アプリ、1 プラットフォーム | AI ゲートウェイ |
| マルチプロバイダルーティングと別名 | AI ゲートウェイ |
| チーム別予算と監査 | AI ゲートウェイ |
| 共有ポリシーを持つ重いツールエージェント | AI ゲートウェイ |
| 不確かだがエージェント成長見込み | AI ゲートウェイ(狭く開始) |
まだ迷うなら、最初は1プロバイダー、1チームでゲートウェイ経路を実装してください。ルーティングを単純なままにしつつ、キー、ログ、クォータを正しい層へ置けます。
公式情報とプロジェクト情報源
最終確認:2026-07-15。
よくある質問
AI ゲートウェイはリバースプロキシのマーケティング名ですか?
いいえ。用語は曖昧になり得ますが、運用差は実在します。ゲートウェイは身元・ポリシー・計測・マルチチャネルルーティングを所有し、プロキシは主にバイト転送と(場合により)資格情報注入です。
AI ゲートウェイの前にリバースプロキシを置けますか?
はい。ネットワークプロキシが TLS・WAF・IP 制限を扱い、その背後で AI ゲートウェイがモデルポリシーと利用会計を所有します。
OpenAI だけならゲートウェイは不要ですか?
常にではありません。強いアプリ級認証を持つ単一チームなら足りることもあります。複数製品が支出を共有する、より厳しいキースコープが要る、追加プロバイダが近い、といった場合に価値が出ます。
プロキシでは足りない最も早い信号は?
多くの場合 (1) 複数チームが一つのプロバイダキーを共有している、または (2) 財務がアクセスログでは答えられない機能単位の AI コスト帰属を求める、です。
フェイルオーバーはアプリとゲートウェイのどちらに置くべきですか?
共有フェイルオーバーポリシーはゲートウェイに置き、全クライアントが同じリトライ分類とバックアップモデルを継承します。健全チャネルが残らないときのユーザー向け劣化はアプリが扱います。
責任分担表を書く
現在の AI ホップについて、identity、予算、ルーティング、ログ、フェイルオーバーの責任を表にしてください。半数超の行が未定義またはアプリごとに異なるなら、追加プロバイダーを増やす前にゲートウェイのチャネル設定を立ち上げ、1つの実ワークフローをスコープ付きキーへ移してください。