Envoy: エージェント型 AI ネットワーキングのための将来を見据えた基盤
Yan Avlasov
Staff Software Engineer, Google
Erica Hughberg
Product and Product Marketing Manager, Tetrate
※この投稿は米国時間 2026 年 4 月 4 日に、Google Cloud blog に投稿されたものの抄訳です。
昨今のエージェント型 AI 環境では、ネットワークに新たな責任が課せられています。
従来のアプリケーション スタックでは、ネットワークは主にサービス間でリクエストを移動するものでした。しかし、最近のホワイト ペーパー Cloud Infrastructure in the Agent-Native Era で説明されているように、エージェント システムでは、モデル呼び出し、ツール呼び出し、エージェント間のやり取り、エージェントができることを定義するポリシーの決定の間にネットワークが位置します。多様なフレームワーク上に構築されることが多いエージェントが急速に普及しているため、すべてのエージェント パスにわたってガバナンスとセキュリティを一貫して大規模に適用する必要があります。これを実現するには、適用レイヤがアプリケーション レベルから基盤となるインフラストラクチャに移行する必要があります。つまり、ネットワークはもはや盲目的なトランスポート レイヤとして機能することはできず、より多くのことを理解し、より適切に適用を行い、より迅速に適応する必要があります。この移行において役立つのが Envoy です。
Envoy は、高パフォーマンスの分散プロキシおよびユニバーサル データプレーンとして、大規模なスケーリングに対応するように構築されています。Google Cloud を含む要求の厳しいエンタープライズ環境で信頼されており、単一サービスのデプロイから、上り(内向き)、下り(外向き)、サイドカーの各パターンを使用した複雑なサービス メッシュまで、あらゆるものをサポートします。Envoy は、優れた拡張性、堅牢なポリシー統合、運用上の成熟度により、プロトコルが急速に変化し、制御が不十分な場合のコストが高くなる時代に特に適しています。エージェント型 AI を構築するチームにとって、Envoy は単なるコンセプトではなく、実用的でプロダクション レディな基盤です。


エージェント型 AI がネットワーキングの問題を変える
エージェント ワークロードは依然としてトランスポートとして HTTP を使用することが多いですが、従来の HTTP 仲介役が依存する前提の一部には従いません。Model Context Protocol(MCP)や Agent2agent(A2A)などのプロトコルは、HTTP 上で JSON-RPC または gRPC を使用し、標準の HTTP リクエスト / レスポンス セマンティクスに加えて、クライアントとサーバーがそれぞれの機能を交換する MCP 初期化などのプロトコル レベルのフェーズを追加します。仲介役が適応する必要がある、エージェント システムの主な側面は次のとおりです。
-
企業ガバナンスの多様な要件。主な課題は、安全性、セキュリティ、データ プライバシー、規制遵守に関する、企業にとって譲れない幅広い要件を満たすことです。これらのニーズは、標準的なネットワーク ポリシーの枠を超えることが多く、内部システムとの緊密な統合、カスタムロジック、新しい組織ルールや外部規制に迅速に適応する能力が必要になります。そのため、企業が独自のガバナンス モデルを組み込める、拡張性の高いフレームワークが求められます。
-
ポリシー属性は、ヘッダーではなくメッセージ本文内に存在する。パスやヘッダーなどのポリシー入力に簡単にアクセスできる従来のウェブ トラフィックとは異なり、エージェント プロトコルでは、重要な属性(モデル名、ツール呼び出し、リソース ID など)が JSON-RPC または gRPC ペイロードの奥深くに埋もれていることがよくあります。このため、仲介役はメッセージの内容を解析して理解し、コンテキストに応じたポリシーを適用できる必要があります。
-
多様で進化するプロトコルの特性に対応する。エージェントのプロトコルは一様ではありません。Streamable HTTP を使用する MCP のような一部のプロトコルでは、(
Mcp-Session-Idなどを使用した)分散プロキシ全体でのセッション管理が必要となるステートフルなインタラクションが導入されることもあります。このような多様な動作をサポートする必要性と、将来のプロトコルのイノベーションにより、本質的に適応性と拡張性に優れたネットワーキング基盤の必要性が高まっています。
これらの要因により、企業は単なる接続性以上のものを必要としています。ネットワークは、前述した重要なガバナンスのニーズを満たす中心的な役割を果たす必要があります。これには、プロトコルとエージェントの動作の急速な進化に対応しながら、一元化されたセキュリティ、包括的な監査可能性、きめ細かいポリシーの適用、動的なガードレールなどの機能を提供することが含まれます。簡単に言えば、エージェント型 AI はネットワークを単なるトランジット パスから重要な制御ポイントに変えます。
Envoy がこの移行に対応できる理由
Envoy は、以下の 3 つの理由から、エージェント型 AI ネットワーキングに最適です。
-
実証済み。Envoy は、セキュリティが重要な大規模環境で企業がすでに利用しており、新世代のトラフィック管理とポリシー適用を支える信頼できるプラットフォームとなっています。
-
拡張可能。Envoy は、ネイティブ フィルタ、Rust モジュール、WebAssembly(Wasm)モジュール、外部処理パターンを通じて拡張できます。これにより、プラットフォーム チームは、エコシステムが変化するたびにネットワーキング レイヤを再構築することなく、新しいプロトコルを採用できるようになります。
-
今すぐ運用に役立つ。Envoy はすでに、コントロール プレーンのゲートウェイ、適用ポイント、オブザーバビリティ レイヤ、統合サーフェスとして機能しています。そのため、標準が定着するのを待たずに今すぐ移行する必要がある組織にとって、実用的な選択肢となります。
Envoy は、以下の中核的な強みを基盤として、エージェント ネットワーキングに特有のニーズを満たすアーキテクチャの進歩を遂げています。
1. Envoy はエージェント トラフィックを理解する
エージェント ネットワーキングの最初の要件はシンプルです。ゲートウェイはエージェントが実際に何をしようとしているのかを理解する必要があるということです。
ただし、これはそれほど簡単ではありません。MCP、A2A、OpenAI スタイルの API などのプロトコルでは、重要なポリシー シグナルがリクエスト本文内に存在することがあります。従来の HTTP プロキシは、本文を不透明なバイト ストリームとして扱うように最適化されています。この設計は効率的ですが、プロキシで適用できることが制限されます。JSON メッセージを使用するプロトコルの場合、プロキシはポリシーの適用に必要な属性値を見つけるために、リクエスト本文全体をバッファリングする必要がある場合があります。特に、それらの属性が JSON メッセージの末尾にある場合はその必要性が高まります。使用されたトークンに基づくレート制限など、生成 AI プロトコルに固有のビジネス ロジックでも、サーバーのレスポンスの解析が必要になる場合があります。
これに対処するために、Envoy は、HTTP で伝送されるプロトコル メッセージをデフレーミングし、有用な属性をフィルタ チェーンの残りの部分に公開します。生成 AI プロトコルの拡張性モデルは、次の 2 つの目標を指針としています。
-
RBAC(ロールベース アクセス制御)やトレーサーなど、生成 AI プロトコルにそのまま対応する既存の HTTP 拡張機能を簡単に再利用できる。
-
デベロッパーが HTTP や JSON エンベロープを処理する必要がなく、生成 AI のビジネス ロジックに集中できるように、生成 AI 固有の拡張機能用のデフレーミングされたメッセージに簡単にアクセスできる。
これらの目標に基づき、生成 AI プロトコルの新しい拡張機能は、依然として HTTP 拡張機能として構築され、HTTP フィルタ チェーンで構成されます。これにより、OAuth や mTLS 認証などの HTTP ネイティブのビジネス ロジックと生成 AI プロトコルのロジックを 1 つのチェーンで混在させる柔軟性が得られます。デフレーミング拡張機能は、HTTP で伝送されるプロトコル メッセージを解析し、抽出された属性、さらには解析されたメッセージ全体を含むアンビエント コンテキストを、既知のフィルタ状態とメタデータ値を介してダウンストリームの拡張機能に提供します。
Envoy では、すべてのポリシー コンポーネントが JSON エンベロープやプロトコル固有のメッセージ形式を独自に解析することを強制するのではなく、これらの属性を構造化されたメタデータとして利用できるようにします。ゲートウェイがプロトコル メッセージをデフレーミングすると、ext_authz や RBAC などの既存の Envoy 拡張機能がプロトコル プロパティを読み取り、MCP のツール名、A2A のメッセージ属性、OpenAI のモデル名などのプロトコル固有の属性を使用してポリシーを評価できます。
アクセスログには、モニタリングと監査を強化するためのメッセージ属性を含めることができます。プロトコル属性は Common Expression Language(CEL)ランタイムでも使用できるため、RBAC や複合拡張機能で複雑なポリシー式を簡単に作成できます。


バッファリングとメモリ管理Envoy は、HTTP リクエストをプロキシする際にできるだけ少ないメモリを使用するように設計されています。しかし、エージェント プロトコルの解析には、特に拡張機能でメッセージ全体をメモリに格納する必要がある場合、変動する量のバッファ領域が必要になることがあります。特に、信頼できないトラフィックが存在する場合は、拡張機能でより大きなバッファを使用できる柔軟性と、メモリ枯渇からの適切な保護のバランスを取る必要があります。
これを実現するために、Envoy ではリクエストごとにバッファサイズを制限できるようになりました。リクエスト データを保持するバッファもオーバーロード マネージャーと統合されているため、アイドル タイムアウトの短縮や、長期間にわたって最も多くのメモリを消費するリクエストのリセットなど、メモリ不足時のあらゆる保護アクションが可能になります。これらの変更により、Envoy はリソース効率を損なうことなく、生成 AI プロトコルのゲートウェイおよびポリシー適用ポイントとして機能できるようになっています。
2. Envoy は重要な事項に関するポリシーを適用する
トラフィックを理解することは、ゲートウェイがそれに基づいて動作できる場合にのみ役立ちます。
エージェント システムでは、ポリシーはエージェントがアクセスできるサービスだけでなく、エージェントが呼び出せるツール、使用できるモデル、提示する ID、消費できる量、追加の制御が必要な出力の種類も規定するものです。これらは、単純なレイヤ 4 またはパスベースの制御よりも価値の高い決定であり、エージェントが企業に代わって行動することを許可する場合に、企業が重視する種類の制御です。
この点において Envoy は、トランスポート レベルのセキュリティとアプリケーション対応のポリシー適用を組み合わせることができるため、優れています。チームは、mTLS と SPIFFE ID でワークロードを認証し、RBAC、外部認証、外部処理、アクセス ロギング、CEL ベースのポリシー式を使用してプロトコル固有のルールを適用できます。
この機能は、プラットフォーム チームがエージェントの開発と適用を切り離せるため、非常に重要です。デベロッパーは有用なエージェントの構築に集中でき、オペレーターはツール、モデル、プロトコルが変化し続けても、ネットワーク レイヤで一貫したゼロトラスト体制を維持できます。このゼロトラストの分離の好例は、「エージェントの背後にユーザーがいる」重要なシナリオ、つまり AI エージェントが人間のユーザーに代わってタスクを実行する必要がある場合です。従来、ユーザーの認証情報をアプリケーションに直接渡すことは、重大なセキュリティ リスクをもたらします。エージェントが侵害されたり、プロンプト インジェクションによって操作されたりした場合、攻撃者は認証情報を抜き取ったり、不正使用したりできるためです。ID 管理を Envoy にオフロードすることで、プロキシはインフラストラクチャ レイヤでユーザー委任トークンをアウトバウンド リクエストに自動的に挿入できます。エージェントが機密性の高い認証情報を直接保持することはないため、侵害されたエージェントがトークンを不正使用したり漏洩させたりするリスクは完全に排除され、アクションはユーザーの実際の権限に厳密にバインドされたままになります。
ケーススタディ: エージェントを特定の GitHub MCP ツールに制限するGitHub の問題をトリアージするエージェントを考えてみましょう。
GitHub MCP サーバーは数十のツールを公開している可能性がありますが、エージェントに必要なのは、list_issues、get_issue、get_issue_comments など、ごく一部の読み取り専用のツールのみである場合があります。ほとんどの企業にとって、この違いは重要です。有用なエージェントが、無制限のエージェントに自動的に変わるべきではありません。
MCP サーバーの前に Envoy を配置することで、ゲートウェイは mTLS handshake 中に SPIFFE を使用してエージェントの ID を検証し、デフレーミング フィルタを介して MCP メッセージを解析し、リクエストされたメソッドとツール名を抽出して、その特定のエージェント ID に対して承認されたツール呼び出しのみを許可するポリシーを適用できます。RBAC は、MCP デフレーミング フィルタによって作成されたメタデータを使用して、MCP メッセージ内のメソッドとツール名をチェックします。
この真の価値は、ポリシーがトラフィックに近い場所で、一元的に、エージェントの実際の動作に合った条件で適用されるという点です。


静的ルールの枠を超えて: 外部認証
RBAC ルールを使用して表現できない複雑なコンプライアンス ポリシーは、ext_authz プロトコルを使用して外部認証サービスに実装できます。Envoy は、ext_authz RPC のコンテキストで、HTTP ヘッダーとともに MCP メッセージ属性を提供します。また、ピア証明書からエージェントの SPIFFE ID を転送することもできます。
これにより、エージェントや MCP サーバーがポリシーレイヤを認識する必要なく、エージェント ID、MCP メソッド、ツール名、その他のプロトコル属性の完全な組み合わせに基づいて、外部サービスが認証の決定を行うことができます。
プロトコル ネイティブのエラー レスポンス
Envoy がリクエストを拒否した場合、返されるエラーは呼び出し元のエージェントにとって意味のあるものである必要があります。MCP トラフィックの場合、Envoy は local_reply_config を使用して、HTTP エラーコードを適切な JSON-RPC エラー レスポンスにマッピングできます。たとえば、403 Forbidden は、isError: true および人間が読めるメッセージを含む JSON-RPC レスポンスにマッピングできます。これにより、エージェントは不透明な HTTP ステータス コードではなく、プロトコルに適した拒否を受け取ることができます。
3. Envoy はステートフルなエージェントのインタラクションを大規模にサポートする
エージェント トラフィックのすべてがステートレスであるわけではありません。MCP の Streamable HTTP など、一部のプロトコルはセッション指向の動作に依存する場合があります。特に、トラフィックが複数のゲートウェイ インスタンスを通過してスケーラビリティと復元力を実現する場合、仲介役にとって新たな課題が生じます。MCP セッションは、そのセッションを確立したサーバーにエージェントを効果的にバインドします。すべての仲介役は、受信 MCP 接続を正しいサーバーに転送するために、このことを認識する必要があります。
1 つのバックエンドでセッションが確立された場合、その会話における後のリクエストは正しい宛先に到達する必要があります。単一プロキシのデプロイでは簡単そうに聞こえますが、水平方向にスケールされたシステムでは、複数の Envoy インスタンスが同じエージェントからの異なるリクエストを処理する場合があり、より複雑になります。
パススルー ゲートウェイ
よりシンプルなパススルー モードでは、Envoy はダウンストリーム接続ごとに 1 つのアップストリーム接続を確立します。主な用途は、外部 MCP サーバーに対するクライアントの認可、RBAC、レート制限、認証など、一元化されたポリシーの適用です。仲介役の間で転送されるセッション状態には、最初の HTTP 接続でセッションを確立したサーバーのアドレスのみが含まれる必要があります。これにより、セッション関連のすべてのリクエストがそのサーバーに送信されます。
異なる Envoy インスタンス間でのセッション状態の転送は、MCP サーバーから提供された MCP セッション ID に、エンコードされたセッション状態を追加することで実現されます。Envoy は、リクエストを宛先 MCP サーバーに転送する前に、セッション ID からセッション状態の接尾辞を削除します。このセッションの永続性は、Envoy の envoy.http.stateful_session.envelope 拡張機能を構成することで有効になります。


集約ゲートウェイ
集約モードでは、Envoy は複数のバックエンド MCP サーバーの機能、ツール、リソースを集約することで、単一の MCP サーバーとして機能します。これにより、ポリシーが適用されるだけでなく、エージェントの構成が簡素化され、複数の MCP サーバーのポリシー適用が統合されます。
このモードでのセッション管理はより複雑になります。セッション状態に、ツールとリソースから、それらをアドバタイズしたサーバー アドレスとセッション ID へのマッピングも含まれる必要があるためです。Envoy がエージェントに提供するセッション ID は、ツールやリソースが認識される前に作成され、マッピングはその後、Envoy とバックエンド MCP サーバー間の MCP 初期化フェーズが完了した後に確立される必要があります。
現在 Envoy で実装されているアプローチの一つは、ツールやリソースの名前と、その配信元サーバーの識別子およびセッション ID を組み合わせるというものです。通常、正確なツール名やリソース名はエージェントにとって意味がなく、この追加の来歴情報を伝えることができます。変更されていないツール名やリソース名が必要な場合は、マッピングのない Envoy インスタンスを使用し、特定のツールを呼び出す前に tools/list コマンドを発行してマッピングを再作成するというアプローチもあります。このアプローチは、レイテンシと引き換えに、MCP セッションの外部グローバル ストアをデプロイする複雑さが伴います。現在、ユーザーからのフィードバックに基づいて計画中です。


これは、Envoy が単純なトラフィック転送にとどまらないことを意味するため重要です。これにより、Envoy は、実際のエージェント ワークフロー(複数のリクエスト、ツール、バックエンドにわたるものを含む)の信頼できる仲介役として機能できます。
4. Envoy はエージェントの検出をサポートする
Envoy は、既知の AgentCard エンドポイントを介した A2A プロトコルとエージェントの検出のサポートを追加しています。エージェント機能が記載された JSON ドキュメントである AgentCard は、スキル、認証要件、サービス エンドポイントをアドバタイズすることで、検出とマルチエージェントの調整を可能にします。AgentCard は、直接レスポンス構成を介して静的にプロビジョニングすることも、xDS API または ext_proc API を介して一元化されたエージェント レジストリ サーバーから取得することもできます。A2A の実装とエージェントの検出の詳細は、今後のブログ投稿で公開する予定です。
5. Envoy はエージェント ネットワーキングの課題に対する包括的なソリューション
Envoy は、要求の厳しいデプロイで MCP プロトコルのポリシー適用が可能になった基盤と同じ基盤を基に、OpenAI と、エージェント プロトコルの RESTful HTTP API へのコード変換のサポートを追加しています。このコード変換機能により、生成 AI エージェントと既存の RESTful アプリケーションの統合が簡素化されます。また、OpenAPI ベースのアプリケーションがすぐにサポートされ、動的モジュールまたは Wasm 拡張機能を通じてカスタム オプションを利用できます。Envoy は、コード変換に加えて、割り当て管理などの高度なポリシー適用、生成 AI システムの OpenTelemetry セマンティック規則に準拠した包括的なテレメトリー、安全なエージェント運用を実現する統合ガードレールなど、本番環境への対応に不可欠な領域で強化されています。
安全なエージェントのためのガードレール
投資対象となる次の重要な分野は、すべてのエージェント トラフィックのガードレールの一元管理と適用です。現在、ポリシー適用ポイントを外部のガードレールと統合するには、特注の実装が必要ですが、この問題領域は標準化の機が熟しています。
コントロール プレーンがこれを運用可能にする
ゲートウェイは、ソリューション全体の一部にすぎません。このポリシー管理とロールアウトを大規模に実現するにあたり、xDS プロトコル(ユニバーサル データプレーン API とも呼ばれる)を使用してデータプレーンを動的に構成するために別のコントロール プレーンが必要になります。
そこで重要になるのがコントロール プレーンです。Cloud Service Mesh は、Envoy AI Gateway や kube-agentic-networking などのオープンソース プロジェクトとともに、Envoy をデータプレーンとして使用しながら、オペレーターがエージェント ワークロードのポリシーをより高いレベルで定義、管理できるようにします。
この組み合わせは強力です。Envoy はトラフィック パスに適用機能と拡張性を提供し、コントロール プレーンはチームがその機能を一貫してデプロイするために必要な運用モデルを提供します。
このソリューションが重要な理由
エージェント システムや生成 AI プロトコル(MCP、A2A、OpenAI など)への移行に伴い、ネットワーク仲介役の進化が求められています。Envoy が主に対応する複雑な課題は次のとおりです。
-
プロトコルの詳細な検査。プロトコル デフレーミング拡張機能は、HTTP リクエストの本文からポリシーに関連する属性(ツール名、モデル名、リソースパス)を抽出し、従来のプロキシでは不透明なバイト ストリームしか確認できなかった状況で正確なポリシー適用を可能にします。
-
きめ細かいポリシーの適用。これらの内部属性を公開することで、RBAC や ext_authz などの既存の Envoy 拡張機能は、プロトコル固有の基準に基づいてポリシーを評価できます。これにより、ネットワーク オペレーターは、統一されたゼロトラストのセキュリティ ポスチャーを適用し、エージェントが特定のツールやリソースのアクセス ポリシーに準拠するようにできます。
-
ステートフルなトランスポート管理。Envoy は、MCP で使用される Streamable HTTP トランスポートのセッション状態の管理をサポートしており、仲介役のフリート全体でも、パススルー ゲートウェイ モードと集約ゲートウェイ モードの両方で堅牢なデプロイを可能にします。
エージェント型 AI プロトコルはまだ初期段階にあり、プロトコルの状況は今後も進化し続けます。まさにそのために、ネットワーキング レイヤには適応性が必要なのです。新しいエージェント フレームワーク、トランスポート パターン、ツール プロトコルが普及するたびに、企業がセキュリティとトラフィックのインフラストラクチャを再構築する必要はありません。制御を犠牲にすることなく変化を吸収できる基盤が必要です。
Envoy は、本番環境での実証済みの成熟度、高度な拡張性、エージェント ワークロードのプロトコル認識の向上という、一度に持ち合わせることが難しい 3 つの特性を兼ね備えています。Envoy をエージェント ゲートウェイとして活用することで、組織はセキュリティとポリシーの適用をエージェント開発コードから切り離すことができます。
これにより、Envoy は AI トラフィックを処理するプロキシ以上の存在になり、エージェント型 AI ネットワーキングの未来を見据えた基盤となります。
このブログ記事の共同執筆者である、Google のソフトウェア エンジニア Boteng Yao、Google のソフトウェア エンジニア Tianyu Xia、Google のシニア プロダクト マネージャー Sisira Narayana に感謝します。
- Google、スタッフ ソフトウェア エンジニア、Yan Avlasov
- Tetrate、プロダクトおよびプロダクト マーケティング マネージャー、Erica Hughberg 氏



