Traffic Director のターゲット プロキシ
このドキュメントは、ロード バランシング API を使用する Traffic Director にのみ適用されます。Traffic Director をデプロイするには、サービス ルーティング API または Google Kubernetes Engine Gateway API を使用することを強くおすすめします。
Traffic Director を構成すると、構成するリソースの 1 つがターゲット プロキシになります。Traffic Director の観点では、ターゲット プロキシは主に次の 2 つの目的で使用されます。
サービスに関連付けられたバックエンドまたはエンドポイントへの接続を開いたときに Traffic Director クライアントが使用するプロトコルを定義する。
転送ルールと URL マップを使用してルーティング ルール マップを作成する。ルーティング ルール マップは、ターゲット プロキシのタイプに応じて、追加のルーティング機能(ルーティング ルールなど)を提供します。無効な選択肢は、ユーザー インターフェースに表示されないか、API によって拒否されます。
ターゲット プロキシのタイプとリクエスト プロトコル
Traffic Director は、構成しているターゲット プロキシのタイプに基づいて、クライアント向けに異なる構成を生成します。ターゲット プロキシのタイプを構成する場合、Traffic Director クライアントは特定のリクエスト プロトコルを使用します。
ターゲット プロキシ | リクエスト プロトコル |
---|---|
HTTPS | クライアントが HTTPS 接続を開始する |
HTTP | クライアントが HTTP 接続を開始する |
gRPC | クライアントが gRPC 接続を開始する |
TCP | クライアントが TCP 接続を開始する |
選択できる対象が 1 つのタイプのみに制限されることはありません。たとえば、あるサービスに対処するときに HTTP を使用する一方で、他のサービスに対処するときは TCP を使用する場合があります。そのようなユースケースでは、ターゲット HTTP プロキシとターゲット TCP プロキシの両方を作成する必要があります。
ルーティング ルール マップにおける有効なリソースの組み合わせ
構成ミスを回避するため、Traffic Director では、次のようなルーティング ルール マップのみ作成できます。
- 転送ルール > グローバル ターゲット HTTPS プロキシ > URL マップ > 1 つ以上のバックエンド サービス
- 転送ルール > グローバル ターゲット HTTP プロキシ > URL マップ > 1 つ以上のバックエンド サービス
- 転送ルール > グローバル ターゲット gRPC プロキシ > URL マップ > 1 つ以上のバックエンド サービス
- 転送ルール > グローバル ターゲット TCP プロキシ > 1 つのバックエンド サービス
Google Cloud コンソールを使用してターゲット HTTP プロキシを設定する場合、ターゲット プロキシはルーティング ルール マップ構成の一部として暗黙的に設定されます。TCP プロキシの設定は、Google Cloud コンソールでは現時点でサポートされていません。
Google Cloud CLI または API を使用している場合は、ターゲット プロキシを明示的に構成する必要があります。
トラフィックの処理
以降のセクションでは、使用するターゲット プロキシのタイプに応じてトラフィックを処理する方法について説明します。
ターゲット HTTP または HTTPS プロキシの使用
HTTP または HTTPS ベースのサービスを構成すると、各サービス インスタンスとともに、Envoy プロキシがデプロイされます。Traffic Director は、この Envoy プロキシを構成します。これはサービス メッシュ データプレーンの一部として次のようにトラフィックを処理します。
Envoy プロキシが送信リクエストを受信します。次に、リクエストの宛先 IP アドレス / ポートと、ターゲット HTTP プロキシまたは HTTPS プロキシを参照する各転送ルールで構成された IP アドレス /ポートを比較します。一致するものが見つかると、Envoy プロキシは、ターゲット プロキシの対応する URL マップに従ってリクエストを評価します。
ターゲット TCP プロキシの使用
TCP ベースのサービスを構成すると、通常、各サービス インスタンスとともに Envoy プロキシがデプロイされます。Traffic Director は、この Envoy プロキシを構成します。これはサービス メッシュ データプレーンの一部として次のようにトラフィックを処理します。
Envoy プロキシが送信リクエストを受信します。次に、リクエストの宛先 IP アドレス / ポートと、ターゲット TCP プロキシを参照する各転送ルールで構成された IP アドレス / ポートを比較します。各転送ルールは、デフォルトのバックエンド サービスを参照するターゲット プロキシに TCP トラフィックをルーティングします。バックエンド サービスはヘルスチェックを指定し、適切なバックエンドを決定します。
ターゲット gRPC プロキシの使用
gRPC ベースのサービスを構成すると、通常、サービス インスタンスと一緒に Envoy プロキシはデプロイされません。代わりに、Traffic Director が gRPC ライブラリを構成します。このライブラリはサービス メッシュ データプレーンの一部であり、次のようにしてトラフィックを処理します。
gRPC ライブラリは、URI で指定された hostname[:port]
と、ターゲット gRPC プロキシによって参照されるすべての URL マップのホストルールを比較します。一致するものが見つかると、gRPC ライブラリは、一致するホストルールに関連付けられたパスルールに従ってリクエストを評価します。
ターゲット プロキシのリソース
ターゲット プロキシに関する情報を追加、削除、一覧表示、取得するには、REST API または gcloud CLI を使用します。
また、ターゲット プロキシに関する情報を取得するには、次の gcloud
コマンドを使用します。
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] describe TARGET_PROXY_NAME
API
REST API でのターゲット プロキシ操作時に使用できるプロパティとメソッドについては、Traffic Director でサポートされている次のリソースをご覧ください。
gcloud CLI
Google Cloud CLI については、次のリソースをご覧ください。
次のステップ
- Traffic Director の詳細については、Traffic Director の概要をご覧ください。
- Traffic Director のデプロイについては、Traffic Director のデプロイガイドのドキュメントをご覧ください。