Traffic Director と DNS の名前の解決

このドキュメントは、Envoy と古い API を使用する Traffic Director に適用されます(転送ルールを含む)。

転送ルールの仮想 IP アドレスと、転送ルールがサービスに関連付けられる仕組みとの関係について説明します。また、Traffic Director サービス メッシュ内のサービス間通信用の DNS を計画して構成する方法についても概説します。

この例では、互いに通信する 3 つのサービス service-aservice-bservice-c を使用して説明します。デベロッパーは、サービス間通信のコードで完全修飾ドメイン名を使用することがよくあります。ドメイン名が example.com の場合、3 つのサービスは次のように表現されます。

  • service-a.example.com
  • service-b.example.com
  • service-c.example.com

サービス メッシュを作成するように Traffic Director リソースを構成する場合は、各サービスの転送ルールを構成します。転送ルールは、宛先サービスの IP:Port ペアを表します。下り(外向き)トラフィックが Envoy サイドカー プロキシによってインターセプトされるようにするには、宛先 IP アドレスが転送ルールに関連付けられた IP アドレスと一致している必要があります。したがって、サービスごとに IP アドレスをプロビジョニングする必要があります。例:

  • service-a.example.com に IP アドレス 10.0.0.100 があります
  • service-b.example.com に IP アドレス 10.0.0.101 があります
  • service-c.example.com に IP アドレス 10.0.0.102 があります

対応する Traffic Director の構成に、ポート 80 を使用する 3 つの転送ルール(FR1、FR2、FR3)があります。

  • FR1 には IP アドレス 10.0.0.100:80 があり、service-a.example.com に関連付けられます。
  • FR2 には IP アドレス 10.0.0.101:80 があり、service-b.example.com に関連付けられます。
  • FR3 には IP アドレス 10.0.0.102:80 があり、service-c.example.com に関連付けられます。

service-a が完全修飾ドメイン名(FQDN)service-b.example.com を使用して service-b を呼び出すと、次の 3 つのことが発生します。

  1. まず、service-aservice-b.example.com の DNS ルックアップを実行して、service-b の IP アドレスを解決します。
  2. ドメインは、service-b の転送ルールに構成されている IP アドレスと一致するように、10.0.0.101 に解決されます。
  3. これで、Envoy プロキシは、トラフィックをインターセプトして service-b のバックエンド(NEG、MIG のいずれでも)を持つバックエンド サービスにトラフィックを転送できるようになりました。

Cloud DNS 限定公開マネージド ゾーンを構成して、サービスのリソース レコードをホストできます。