Risoluzione dei nomi DNS

Questo documento riguarda Cloud Service Mesh con Envoy e le API di bilanciamento del carico meno recenti, che includono regole di forwarding.

Questo documento spiega la relazione tra l'indirizzo IP virtuale di una regola di forwarding e il modo in cui la regola di forwarding viene associata a un servizio. Il documento descrive inoltre come pianificare e configurare il DNS per una comunicazione da servizio a servizio in un mesh di servizi Cloud Service Mesh.

Considera questo esempio, in cui esistono tre servizi, service-a, service-b e service-c, che comunicano tra loro. Gli sviluppatori spesso utilizzano nomi di dominio completi nel codice per la comunicazione da un servizio all'altro. Se il tuo nome di dominio è example.com, i tre servizi potrebbero essere rappresentati come:

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

Quando configuri le risorse Cloud Service Mesh per creare un mesh di servizi, configuri una regola di forwarding per ciascuno dei servizi. Una regola di forwarding rappresenta la coppia IP:Port del servizio di destinazione. Affinché il traffico in uscita venga intercettato da un proxy sidecar Envoy, l'indirizzo IP di destinazione deve corrispondere all'indirizzo IP associato alla regola di forwarding. Devi quindi eseguire il provisioning di un indirizzo IP per ogni servizio. Ad esempio:

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

La configurazione di Cloud Service Mesh corrispondente ha tre regole di forwarding (FR1, FR2 e FR3), ognuna con la porta 80:

  • FR1 ha l'indirizzo IP 10.0.0.100:80, che è associato a service-a.example.com.
  • FR2 ha l'indirizzo IP 10.0.0.101:80, che è associato a service-b.example.com.
  • FR3 ha l'indirizzo IP 10.0.0.102:80, che è associato a service-c.example.com.

Quando service-a richiama service-b utilizzando il nome di dominio completo (FQDN) service-b.example.com, si verificano tre cose:

  1. service-a esegue prima una ricerca DNS per service-b.example.com per risolvere l'indirizzo IP di service-b.
  2. Il dominio è stato risolto in 10.0.0.101, in modo che corrisponda all'indirizzo IP configurato della regola di forwarding di service-b.
  3. Il proxy Envoy è ora in grado di intercettare il traffico e instradarlo al servizio di backend che ha i backend di service-b, che si tratti di NEG o MIG.

Puoi configurare una zona privata gestita di Cloud DNS per ospitare i record di risorse per i tuoi servizi.