【えんぼいぷろきし】
Envoy Proxy とは?
最終更新:
💡 サービスメッシュの「通信エンジン」
クラウドネイティブなアプリ向けに作られたオープンソースのプロキシ。サービス同士の通信を仲介し、Istioなどのサービスメッシュのデータプレーンや、入口のプロキシとして使われる。
📌 このページのポイント
大きな特徴は、設定を動かしながら変えられることだよ。Envoyは全部を設定ファイルに書く使い方もできるけど、xDSというAPIで、接続先のサーバー一覧やルーティングなどを外から受け取れるんだ。Kubernetesのように接続先が頻繁に入れ替わる環境に合っているね。ヘルスチェック、リトライ、サーキットブレーカーといった機能も備えているよ
Envoyをサイドカーとして使うとどうなる?
単体で使うこともある?
あるよ。外からの通信を受ける入口のプロキシとしても使えるんだ。KubernetesのイングレスコントローラーであるContourや、Kubernetes Gateway APIを実装するEnvoy Gatewayは、Envoyを土台にしたプロジェクトだよ。公式サイトには、Airbnb、Netflix、Uberなどが利用者として載っているんだ
WASM拡張って何?
もっと詳しく知りたい人へ
EnvoyとIstioはどういう関係?
Istioはサービスメッシュ全体を管理するソフトで、Envoyはその中で実際に通信を運ぶプロキシです。Istioのドキュメントは、データプレーンを「サイドカーとして配置されたEnvoyプロキシの集まり」、コントロールプレーンを「そのプロキシを管理・設定する側」と説明しており、IstioはEnvoyを拡張したものを使っています。なお、Istioにはサイドカーを使わないアンビエントモードもあり、そちらでは構成が異なります。
📖 おまけ:英語の意味
「Envoy Proxy」 = 使節プロキシ
💬 envoyは「使節・特使」という意味の英語だよ。サービス同士の通信を取り次ぐ役、と考えると覚えやすいね