サービスメッシュのコントロールプレーンであるTraffic Directorは、Google Cloud Next 19でベータリリースを発表した。Traffic Directorは、回復力、負荷分散、トラフィック制御機能を提供するGoogle Cloud Platform(GCP)のフルマネージドのサービスメッシュ制御プレーンである。トラフィック制御機能にはカナリアデプロイやA/Bテストがある。
Traffic Directorは、サービスメッシュデータプレーン内のプロキシ向けにトラフィック設定と制御オプションを提供する。「データプレーン」は、既存のサービスと並行してアウトプロセスの「サイドカー」としてデプロイされるクライアントプロキシで構成される。その役割はネットワークレベルの操作を実行し、すべてのインバウンドトラフィックとアウトバウンドトラフィックを監視することである。オープンソースのEnvoy xDS v2 API(Googleでは「xDSv2」と呼ばれている)を使用すると、Traffic DirectorはEnvoyなど準拠するいずれのプロキシとも連携できる。
Traffic Directorは、VMベースのサービスとコンテナ化されたサービスの両方をサポートする。また、複数のリージョンのVMとクラスタ間でグローバルなロードバランシングを提供する。ヘルス、ルーティング、バックエンドの情報をサービスプロキシに提供することで、Traffic Directorはグローバルなトラフィック配信を最適化し、可用性のある最も近いサービスにトラフィックを送信する。Traffic Directorを使用すると、ユーザは複数のリージョンにクラスタをデプロイすることができ、発信元の要求に最も近いクラスタのヘルスが低下すると、トラフィックは利用可能な最も近いクラスタに向かう。
Traffic Directorグローバルロードバランシング [Traffic Directorのドキュメントより]
ロードバランシングソリューションの一部として、Traffic Directorはサービスヘルスチェックを一元化し、個々のプロキシがクラスタ内の他のすべてのサービスのヘルスをチェックする必要性を減らしている(ヘルスチェックが必要な数はサービスの数に関連して2次関数的に増加するので)。集約されたサービス正常性情報は、Envoy Endpoint Discovery Service (EDS) APIを介して集中ストアから各プロキシに配信される。
Traffic Directorは、プロキシによって報告された負荷も監視して、いつ自動スケーリングを実行する必要があるかを判断する。負荷が増加すると、Traffic Directorはオートスケーラーに通知し、それが必要なサイズにスケールされるのを待つ。スケーリングプロセスのステップ数を減らしてトラフィックスパイクの応答時間を最小にする。このデマンドドリブンの自動スケーリングにより、事前にウォームアップしたりクラウドプロバイダに連絡したりする必要性が少なくなる。
Traffic Directorは、一般向けの提供開始(GA)に至ったときに99.99%のSLA保証付きで、Enterpriseとして推奨されるフルマネージドのGCPサービスとなる。Traffic Directorの設定では、ユーザはリライト、リダイレクト、ヘッダー変換などのアクションをHTTPマッチルールとして適用することによってカスタムトラフィック制御ポリシーを設定できる。Googleによると、Traffic Directorの利点には、シンプルなトラフィック管理サービス、サービスの回復力、ユーザのアプリケーション拡大に伴うシームレスなスケーリングである。
Traffic Directorは現在ベータ版であり、SLAや廃止予定のポリシーの適用を受けていないため、後方互換性のない変更が行われる可能性がある。ベータリリースは現在HTTPトラフィックとGoogle APIのみのサポートに制限されている。Istio APIはサポートされていない。ルーティングルールやトラフィックポリシーなどのトラフィック制御機能はアルファでのみ利用可能である。ベータ版の利用を開始するには、Traffic Directorセットアップガイドをご覧ください。