Résolution de nom DNS

Ce document s'applique à Cloud Service Mesh avec Envoy et à l'ancien équilibrage de charge les API, qui incluent des règles de transfert.

Ce document explique la relation entre l'adresse IP virtuelle d'une règle de transfert et comment la règle de transfert est associée à un service. Le document contient également explique comment planifier et configurer le DNS pour une communication de service à service dans un maillage de services Cloud Service Mesh.

Prenons l'exemple suivant, qui comprend trois services, service-a, service-b et service-c, qui communiquent entre eux. Les développeurs utilisent souvent des noms de domaine complets dans leur code pour communiquer entre plusieurs services. Si votre nom de domaine est example.com, les trois services peuvent être représentés comme suit :

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

Lorsque vous configurez des ressources Cloud Service Mesh pour créer un maillage de services, vous configurez une règle de transfert pour chacun des services. Une règle de transfert représente la paire IP:Port du service de destination. Pour que le trafic de sortie soit intercepté par un proxy side-car Envoy, l'adresse IP de destination doit correspondre à l'adresse IP associée à la règle de transfert. Vous devez donc provisionner une adresse IP pour chaque service. Exemples :

  • service-a.example.com a l'adresse IP 10.0.0.100.
  • service-b.example.com a l'adresse IP 10.0.0.101.
  • service-c.example.com a l'adresse IP 10.0.0.102.

La configuration Cloud Service Mesh correspondante comporte trois règles de transfert, FR1, FR2 et FR3, utilisant chacune le port 80 :

  • FR1 possède l'adresse IP 10.0.0.100:80, associée à service-a.example.com.
  • FR2 possède l'adresse IP 10.0.0.101:80, associée à service-b.example.com.
  • FR3 possède l'adresse IP 10.0.0.102:80, associée à service-c.example.com.

Lorsque service-a appelle service-b à l'aide du nom de domaine complet service-b.example.com, trois choses se produisent :

  1. service-a effectue d'abord une résolution DNS pour service-b.example.com afin de résoudre l'adresse IP de service-b.
  2. Le domaine est résolu en 10.0.0.101 de sorte qu'il corresponde à l'adresse IP configurée de la règle de transfert de service-b.
  3. Le proxy Envoy peut désormais intercepter le trafic et l'acheminer vers le service de backend contenant des backends service-b, qu'il s'agisse de NEG ou de MIG.

Vous pouvez configurer une zone gérée privée de Cloud DNS pour héberger la ressource pour vos services.