LLM API gateway は、アプリケーションコードと複数のモデルプロバイダーの間にあるコントロールプレーンです。実用的なアーキテクチャは、単なるプロキシURLではありません。呼び出し元の認証、モデルのマッピング、ポリシーの適用、上流ルートの選択、クォータの強制、利用状況の記録、コスト計算、そしてプロバイダー障害時の動作決定まで行う必要があります。
このガイドでは、マルチプロバイダーのルーティングとフェイルオーバーのための、プラットフォームエンジニア向け実践的なLLM API gatewayのアーキテクチャ図を示します。Vercel と Pydantic の公開ゲートウェイパターンをカテゴリ参照として用い、そのうえで Flatkey 固有の主張は現在の公開証跡に限定しています。具体的には、1つの API キー、https://router.flatkey.ai/v1 の OpenAI 互換ルーターエンドポイント、明確な価格、統合請求、キー・利用状況・ルーティングのためのダッシュボード、自動切り替え、そしてロードバランシングです。
この目的は、本番トラフィックが依存する前に設計をレビューできるようにすることです。図は、自分のゲートウェイのチェックリスト、ベンダー評価、または Flatkey のステージングテストに活用してください。
LLM API Gateway アーキテクチャ図
この図は、クライアントアプリから上流のモデルプロバイダーまでのリクエスト経路を示しています。アーキテクチャの中心は LLM API gateway です。その周囲には、ルーティングを安全に運用するためのポリシーサービスがあります。具体的には、キーのスコープ、モデルマッピング、ルートクラス、クォータ台帳、請求、ログ、ヘルスチェック、フォールバックルールです。
| レイヤー | 責務 | 設計上の問い |
|---|---|---|
| クライアントアプリ | チャット、レスポンス、画像、動画、エージェント、またはツールのリクエストを送信します。 | どの SDK とエンドポイント形式を引き続き動作させる必要があるか? |
| ゲートウェイエンドポイント | 安定したベースURLとAPIキーを通じてリクエストを受け取ります。 | アプリケーションは、キー、ベースURL、またはプロバイダー設定だけを変更して移行できるか? |
| 認証とキーのスコープ | 呼び出し元、チーム、アプリ、環境、および許可されたモデルセットを識別します。 | ステージング、本番、および顧客トラフィックを分離できるか? |
| ポリシーエンジン | モデルマッピング、ルートクラス、予算、クォータ、フォールバックルールを適用します。 | ポリシーは、なぜあるリクエストが特定のルートを使用できるのか、またはできないのかを説明しているか? |
| ルーター | 上流のプロバイダー、アカウント、モデル、またはバックアップ経路を選択します。 | ルーティングは、隠れたマジックではなく、承認済みポリシーに基づいているか? |
| ヘルスとフェイルオーバー | プロバイダーのエラー、タイムアウト、再試行、フォールバック、停止条件を追跡します。 | どの障害を再試行、切り替え、キュー、またはクローズドで失敗させるべきか? |
| ログ、クォータ、請求 | モデル、ルート、ステータス、トークンまたはメディア単位、コスト、所有者、キーを記録します。 | エンジニアと財務担当者は、インシデント後にリクエストを追跡できるか? |
| 上流プロバイダー | プロバイダー固有または互換APIを通じて、選択されたモデルを提供します。 | 各トラフィッククラスに対してどのプロバイダーが承認されているか? |
リクエストがゲートウェイを通過する仕組み
本番環境のLLM API gatewayは、リクエストの経路をわかりやすく説明できるようにすべきです。チームがその経路を図に描けないなら、障害対応や請求確認の最中にその経路をデバッグすることはおそらくできません。
- クライアントがリクエストを送信します。 アプリは、モデル名、エンドポイント、メッセージまたはメディア入力、そしてアプリケーションAPIキーを指定してゲートウェイを呼び出します。
- ゲートウェイがキーを認証します。 キーは、所有者、環境、クォータ、許可されたモデルセット、およびログ記録ポリシーに紐づいています。
- ポリシーエンジンがトラフィックを分類します。 リクエストは、顧客チャット、バックグラウンド処理、評価、メディア生成、コーディングツールのトラフィック、または別のルート分類としてタグ付けされます。
- ルーターが候補ルートを選択します。 モデルマッピング、プロバイダーの可用性、許可された上流アカウント、コストポリシー、クォータ状態、そして設定された優先度や重みを確認します。
- ゲートウェイが上流へのリクエストを送信します。 プロバイダーとエンドポイントに応じて、OpenAI互換のリクエスト形式を維持する場合もあれば、プロバイダー固有のプロトコルを使用する場合もあります。
- 可能な場合はレスポンスを正規化します。 ゲートウェイは、期待されるレスポンス形式、エラー、ストリーム、またはジョブ参照をクライアントに返します。
- リクエストが記録されます。 ログには、ルート、モデル、ステータス、レイテンシー、使用量単位、コスト見積もり、キー、所有者が記録され、チームがデバッグと支出の照合をできるようにします。
そのため、OpenAI互換APIへの移行のステップは、アーキテクチャの一部にすぎません。ベースURLを変更すればトラフィックはゲートウェイに到達しますが、本番利用に耐えられるかは、その後のポリシー、ルーティング、クォータ、請求、ログ、フォールバック動作にかかっています。
ルーティングポリシーはフェイルオーバーより先に来る
最もよくあるアーキテクチャ上のミスは、フェイルオーバーを普遍的な善として扱うことです。LLM API gateway は、失敗したすべてのリクエストをあらゆるプロバイダーに対して無条件に再送すべきではありません。まず、そのトラフィッククラスに対してバックアップ経路が許可されるかどうかを判断する必要があります。
公開されているゲートウェイのドキュメントは、この区別が重要である理由を示しています。Pydantic のドキュメントでは、プロバイダーに優先度、重み、アクティブ状態を持たせられるルーティンググループが説明されており、同じモデルを提供するプロバイダー間でのフェイルオーバーや、同一優先度メンバー間での負荷分散が可能です。Vercel は AI Gateway を、ルーティング、課金、可観測性、多数のモデル、そしてフォールバック付きのプロバイダー/モデルルーティングを中心に位置づけています。これらのパターンは有用な参照先ですが、本番環境のポリシーでは、依然として自社のワークロードに対して何が許容されるかを定義する必要があります。
| Traffic Class | Primary Routing Rule | Failover Rule |
|---|---|---|
| Customer-facing chat | Use only approved model families and providers. | Switch only to an approved equivalent, or return a controlled error. |
| Background summarization | Prefer cost and throughput when quality requirements are stable. | Retry, queue, or use a lower-cost approved model if output quality remains acceptable. |
| Evaluation and benchmarks | Keep model identity stable. | Fail closed; hidden fallback makes results hard to compare. |
| Media generation | Respect endpoint shape, job lifecycle, media policy, and budget. | Fail closed unless the alternate model has the same approved output contract. |
| Agent workflows | Respect tool support, context limits, data boundary, and audit needs. | Fallback only when tool behavior and data handling stay valid. |
Flatkey の公開文言では、複数の上流アカウントを自動切り替えと負荷分散付きでルーティングするとされています。これを製品の出発点として利用し、そのうえで、どのトラフィッククラスが自動的に切り替え可能で、どれが fail closed にしなければならないかを定義してください。
フェイルオーバーには停止条件が必要
すべてのLLM APIゲートウェイのフェイルオーバー設計には停止条件が必要です。それがないと、形式の崩れたリクエストが、無限に繰り返される無効な呼び出し、重複するコスト、分かりにくいログ、一貫しないユーザー動作の連鎖につながる可能性があります。
実践的な障害対応の階層は次のとおりです。
- 上流の前で拒否する: 無効な認証、禁止されたモデル、超過したクォータ、未対応のエンドポイント、または必須パラメータの欠如がある場合は、クローズドに失敗させる。
- 同じ経路で再試行する: ネットワークタイムアウトや選択した上流の5xxなど、エラーが一時的なものと思われる場合にのみ再試行する。
- 同じ契約で切り替える: 別のアカウント、リージョン、またはプロバイダ経路を使うのは、それが同じ承認済みのモデル契約を提供する場合に限る。
- 承認済みのバックアップを使う: 代替モデルは、製品、品質、コンプライアンス、予算の担当者が承認した場合にのみ使用する。
- キューに入れるか劣化させる: 即時のフォールバックが高コストまたは高リスクな場合、緊急でない作業は遅延させる。
- 制御されたエラーを返す: ポリシー上、安全な経路が残っていない場合は停止する。
AI APIのロードバランシングとフェイルオーバーのガイドでは、これをさらに詳しく扱っています。アーキテクチャレビューでは、各遷移が明示的で観測可能かどうかが重要な પ્રશ્નです。
クォータ、課金、ログはリクエストパスの一部です
モデルのトラフィックは、通常の HTTP トラフィックのようには課金されません。単一のLLM API gatewayでも、入力トークン、出力トークン、キャッシュ済みトークン、推論トークン、画像ユニット、動画時間、ツール呼び出し、再試行、プロバイダー固有のクォータ単位を考慮する必要がある場合があります。課金とクォータを夜間レポートとして扱うと、ゲートウェイはその瞬間の暴走的な使用を防げません。
クォータと課金はルーティングポリシーの近くに置きます:
- 高コストのリクエストを転送する前に、呼び出し元の残り予算を確認します。
- 支出上限が重要な場合は、価格データが欠落しているルートをブロックするか警告します。
- 選択されたモデル、エンドポイントファミリー、上流ルート、キー、所有者、ステータス、使用ユニットを記録します。
- 1つのユーザーリクエストが複数のプロバイダー試行を隠さないように、再試行とフォールバック呼び出しをログで分離します。
- ステージングキーと本番キーを別のコストセンターとして見えるようにします。
- 財務、サポート、インシデントレビュー向けに十分なデータをエクスポートします。
Flatkey の現在の公開ポジショニングには、明確な価格設定、統合請求、使用状況の可視化、クォータ制限、そしてキー、使用量、ルーティングのための1つのダッシュボードが含まれています。公開日の価格 API スナップショットでは 656 のモデル行が返され、OpenAI-compatible、OpenAI Responses、Anthropic、Gemini、画像生成、動画生成トラフィック向けのエンドポイントメタデータをサポートしていました。これを時点の古い証拠として扱い、ライブの価格ページで正確なモデルと単位を確認してください。
このアーキテクチャにおけるFlatkeyの位置付け
Flatkeyは、1つのキーの背後にあるプロバイダーアカウントの乱立を減らすよう設計されています。このLLM API gatewayアーキテクチャでは、Flatkeyはホスティングされたゲートウェイエンドポイント、プロバイダーアクセス層、ダッシュボード、使用量/請求レイヤー、およびルーティング層に対応します。
慎重なFlatkeyのステージングテストは、次のように行うべきです。
- Flatkey dashboardで非本番用キーを作成する。
- 1つのクライアントを
https://router.flatkey.ai/v1に向ける。 - 必要なエンドポイントファミリーに対して、既知の正常リクエストを実行する。
- リクエストが、モデル、ステータス、ユニット、コストの証跡とともに使用量ログに表示されることを確認する。
- 選択したモデルと請求単位のライブ価格ページを確認する。
- どのトラフィッククラスが自動切り替えまたは負荷分散を使用できるかを定義する。
- 1つの安全な障害テストを実行するか、ステージングでは障害シミュレーションが許可されていない理由を文書化する。
この記事から、稼働率SLA、レイテンシ保証、正確なルーティングアルゴリズム、またはプロバイダーの可用性保証を推測しないでください。アーキテクチャは何を検証すべきかを示し、ステージングの証跡は、特定のロールアウトが準備完了かどうかを示します。
実装チェックリスト
本番トラフィックを LLM API gateway 経由で送信する前に、アーキテクチャに以下の制御が備わっていることを確認してください:
| チェック項目 | 合格条件 |
|---|---|
| Base URL and SDK migration | 少なくとも 1 つのステージングリクエストが、意図した SDK またはクライアントで gateway を通って成功する。 |
| Model and endpoint mapping | すべての本番エンドポイントファミリーに、承認済みのモデル、プロトコル、所有者がある。 |
| Key scope | 必要に応じて、キーがアプリ、環境、チーム、または顧客ごとに分離されている。 |
| Routing policy | トラフィッククラスが、許可された主経路とバックアップ経路を定義している。 |
| Failover stop condition | gateway が、いつ再試行し、切り替え、キューに入れ、フェイルクローズするかを把握している。 |
| Quota and budget checks | 上限によって、上流プロバイダーに到達する前に高コストなトラフィックを停止または制約できる。 |
| Logs and observability | リクエスト、ルート、モデル、所有者、ステータス、使用量、コストの証跡を事後に確認できる。 |
| Rollback | gateway のロールアウトが失敗した場合、アプリを以前のプロバイダー設定に戻せる。 |
より広い要件の全体像については、AI API gateway checklist から始めてください。プラットフォーム比較の検討では、OpenRouter alternatives ガイドが、マネージド gateway のトレードオフがプロバイダーマーケットプレイスやセルフマネージドなルーティング層とどう異なるかを示しています。
FAQ
LLM API ゲートウェイとは何ですか?
LLM API ゲートウェイは、アプリケーションとモデルプロバイダーの間にある制御レイヤーです。LLM トラフィックに対して、API キー、モデルアクセス、ルーティング、クォータ、請求、ログ、フェイルオーバー ポリシーを一元管理できます。
LLM API ゲートウェイのアーキテクチャには何を含めるべきですか?
LLM API ゲートウェイのアーキテクチャには、クライアントアプリ、安定したゲートウェイエンドポイント、認証、キーのスコープ、ポリシーチェック、モデルマッピング、プロバイダールーティング、ヘルスチェック、フェイルオーバールール、クォータ、請求、ログ、および上流のプロバイダーを含めるべきです。
フェイルオーバーは常に LLM トラフィックに対して安全ですか?
いいえ。フェイルオーバーが安全なのは、バックアップ経路が承認済みのモデル契約、データ境界、エンドポイントの挙動、品質要件、およびコストポリシーを維持する場合に限られます。一部のトラフィックは、切り替えずにフェイルクローズにすべきです。
LLM API ゲートウェイは通常の API ゲートウェイとどう違いますか?
通常の API ゲートウェイは一般的な API トラフィックを処理します。LLM API ゲートウェイは、プロバイダー形式、トークンおよびメディアの使用、モデルマッピング、フォールバックポリシー、支出制御、プロンプト/レスポンスの可観測性、AI 固有のルーティングといったモデル特有の考慮事項を追加します。
図の中で Flatkey はどこに位置しますか?
Flatkey は、ホスト型のゲートウェイ、ルーター、プロバイダーアクセス、使用状況、請求、ダッシュボードのレイヤーとして位置します。公開されている説明では、1 つの API キー、https://router.flatkey.ai/v1、明確な料金体系、統合請求、使用状況/ルーティングの可視化、自動切り替え、ロードバランシングをサポートしています。
最終的な要点
本番環境のLLM API ゲートウェイは、モデルトラフィックの制御を難しくするのではなく、簡単にするべきです。アーキテクチャには、安定したエンドポイント、スコープ付きキー、モデルマッピング、ポリシーチェック、ルーティングルール、クォータと請求の制御、ログ、そしてフェイルオーバーの停止条件が必要です。
Flatkey は、チームに 1 つのキー、OpenAI 互換のルーターエンドポイント、そしてモデルアクセスと運用のための 1 つのダッシュボードを提供します。独自のステージングワークロードでこのアーキテクチャをテストするには、キーを取得して、本番トラフィックを移す前にリクエストパスを検証してください。


