Traffic Director と DNS の名前の解決
このドキュメントは、Envoy と古い API を使用する Traffic Director に適用されます(転送ルールを含む)。
転送ルールの仮想 IP アドレスと、転送ルールがサービスに関連付けられる仕組みとの関係について説明します。また、Traffic Director サービス メッシュ内のサービス間通信用の DNS を計画して構成する方法についても概説します。
この例では、互いに通信する 3 つのサービス service-a
、service-b
、service-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 つのことが発生します。
- まず、
service-a
がservice-b.example.com
の DNS ルックアップを実行して、service-b
の IP アドレスを解決します。 - ドメインは、
service-b
の転送ルールに構成されている IP アドレスと一致するように、10.0.0.101
に解決されます。 - これで、Envoy プロキシは、トラフィックをインターセプトして
service-b
のバックエンド(NEG、MIG のいずれでも)を持つバックエンド サービスにトラフィックを転送できるようになりました。
Cloud DNS 限定公開マネージド ゾーンを構成して、サービスのリソース レコードをホストできます。