(CNDW2025) CloudNativeなAI Proxy、Envoy AI Gatewayについて調べて使ってみた!

>100 Views

November 19, 25

スライド概要

CNDW2025のLT枠で発表した資料です。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

CloudNativeなAI Proxy、 Envoy AI Gatewayについて 調べてつかってみた! 2025/11/19 CNDW 2025 竹田舜

2.

自己紹介 AIエージェント課が気になる人向け 氏名:竹田 舜 https://x.com/TKDDDDDS 所属:株式会社ラクス 2023年新卒入社 3年目 Webアプリケーション開発 検索 してみて ください!! →SRE課→AIエージェント課 2

3.

今日の内容 - LLM Proxyについて AI Gateway Route Model Context Protocol (MCP) Gateway AI/LLM Observability対応 Envoy Gatewayが ギリギリまで うまく動かせなくて 調査のほうがメインに なってます🙇 資料リンクはのちほど Xに アップロードします 3

4.

Envoy AI Gateway※1とは? AIモデルのトラフィックやMCPサーバーへの接続を管理するためのゲートウェイ Envoy Gatewayをベースに作られてる - AIモデルへのアクセスエンドポイントやMCPサーバーへのアクセスの集約 k8s Secretを介した認証情報の利用 モデル群を定義し、仮想的に名前をつける 負荷分散の最適化 メトリクスの出力 etc… 機能が色々ありすぎるので本日は一部機能だけ話します! ※1 https://aigateway.envoyproxy.io/ 4

5.

なぜEnvoy AI Gateway(LLM Proxy)が必要なのか ない場合 - 特定のProviderに依存したコード 自前でロジックを書く ライブラリを使ったコード上での対応 シークレット情報の保持 アプリケーションコードで LLM Providerに 対する考慮、設定が発生する ある場合 - コード上からプロバイダー考慮を追い出せる 別のLLM proxyにコード変更なしに変えられる LLM関連のロジックは別の場所に分離できる LLM Proxy側でシークレットを保持 AnthropicとOpenAI形式両方に対応 関心の分離が可能 5

6.

簡単に試したい場合 ● ● 1. 2. Envoy Gateway CRDインストール Envoy Gatewayのインストール a. 3. 4. 5. このときに追加機能 ON版をインストール しておく ● ● ドキュメントは v0.0.0-latest(開発版)を インストールするようになってるので注意 ドキュメントにある手順だと一部 CRDが入らな いので注意 Envoy Gatewayの最新バージョン (v1.5.5)にし た。 2,3は一番最新で commit hashを揃えた Envoy AI GatewayのCRDインストー ル(helm※1) Envoy AI Gateway Controllerのデプ ロイ(helm※2) basic.yamlがあるのでデプロイ モックLLM Backendを使ったEnvoy AI Gatewayが起動する ※1https://hub.docker.com/layers/envoyproxy/ai-gateway-crds-helm/v0.0.0-eb7ded6a00a70cf2dd1f273f71c9909506ca4e89/images/sha256-13feeb3d847 aee589a32552c87e72d4aef34ed30e29bd9173eee1a846f44e5e8 6 ※2https://hub.docker.com/layers/envoyproxy/ai-gateway-helm/v0.0.0-eb7ded6a00a70cf2dd1f273f71c9909506ca4e89/images/sha256-1f85fd262947e25

7.

デプロイされたリソースにリクエストする例 デプロイ完了するとモック APIが叩ける curl用のpod立てて、クラスタ内で叩く例 7

8.

補足:コマンド $ helm upgrade -i aieg-crd oci://docker.io/envoyproxy/ai-gateway-crds-helm \ $ helm template eg-crds oci://docker.io/envoyproxy/gateway-crds-helm --version v1.5.5 --set crds.gatewayAPI.enabled=true --set crds.gatewayAPI.channel=standard --set crds.envoyGateway.enabled=true --version v0.0.0-eb7ded6a00a70cf2dd1f273f71c9909506ca4e89 \ --namespace envoy-ai-gateway-system \ --create-namespace $ helm upgrade -i eg oci://docker.io/envoyproxy/gateway-helm \ --version v1.5.5 \ --namespace envoy-gateway-system \ --create-namespace \ -f https://raw.githubusercontent.com/envoyproxy/ai-gateway/main/ma nifests/envoy-gateway-values.yaml \ -f https://raw.githubusercontent.com/envoyproxy/ai-gateway/main/exa mples/token_ratelimit/envoy-gateway-values-addon.yaml \ -f https://raw.githubusercontent.com/envoyproxy/ai-gateway/main/exa mples/inference-pool/envoy-gateway-values-addon.yaml $ helm upgrade -i aieg oci://docker.io/envoyproxy/ai-gateway-helm \ --version v0.0.0-eb7ded6a00a70cf2dd1f273f71c9909506ca4e89 \ --namespace envoy-ai-gateway-system \ --create-namespace InferencePoolなど使いたいならさらに追加必要(これまでやるとEnvoy Gatewayのロ グからエラーが消える) kubectl apply -f https://github.com/kubernetes-sigs/gateway-api-inference-extension/releases/d ownload/v1.0.1/manifests.yaml 8

9.

今日紹介するEnvoy AI Gatewayの機能 ① InferencePool(AIGatewayRoute)によるモデルルーティング ② MCP gateway ③ Envoy AI GatewayのObservability対応 9

10.

① InferencePool(AI GatewayRoute) によるモデルルーティング 10

11.

InferencePool 使うLLM APIグループを定義しておくと、その中でルーティングができる仕組み - Dynamic Load Balancing(※1): リクエストの自動分散 Intelligent Routing(※1): 様々なパラメータをもとにルーティング Automatic Failover(※1): 自動フェイルオーバー Resource Optimization(※1): 推論資源の利用率の最大化 LLM扱う際の悩み - 負荷分散 APIエラー時のフェイルオーバーの実現 に対応可能 ※1 https://aigateway.envoyproxy.io/docs/capabilities/inference/inferencepool-support#what-is-inferencepool 11

12.

InferencePool 使うLLM APIグループを定義しておくと、その中でルーティングができる仕組み - Dynamic Load Balancing(※1): リクエストの自動分散 Intelligent Routing(※1): 様々なパラメータをもとにルーティング Automatic Failover(※1): 自動フェイルオーバー Resource Optimization(※1): 推論資源の利用率の最大化 LLM扱う際の悩み - 負荷分散 APIエラー時のフェイルオーバーの実現 に対応可能 ※1 https://aigateway.envoyproxy.io/docs/capabilities/inference/inferencepool-support#what-is-inferencepool 12

13.

機能的な違い 今日はこちら だけ HTTPRoute + Inferencepool AI Gateway Route + Inferencepool シンプルな推論ルーティング レートリミットや複雑なルーティング パスに設定された InferencePoolへルーティング シンプル or 機能豊富 13

14.

AIGatewayRoute - モデルベースルーティング - - トークンベースのレートリミット - - リクエストからモデル名を抽出してルーティング 仮想的なモデル名ごとに InferencePoolを設定可能 Redisを導入し、Envoy Gatewayに接続 フォールバック - マニフェストで使用した優先順位に沿って、順番に使用するモデルをフォールバック可能 14

15.

モデルベースルーティング LLM Proxyだとよくある名前をつけてグルーピングできる機能 ※ドキュメントより リクエスト側はheadersに設定した値にマッ チするようにリクエスト AIGatewayRoute側が適切に ルーティング 後で紹介するフォールバック設定を backendRefsに設定すると同じprovider内 でモデルを切り替えたり可能 15

16.

トークンベースレートリミット ドキュメントから抜粋 トークン使用量などリミットをかけれる BackendTrafficPolicyで設定可能 targetRefでルールを紐付けるリソースを決 める rulesでリミットを設定する この書き方は1時間で1000トークン 16

17.

フォールバック GitHubの例より ルーティングするヘッ ダー名と 優先度を指定 フォールバックする際 のルール 17

18.

LLM Proxyに求める機能は一通り揃ってる 18

19.

② MCP gateway 19

20.

MCP Gateway MCPRouteというカスタムリソースで使用可能 - MCPサーバーのプロキシ 公開するツールの制限 認証の代行 MCP認証の仕様に従ったOAuth認証 他にも色々... 20

21.

サポートしてる機能 ※ドキュメントより 機能 Streamable HTTP Transport 2025年6月のMCP仕様に準拠した Stremable HTTP接続が可能 OAuth Authorization MCP仕様にあるOAuthを利用した認可のサポート Server Multiplexing & Tool Routing ツールの集約とフィルタリング Upstream Authentication API キーとヘッダー インジェクションを使用して外部 MCP サー バーに安全に接続する認証を提供 Full MCP Spec Coverage 2025年6月のMCP仕様に完全準拠 Built-in Observability MCPリクエストのトレースおよびメトリクスを提供 21

22.

リソース例 ※ドキュメントより 22

23.

特に良さげな機能 MCPサーバーの認証を代行する機能 認証情報をClientが個別に持つ必要がない ユーザー認証とMCPサーバーとのシークレットを分離できる(と考えてる) 接続 MCP client 代理接続 AI Gateway 認証 サーバ MCP Server K8s Secret 23

24.

リソース例 ※ドキュメントより backendRefs以外とは別に Securitypolicyを定義してる これがおそらく MCP Client→Gateway間の認証方法 - 組織のIdPで認証 - MCPサーバーとの接続は事前に 発行済みのキーを使う といったキーの露出を抑えたセキュアな 運用ができそう 24

25.

③ Envoy AI GatewayのObservability対応 25

26.

Envoy AI GatewayのObservability対応 ドキュメントより GenAI Metrics - Prometheus metrics following OpenTelemetry Gen AI semantic conventions for monitoring token usage, latency, and model performance. GenAI Tracing - OpenTelemetry integration with OpenInference semantic conventions for LLM request tracing and evaluation. Access Logs with AI/LLM metadata - AI metadata produced by the AI gateway (model name, token usage, etc.) can be included in the Envoy Access Logs. アクセスログ、使用量やパフォーマンス系メトリクス、LLMリクエストのトレースに対応 26

27.

実際にトレースやメトリクス収集してみる のは間に合いませんでした🙇 27

28.

まとめ ● ルーティングなどが高機能で良さそう MCPサーバーでClientとMCPサーバー側認証を分けて使える仕組みはかなり良さ そう(個人ごとのトークン発行不要にできる) 検証できてないがEnvoyの機能も結構使えるっぽいので、エラー時は一定時間 ルーティングしないといったこともできるかも?? 業務で導入検討していくのもあり ● ● K8sじゃないと使えないのは会社によっては少々不便かもしれない 情報少なくてトラシューが大変 ● ● ● 調べただけで試せなかった機能が多いので引き続き試していきたい 28