概要
アンビエントモードでは、Istioはノードごとのレイヤー4(L4)プロキシと、オプションで名前空間ごとのレイヤー7(L7)プロキシを使用して、機能を実装します。
この階層型アプローチにより、Istioを段階的に導入し、メッシュなしの状態から、セキュアなL4オーバーレイ、そしてフル機能のL7処理とポリシーへと、必要に応じて名前空間ごとにスムーズに移行できます。さらに、異なるIstio Envoyプロキシを使用して、メッシュサービスが送受信するすべてのトラフィックを仲介および制御します。
アンビエント モードでは、Istioのデータプレーンは、DaemonSetとしてデプロイされたノードレベルのztunnelプロキシを使用して、メッシュサービスが送受信するすべてのトラフィックを仲介および制御します。
">データプレーン モードで動作するワークロードはシームレスに相互運用し、ユーザーは時間の経過とともに変化するニーズに基づいて機能を自由に組み合わせることができます。ワークロードポッドはメッシュに参加するためにサイドカーで実行されているプロキシを必要としなくなったため、アンビエントモードはしばしば非公式に「サイドカーレスメッシュ」と呼ばれます。
動作原理
アンビエントモードは、Istioの機能を2つの異なるレイヤーに分割します。基本レイヤーでは、ztunnelセキュアオーバーレイが、トラフィックのルーティングとゼロトラストセキュリティを処理します。必要に応じて、ユーザーはL7 ウェイポイントプロキシを有効にして、Istioの全機能にアクセスできます。ウェイポイントプロキシは、ztunnelオーバーレイ単体よりもリソースを消費しますが、依然としてインフラストラクチャのアンビエントコンポーネントとして実行され、アプリケーションポッドに変更を加える必要はありません。
アンビエントモードの設計と、Istio コントロールプレーンとの連携の詳細については、データプレーンおよびコントロールプレーンアーキテクチャのドキュメントを参照してください。
ztunnel
ztunnel(Zero Trust tunnel)コンポーネントは、Istioのアンビエントデータプレーンモードを支える、ノードごとの専用プロキシです。
ztunnelは、メッシュ内のワークロードを安全に接続および認証する役割を担います。ztunnelプロキシはRustで記述されており、意図的にスコープが限定されており、mTLS、認証、L4承認、およびテレメトリなどのL3およびL4機能を処理します。ztunnelは、ワークロードのHTTPトラフィックを終了したり、ワークロードのHTTPヘッダーを解析したりしません。ztunnelは、L3およびL4トラフィックがワークロード、他のztunnelプロキシ、またはウェイポイントプロキシに効率的かつ安全に転送されるようにします。
「セキュアオーバーレイ」という用語は、ztunnelプロキシを介してアンビエントメッシュで実装されるL4ネットワーク機能のセットをまとめて記述するために使用されます。トランスポートレイヤーでは、これはHBONEと呼ばれるHTTP CONNECTベースのトラフィックトンネリングプロトコルを介して実装されます。
ウェイポイントプロキシ
ウェイポイントプロキシは、Envoyプロキシのデプロイメントであり、Istioがサイドカーデータプレーンモードで使用しているのと同じエンジンです。
ウェイポイントプロキシはアプリケーションポッドの外側で実行されます。アプリケーションとは独立してインストール、アップグレード、およびスケーリングされます。
アンビエントモードでのIstioの一部のユースケースは、L4セキュアオーバーレイ機能のみで対応でき、L7機能は必要なく、ウェイポイントプロキシのデプロイは不要です。高度なトラフィック管理とL7ネットワーク機能を必要とするユースケースには、ウェイポイントのデプロイが必要です。
アプリケーションデプロイのユースケース | アンビエントモードの設定 |
---|---|
相互TLSによるゼロトラストネットワーク、クライアントアプリケーショントラフィックの暗号化およびトンネリングされたデータ転送、L4承認、L4テレメトリ | ztunnelのみ(デフォルト) |
上記に加えて、高度なIstioトラフィック管理機能(L7承認、テレメトリ、VirtualServiceルーティングを含む) | ztunnelとウェイポイントプロキシ |