Traffic Director の転送ルールの使用

Traffic Director は転送ルールを使用して、メッシュ内のトラフィックがルーティングされるターゲット プロキシを決定します。

各転送ルールは、サービスに対して単一のグローバル IPv4 アドレスを提供します。このアドレスを使用して、サービスの内部 DNS レコードを作成できます(たとえば、Cloud DNS マネージド プライベート ゾーンを使用します)。転送ルールのメタデータ フィルタは、xDS 準拠のサイドカー プロキシが構成を受け取る条件を指定します。

Traffic Director のコントロール プレーンについては、内部、セルフマネージド、グローバルの各転送ルールが、トラフィックの宛先を決定するルールを含む URL マップを指す IP アドレス、ポート、プロトコルでトラフィックをルーティングします。URL マップはまた、ヘルスチェックを指定するデフォルト バックエンド サービスを指定し、仮想マシン インスタンスを含むマネージド インスタンス グループや GKE バックエンド ポッドを含むネットワーク エンドポイント グループ など、適切なバックエンドを決定します。

TTraffic Director の転送ルールがハイライト表示されている(クリックして拡大)
ハイライト表示された Traffic Director の転送ルール(クリックして拡大)

この図は、Traffic Director アーキテクチャにおける転送ルールの位置付けを示しています。

転送ルールのプロパティ

転送ルールのリソースには、Traffic Director に適用される次のプロパティが含まれています。宛先 IP アドレス、プロトコル、ポート番号に一致するトラフィックは、転送ルールによって処理されます。

転送ルールの 0.0.0.0 IP アドレスは、Traffic Director のオプションの 1 つです。0.0.0.0 IP アドレスは、任意の IP アドレスを意味します。

  • プロキシ デプロイでは、他に特定の一致が見つからない場合にプロキシは受信トラフィックを照合します。
  • プロキシレス デプロイを使用すると、IP アドレスが不要であることを指定できます。以下では、ターゲット gRPC プロキシの 0.0.0.0 IP アドレスについて詳しく説明します。
name
(必須)転送ルールの名前。名前はこのプロジェクト内で一意であり、1~63 文字の長さで、正規表現 [a-z]([-a-z0-9]*[a-z0-9])? と一致している必要があります。この正規表現は、先頭文字に小文字を使用し、残りの文字には、ダッシュ、小文字、数字を使用する必要があることを示しています。ただし最後の文字にはダッシュを使用できません。
IPAddress
(必須)0.0.0.0127.0.0.1、または RFC 1918 アドレスのいずれかの中から 1 つを指定する必要があります。Traffic Director の転送ルールの IP アドレスは、VPC ネットワーク内のサブネットの IP アドレス範囲に対応する必要はありません。特定の VPC ネットワーク、IP アドレス、ポートに対して設定できる内部セルフマネージド転送ルールは 1 つのみです。たとえば、同じ VPC ネットワークで、0.0.0.0 IP アドレスとポート 80 を使用する 2 つの転送ルールを作成することはできません。
ターゲット gRPC プロキシを使用した IPAddress
validateForProxyless フィールドが TRUE に設定されたターゲット gRPC プロキシを参照する転送ルールは、IP アドレスを 0.0.0.0 に設定する必要があります。xds スキームを使用する gRPC クライアントは、DNS ルックアップを実行して、チャネル URI のホスト名を解決しません。そのようなクライアントは、Traffic Director に LDS リクエストを送信して、ターゲット URI のホスト名 [:port] を解決します。DNS ルックアップはなく、ホスト名の DNS エントリは不要です。その結果、Traffic Director は 0.0.0.0 IP アドレスと、URI で指定されたポート(デフォルト 80)を使用して転送ルールを検索します。次に、転送ルールで参照されるターゲット プロキシの URL マップで、一致するホストルールを探します。
target
(必須)この転送ルールがトラフィックを転送するターゲット プロキシ。Traffic Director は target-http-proxy のみをサポートします。 GCP Console を使用して転送ルールを構成すると、ターゲット プロキシが自動的に構成されます。gcloud または API を使用する場合は、転送ルールを作成する前にターゲット プロキシが存在している必要があります。特定のプロキシで複数の転送ルールを使用できます。
IPProtocol
(必須)この転送ルールが一致するプロトコルのタイプ。サポートされている値は TCP のみです。
loadBalancingScheme
(必須)転送ルールの使用方法を指定します。Traffic Director の有効な値は INTERNAL_SELF_MANAGED です。
portRange

(必須)ポートまたはダッシュで結合されたポート範囲。これらのポートに送信された指定されたプロトコルのパケットは、適切なバックエンドに転送されます。1 つの範囲を指定できます。例: 80、または 80-8080。特定の VPC ネットワーク、IP アドレス、ポートに対して設定できる内部セルフマネージド転送ルールは 1 つのみです。たとえば、同じ VPC ネットワークで、0.0.0.0 IP アドレスとポート 80 を使用する 2 つの転送ルールを作成することはできません。

プロキシレス gRPC サービスの場合、転送ルール内のポートは、gRPC アプリケーションがサービスに接続するために使用する URI で指定されたポートに一致します。URI にポートが指定されていない場合は、80 がデフォルトのポートになります。

network

(必須) Envoy プロキシを実行している Google Cloud VM が配置されている VPC を指定します。Envoy プロキシは、プロキシがデプロイされている同じネットワークに対して定義した Traffic Director の構成を読み取ります。default という名前の VPC ネットワークまたはカスタム ネットワークを使用できます。

Traffic Director は Google Cloud ネットワーク内のみでクライアントの負荷分散をサポートし、転送ルールでネットワーク名を指定します。VPC ピアリングはサポートされていません。

グローバル転送ルールの追加

Traffic Director の設定全体の中で転送ルールを構成する方法については、以下をご覧ください。

次のステップ