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 IP10.0.0.100
.service-b.example.com
a l'adresse IP10.0.0.101
.service-c.example.com
a l'adresse IP10.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 :
service-a
effectue d'abord une résolution DNS pourservice-b.example.com
afin de résoudre l'adresse IP deservice-b
.- 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 deservice-b
. - 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.