Ordine di risoluzione dei nomi

Cloud DNS utilizza la seguente procedura per rispondere alle query provenienti dalle istanze di macchine virtuali (VM) Compute Engine e dai nodi Google Kubernetes Engine (GKE).

Per le VM Compute Engine diverse dai nodi GKE, Cloud DNS segue l'ordine di risoluzione della rete VPC per elaborare le query che riceve. Ogni VM deve essere configurata per utilizzare l'indirizzo IP del server metadati (169.254.169.254) come server dei nomi.

Per i nodi GKE:

  1. Cloud DNS tenta innanzitutto di associare una query utilizzando criteri di risposta e zone private a livello di cluster.

  2. Cloud DNS continua seguendo l'ordine di risoluzione della rete VPC.

Criteri di risposta basati su cluster e zone private

  1. Esegui la corrispondenza utilizzando le regole nei criteri di risposta basati sul cluster GKE. Cloud DNS analizza tutti i criteri di risposta basati su cluster GKE applicabili per trovare una regola in cui l'attributo nome DNS corrisponde al maggior numero possibile di query. Cloud DNS utilizza la corrispondenza del suffisso più lungo per eseguire la scansione dei criteri di risposta basati su cluster.

    1. Se Cloud DNS trova una regola del criterio di risposta corrispondente e la regola pubblica dati locali, Cloud DNS restituisce i dati locali come risposta, completando la procedura di risoluzione dei nomi.

    2. Se Cloud DNS trova una regola del criterio di risposta corrispondente e il comportamento della regola aggira il criterio di risposta, Cloud DNS prosegue con il passaggio successivo.

    3. Se Cloud DNS non riesce a trovare un criterio di risposta corrispondente o se non esiste un criterio di risposta a livello di cluster applicabile per il nodo, Cloud DNS passa al passaggio successivo.

  2. Associa i record nelle zone private a livello di cluster. Cloud DNS esegue la scansione di tutte le zone private gestite basate su cluster per trovare un record che corrisponda al maggior numero possibile di query. Cloud DNS utilizza la corrispondenza del suffisso più lungo per trovare i record nelle zone private con ambito cluster.

    1. Se la corrispondenza più specifica per la query è il nome di una zona privata basata su cluster, Cloud DNS utilizza i dati del record della zona per risolvere la richiesta.

      • Se la zona contiene un record che corrisponde esattamente alla query, Cloud DNS restituisce i dati del record.
      • Se la zona non contiene un record corrispondente, Cloud DNS restituisce NXDOMAIN.
    2. Se la corrispondenza più specifica per la query è il nome di una zona di inoltro basata su cluster, Cloud DNS inoltra la query a uno degli obiettivi di inoltro della zona di inoltro per completare la procedura di risoluzione dei nomi. Cloud DNS restituisce una delle seguenti risposte.

      • La risposta ricevuta dalla destinazione di inoltro.
      • Una risposta SERVFAIL, se la destinazione del reindirizzamento non risponde a Cloud DNS.
    3. Se la query non corrisponde a nessuna zona privata basata su cluster, Cloud DNS passa all'ordine di risoluzione della rete VPC.

Ordine di risoluzione della rete VPC

  1. Esegui la corrispondenza utilizzando il server DNS alternativo della rete VPC. Se la rete VPC ha un criterio del server in uscita, Google Cloud inoltra la query a uno dei server dei nomi alternativi definiti in quel criterio per completare la procedura di risoluzione dei nomi.

    Se esistono due o più server dei nomi alternativi nel parametro del server in uscita, Cloud DNS li classifica utilizzando un algoritmo interno. A partire da un ranking uguale, i server dei nomi alternativi vengono classificati in base a tassi più elevati di risposte corrette (incluse le risposte NXDOMAIN) e in base al tempo di round trip più breve (la latenza di risposta più bassa).

    Cloud DNS invia query a server dei nomi alternativi e restituisce risposte utilizzando la seguente procedura.

    • Se nel criterio del server in uscita sono presenti due o più server dei nomi alternativi, Cloud DNS invia prima la query al server dei nomi alternativo con il ranking più elevato e poi al server dei nomi alternativo con il ranking successivo qualora Cloud DNS non riceva nessuna risposta dal server dei nomi alternativo con il ranking più elevato. Se Cloud DNS non riceve risposta dal server dei nomi alternativo successivo in termini di ranking, continua a eseguire query sui server dei nomi alternativi in base al ranking decrescente finché non esaurisce l'elenco dei server dei nomi alternativi.

    • Se Cloud DNS riceve una risposta da un server dei nomi alternativo, la restituisce. Le risposte includono NXDOMAIN risposte.

    • Se Cloud DNS non riceve una risposta da tutti i server dei nomi alternativi nel criterio del server in uscita, Cloud DNS sintetizza una risposta SERVFAIL. Per risolvere i problemi di connettività dei server dei nomi alternativi, consulta i Requisiti di rete dei server dei nomi alternativi.

    Se la rete VPC non dispone di un criterio del server in uscita, Cloud DNS passa al passaggio successivo.

  2. Esegui la corrispondenza utilizzando le regole nei criteri di risposta basati sulla rete VPC. Cloud DNS analizza tutti i criteri di risposta della rete VPC applicabili per trovare una regola in cui l'attributo del nome DNS corrisponda al maggior numero possibile di query. Cloud DNS utilizza la corrispondenza del suffisso più lungo per eseguire la scansione dei criteri di risposta basati sulla rete VPC.

    1. Se Cloud DNS trova una regola del criterio di risposta corrispondente e la regola fornisce dati locali, Cloud DNS restituisce i dati locali come risposta, completando la procedura di risoluzione dei nomi.

    2. Se Cloud DNS trova una regola del criterio di risposta corrispondente e il comportamento della regola aggira il criterio di risposta, Cloud DNS prosegue con il passaggio successivo.

    3. Se Cloud DNS non riesce a trovare un criterio di risposta corrispondente o se non esiste un criterio di risposta basato sulla rete VPC applicabile per la VM o il nodo, Cloud DNS passa al passaggio successivo.

  3. Abbina i record nelle zone private gestite basate sulla rete VPC. Cloud DNS esegue la scansione di tutte le zone private gestite autorizzate per la rete VPC alla ricerca di un record che corrisponda al maggior numero possibile di elementi della query. Cloud DNS utilizza la corrispondenza del suffisso più lungo per trovare i record.

    1. Se la corrispondenza più specifica per la query è il nome di una zona privata basata sulla rete VPC, Cloud DNS utilizza i dati dei record di quella zona per risolvere la richiesta.

      • Se la zona contiene un record che corrisponde esattamente alla query, Cloud DNS restituisce i dati del record.
      • Se la zona non contiene un record corrispondente, Cloud DNS restituisce NXDOMAIN.
    2. Se la corrispondenza più specifica per la query è il nome di una zona di inoltro basata sulla rete VPC, Cloud DNS inoltra la query a uno dei target di inoltro della zona di inoltro per completare la procedura di risoluzione dei nomi. Cloud DNS restituisce una delle seguenti risposte.

      • La risposta ricevuta dalla destinazione di inoltro.
      • Una risposta SERVFAIL, se la destinazione del reindirizzamento non risponde a Cloud DNS.
    3. Se la corrispondenza più specifica per la query è il nome di una zona di peering basata sulla rete VPC, Cloud DNS interrompe l'attuale procedura di risoluzione dei nomi e avvia una nuova procedura di risoluzione dei nomi dal punto di vista della rete VPC di destinazione della zona di peering.

    Se la query non corrisponde a una zona privata, a una zona di inoltro o a una zona di peering, Cloud DNS passa al passaggio successivo.

  4. Abbina i record nelle zone interne di Compute Engine. Cloud DNS esegue la scansione di tutte le zone DNS interne di Compute Engine applicabili per trovare un record che corrisponda al maggior numero possibile di query. Cloud DNS utilizza la corrispondenza del suffisso più lungo per trovare i record.

    1. Se la corrispondenza più specifica per la query è un nome DNS interno di Compute Engine, Cloud DNS restituisce l'indirizzo IP interno dell'interfaccia di rete della VM o il relativo puntatore di ricerca inversa come risposta, completando la procedura di risoluzione dei nomi.
  5. Abbina il record utilizzando la query DNS pubblica. Google Cloud segue il record SOA (Start of Authority) per eseguire query sulle zone disponibili pubblicamente, incluse le zone pubbliche Cloud DNS. Cloud DNS restituisce una delle seguenti risposte.

    • La risposta ricevuta da un server dei nomi autorevole.
    • Una risposta NXDOMAIN, se il record non esiste.

Esempio

Supponiamo di disporre di due reti VPC, vpc-a e vpc-b, e di un cluster GKE, cluster-a, insieme alle seguenti risorse con ambito:

  1. vpc-a è autorizzato a eseguire query sulle seguenti zone private. Tieni presente il punto finale in ogni voce:

    • static.example.com.
    • 10.internal.
  2. peer.com. è una zona di peering che può eseguire query sull'ordine di risoluzione dei nomi VPC di vpc-b.

  3. vpc-a non è associato a nessun server di uscita o criterio di risposta.

  4. cluster-a è autorizzato a eseguire query su una zona privata denominata example.com. cluster-a non è inoltre associato a nessun server di uscita o a nessun criterio di risposta.

  5. Una VM in cluster-a può eseguire query su:

    • example.com e bambini (incluso static.example.com), ha risposto la zona privata denominata example.com, autorizzata a cluster-a.
    • 10.internal il giorno vpc-a.
    • peer.com utilizzando la zona di peering.
  6. Una VM non in cluster-a può eseguire query su:

    • static.example.com e bambini, a cui risponde la zona privata chiamata static.example.com autorizzata a vpc-a. Le query per example.com resistono le risposte di internet.
    • 10.internal il giorno vpc-a.
    • peer.com utilizzando la zona di peering.

Passaggi successivi