Resolución de nombre del DNS
Este documento se aplica a Cloud Service Mesh con Envoy y las APIs de balanceo de cargas anteriores, que incluyen reglas de reenvío.
En este documento, se explica la relación entre la dirección IP virtual de una regla de reenvío y cómo se asocia la regla de reenvío con un servicio. En el documento, también se describe cómo planificar y configurar DNS para una comunicación de servicio a servicio en una malla de servicios de Cloud Service Mesh.
Considera este ejemplo, en el que hay tres servicios, service-a
, service-b
y service-c
, que se comunican entre sí. Los desarrolladores suelen usar nombres de dominio completamente calificados en su código para la comunicación de servicio a servicio. Si el nombre de tu dominio es example.com, los tres servicios podrían representarse de la siguiente manera:
service-a.example.com
service-b.example.com
service-c.example.com
Cuando configuras los recursos de Cloud Service Mesh para crear una malla de servicios, configuras una regla de reenvío para cada uno de los servicios. Una regla de reenvío representa el par IP:Port
del servicio de destino. Para que el tráfico de salida sea interceptado por un proxy de sidecar de Envoy, la dirección IP de destino debe coincidir con la dirección IP asociada con la regla de reenvío. Por lo tanto, debes aprovisionar una dirección IP para cada servicio. Por ejemplo:
service-a.example.com
tiene la dirección IP10.0.0.100
.service-b.example.com
tiene la dirección IP10.0.0.101
.service-c.example.com
tiene la dirección IP10.0.0.102
.
La configuración correspondiente de Cloud Service Mesh tiene tres reglas de reenvío, FR1, FR2 y FR3, cada una con el puerto 80
:
- FR1 tiene la dirección IP
10.0.0.100:80
, que está asociada conservice-a.example.com
. - FR2 tiene la dirección IP
10.0.0.101:80
, que está asociada conservice-b.example.com
. - FR3 tiene la dirección IP
10.0.0.102:80
, que está asociada conservice-c.example.com
.
Cuando service-a
invoca service-b
mediante el nombre de dominio completamente calificado (FQDN) service-b.example.com
, ocurren tres situaciones:
service-a
primero realiza una búsqueda de DNS paraservice-b.example.com
a fin de resolver la dirección IP deservice-b
.- El dominio se resuelve en
10.0.0.101
para que coincida con la dirección IP configurada de la regla de reenvío deservice-b
. - El proxy de Envoy ahora puede interceptar el tráfico y enrutarlo al servicio de backend que tiene los backends de
service-b
, ya sean NEG o MIG.
Puedes configurar una zona privada administrada de Cloud DNS para alojar los registros de recursos de tus servicios.