Envoyプロキシとは?
えんぼいぷろきしー
Envoyプロキシとは、マイクロサービス向けに設計された高機能なオープンソースのL7プロキシ・通信管理ソフトウェアのことです。
Envoyプロキシ(Envoy Proxy)は、Lyft社が開発しCloud Native Computing Foundation(CNCF)に寄贈したオープンソースのエッジ・サービスプロキシです。マイクロサービスアーキテクチャにおけるサービス間通信の複雑さを抽象化し、可観測性・セキュリティ・トラフィック管理を一元的に担うことを目的に設計されました。C++で実装されており、高いパフォーマンスと低レイテンシが特徴です。
Envoyはアプリケーションの「サイドカー」として各サービスコンテナの隣に配置されることが多く、アプリケーションはEnvoyを通じてのみ通信を行います。これにより以下のような機能をアプリケーションコードの変更なしに実現できます。
- 高度なロードバランシング:ラウンドロビン・最小接続数・リングハッシュなど多様なアルゴリズムに対応
- サービスディスカバリ:xDS APIによる動的な設定更新
- 可観測性:詳細なメトリクス・分散トレーシング・アクセスログの自動収集
- TLS終端・mTLS:サービス間通信の暗号化と相互認証
- サーキットブレーカー・リトライ・タイムアウト:障害伝播を防ぐ回復力向上機能
Envoyはサービスメッシュの主要実装であるIstioのデータプレーンとして採用されており、Kubernetes環境での利用が広がっています。大規模なクラウドネイティブシステムにおける通信基盤として、多くの企業の本番環境で稼働している実績を持ちます。
使い方・例文
KubernetesクラスターでIstioを使う場合、各Podに自動的にEnvoyプロキシがサイドカーとして注入され、サービス間のHTTP通信の暗号化・ロードバランシング・レイテンシ計測がアプリケーションコードを一切変えずに行われます。
この用語をシェア
最終更新: