Configura i criteri di routing DNS e i controlli di integrità

Questa pagina descrive come configurare i criteri di routing DNS e attivare i controlli di integrità utilizzando Cloud DNS. Prima di utilizzare questa pagina, familiarizati con i criteri di routing DNS e i controlli di integrità.

Per utilizzare i criteri di routing DNS, crea un insieme di record di risorse e scegli uno dei seguenti criteri di routing DNS da applicare all'insieme di record di risorse:

I criteri di routing DNS supportano anche più indirizzi IP per ogni posizione geografica. Se specificato per una determinata località geografica, vengono restituiti più indirizzi IP in base a un criterio WRR (round robin ponderato) con la stessa ponderazione. La combinazione di un criterio di routing basato su dati geografici con un criterio WRR (round robin pesato) ponderato personalizzato non è supportata.

A un set di record di risorse è possibile applicare un solo tipo di criterio di routing alla volta. Non puoi combinare i criteri di routing, tranne quando configuri un criterio di routing di failover, nel qual caso puoi impostare un criterio di routing per geolocalizzazione come backup. L'accesso globale deve essere abilitato per i bilanciatori del carico a livello di area geografica.

Crea criteri di routing DNS per le zone private

Prima di creare i criteri di routing DNS per le zone private, completa i seguenti passaggi.

  1. Crea una zona privata.
  2. Configura uno dei seguenti bilanciatori del carico interni:
  3. Crea regole di inoltro per il bilanciatore del carico interno.
  4. Configura il controllo di integrità per il bilanciatore del carico interno.

Per creare criteri di routing DNS per le zone private, segui questi passaggi.

Console

Avvia la configurazione

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sul nome della zona gestita a cui vuoi aggiungere il record.

  3. Nella pagina Dettagli zona, fai clic su Aggiungi con criterio di routing.

Dati di base

  1. (Facoltativo) Nella pagina Crea set di record con criterio di routing, in Nome DNS, inserisci un sottodominio del nome DNS, ad esempio mail. Il punto finale viene aggiunto automaticamente.

  2. In Tipo di record di risorse, seleziona un'opzione.

  3. In TTL, inserisci un valore numerico per la durata del record della risorsa, ovvero per quanto tempo può essere memorizzato nella cache. Questo valore deve essere un numero intero positivo.

  4. (Facoltativo) Per Unità TTL, seleziona l'unità di tempo, ad esempiominutes. Il valore predefinito è impostato su minutes.

  5. Fai clic su Avanti.

Tipo di criterio di routing

  1. In Criteri di routing, seleziona Round robin ponderata, Geolocalizzazione o Failover.
  2. Fai clic su Avanti.

Dati delle policy di routing

WRR

  1. In Peso, inserisci il peso corrispondente a questa sottosezione dei dati del record di risorse (RR).

    Questa ponderazione deve essere un numero non negativo compreso tra 0,0 e 1000,0. Il rapporto tra il traffico indirizzato al target viene calcolato dal rapporto tra il singolo peso e il totale di tutti i pesi. Ad esempio, se il target A ha un valore ponderato di 25 e il target B di 75, con un valore ponderato totale di 100, Cloud DNS indirizza 25/100 = 0,25 (25%) del traffico totale al target A e 75/100= 0,75 (75%) al target B.

  2. Nella sezione Target IPv4 sottoposti a controllo di integrità:

    1. In Progetto, seleziona il progetto in cui esiste la regola di forwarding.
    2. In Regola di inoltro, seleziona una regola di forwarding.

      La regola di forwarding specifica un indirizzo IP interno, una porta e uno dei seguenti target:

  3. Fai clic su Fine.

  4. (Facoltativo) Per aggiungere un altro target sottoposto a controllo di integrità, fai clic su Aggiungi target.

  5. (Facoltativo) Per consentire gli indirizzi IPv4 senza controllo di integrità:

    1. Seleziona Consenti indirizzi IPv4 senza controllo di integrità.
    2. In Indirizzo IPv4, inserisci un indirizzo IPv4.
  6. (Facoltativo) Per aggiungere un altro insieme di dati di routing del criterio WRR, fai clic su Aggiungi dati di routing.

  7. Fai clic su Avanti.

Geolocalizzazione

  1. Per Recinzione virtuale, seleziona Disattivata o Attivata.

    Se attivi il geofencing, il traffico viene limitato a una determinata località geografica, anche se tutti gli endpoint in quella località non sono integri.

  2. Per Regione di origine, seleziona una regione di origine Google Cloud valida.

  3. Nella sezione Target IPv4 sottoposti a controllo di integrità:

    1. In Progetto, seleziona il progetto in cui esiste la regola di forwarding.
    2. In Regola di inoltro, seleziona una regola di forwarding.

      La regola di forwarding specifica un indirizzo IP interno, una porta e uno dei seguenti target:

  4. Fai clic su Fine.

  5. (Facoltativo) Per aggiungere un altro target sottoposto a controllo di integrità, fai clic su Aggiungi target.

  6. (Facoltativo) Per consentire gli indirizzi IPv4 senza controllo di integrità:

    1. Seleziona Consenti indirizzi IPv4 senza controllo di integrità.
    2. In Indirizzo IPv4, inserisci un indirizzo IPv4.
  7. (Facoltativo) Per aggiungere un insieme di dati di routing per un'altra policy di geolocalizzazione, fai clic su Aggiungi dati di routing.

  8. Fai clic su Avanti.

Failover

  1. Nella sezione Target primari sottoposti a controllo di integrità:

    1. In Progetto, seleziona il progetto in cui esiste la regola di forwarding.
    2. In Regola di inoltro, seleziona una regola di forwarding.

      La regola di forwarding specifica un indirizzo IP interno, una porta e uno dei seguenti target:

  2. Nella sezione Criterio di geolocalizzazione del backup:

    1. Per Recinzione virtuale, seleziona Disattivata o Attivata. Se attivi il geofencing, il traffico viene limitato a una determinata località geografica, anche se tutti gli endpoint in quella località non sono integri.
    2. Per Regione di origine, seleziona una regione di origine Google Cloud valida.
    3. Nella sezione Target IPv4 sottoposti a controllo di integrità:

      1. In Progetto, seleziona il progetto in cui esiste la regola di forwarding.
      2. In Regola di inoltro, seleziona una regola di forwarding.

        La regola di forwarding specifica una delle seguenti opzioni:

        • Un indirizzo IP interno, una porta e un servizio di backend regionale
        • Un proxy HTTP(S)
        • Un proxy TCP

    Se tutti gli indirizzi IP principali non sono integri, il traffico viene gestito automaticamente in base al criterio di geolocalizzazione di backup.

  3. Fai clic su Fine.

  4. (Facoltativo) Per aggiungere un altro target sottoposto a controllo di integrità, fai clic su Aggiungi target.

  5. (Facoltativo) Per consentire gli indirizzi IPv4 senza controllo di integrità:

    1. Seleziona Consenti indirizzi IPv4 senza controllo di integrità.
    2. In Indirizzo IPv4, inserisci un indirizzo IPv4.
  6. (Facoltativo) Per aggiungere un altro insieme di dati di routing dei criteri di geolocalizzazione di backup, fai clic su Aggiungi dati di routing.

  7. Nel campo Traffico graduale (%), inserisci la percentuale di trafico inviato ai target di failover, indipendentemente dallo stato del controllo di integrità dei target principali.

  8. Fai clic su Avanti.

Rivedi e crea

  1. Fai clic su Esamina.
  2. Esamina il set di record Cloud DNS con la configurazione del criterio di routing.
  3. Fai clic su Crea.

gcloud

Per un set di record di risorse, puoi impostare un criterio di routing (routingPolicy) o i dati DNS (rrdatas), ma non entrambi. Per passare da un criterio di routing ai dati DNS, aggiorna il set di record di risorse. Ad esempio, per modificare un insieme di record di risorse contenente dati DNS (rrdatas) in modo che contenga un criterio di routing (routingPolicy), elimina rrdatas e aggiungi routingPolicy allo stesso insieme di record di risorse.

Per creare criteri di routing DNS per le zone private, segui questi passaggi.

Esegui il comando gcloud dns record-sets create:

WRR

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=WRR \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Sostituisci quanto segue:

  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cacheResourceRecordSet, ad esempio 30.
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A. Per un elenco dei tipi di record supportati, consulta Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
  • ROUTING_POLICY_DATA: inserisci un elenco delimitato da punto e virgola nel formato ${weight_percent}:${rrdatas}, ad esempio .8=203.0.113.1;.2=198.51.100.1. Specifica il peso come valore decimale non negativo. Il rapporto tra il traffico indirizzato al target viene calcolato dal rapporto tra il peso individuale e il totale di tutti i pesi. I nomi delle regole di inoltro sono valori accettabili e comportano il controllo dell'integrità.
  • --enable-health-checking: il flag per attivare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome regola di forwarding anziché l'indirizzo IP nel campo --routing-policy-data.

Geolocalizzazione

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Sostituisci quanto segue:

  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cacheResourceRecordSet, ad esempio 30.
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A. Per un elenco dei tipi di record supportati, consulta Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
  • ROUTING_POLICY_DATA: inserisci un elenco delimitato da punto e virgola nel formato ${region}=${IP_address}, ad esempio asia-east1=198.51.100.1;us-central1=203.0.113.1. Puoi specificare più indirizzi IP per una singola regione aggiungendoli separati da una virgola. I nomi delle regole di inoltro sono valori accettabili e comportano il controllo dell'integrità.
  • --enable-health-checking: il flag per attivare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome regola di forwarding anziché l'indirizzo IP nel campo --routing-policy-data.

Geolocalizzazione con recinto virtuale

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-geo-fencing \
  --enable-health-checking

Sostituisci quanto segue:

  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cacheResourceRecordSet, ad esempio 30.
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A. Per un elenco dei tipi di record supportati, consulta Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
  • ROUTING_POLICY_DATA: inserisci un elenco delimitato da punto e virgola nel formato ${region}=${IP_address}, ad esempio asia-east1=198.51.100.1;us-central1=203.0.113.1. Puoi specificare più indirizzi IP per una singola regione aggiungendoli separati da una virgola. I nomi delle regole di inoltro sono valori accettabili e comportano il controllo dell'integrità.
  • --enable-geo-fencing: per i criteri di routing GEO, determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono operativi. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono integri. Usa --no-enable-geo-fencing per disattivare il geofencing. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono operativi. Il valore predefinito è false.
  • --enable-health-checking: il flag per attivare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome regola di forwarding anziché l'indirizzo IP nel campo --routing-policy-data.

Failover

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=FAILOVER  \
  --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
  --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \
  --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
  --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
  --enable-geo-fencing \
  --enable-health-checking

Sostituisci quanto segue:

  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cacheResourceRecordSet, ad esempio 30.
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A. Per un elenco dei tipi di record supportati, consulta Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
  • ROUTING_POLICY_PRIMARY_DATA: il target principale da utilizzare per le norme di routing FAILOVER. Questo target deve fare riferimento a una o più regole di inoltro, ad esempio forwarding-rule-1. Se almeno una di queste regole di inoltro è attiva, gli indirizzi IP di tutte le regole di inoltro attive vengono utilizzati per rispondere alle query per questo nome.
  • ROUTING_POLICY_BACKUP_DATA_TYPE: per le FAILOVER routing policy, il tipo di routing policy utilizzato dai dati di backup. Deve essere GEO.
  • ROUTING_POLICY_BACKUP_DATA: la destinazione di backup da utilizzare per i criteri di routing FAILOVER. Questi target vengono utilizzati quando tutte le regole di inoltro specificate in --routing-policy-primary-data non sono valide. Cloud DNS supporta solo i target di backup basati su dati geografici. Il formato di questo campo corrisponde a quello di --routing-policy-data quando --routing-policy-type = 'GEO', ad esempio asia-east1=forwarding-rule-2.
  • BACKUP_DATA_TRICKLE_RATIO: il rapporto di traffico da inviare alle destinazioni di backup, anche quando quelle principali sono integre. Il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1. Il valore predefinito è impostato su 0.
  • --enable-geo-fencing: per i criteri di routing GEO, determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono operativi. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono integri. Usa --no-enable-geo-fencing per disattivare il geofencing. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono operativi. Il valore predefinito è false.
  • --enable-health-checking: il flag per attivare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome regola di forwarding anziché l'indirizzo IP nel campo --routing-policy-data.

API

Utilizza il metodo resourceRecordSets.create.

WRR

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
      "type": "RRSET_TYPE",
      "ttl": TTL,
"routingPolicy": {
  "wrr": {
    "items": [
      {
        "weight": WEIGHT,
        "healthCheckedTargets": {
          "internalLoadBalancers": [
            {
              "loadBalancerType": "LOAD_BALANCER_TYPE"
              "ipAddress": "IP_ADDRESS"
              "port" : "PORT_NUMBER"
              "ipProtocol": "IP_PROTOCOL"
              "networkUrl": "NETWORK_URL"
              "project": "PROJECT_ID"
              "region": "REGION"
            }
          ]
        }
      },
      {
        "weight": WEIGHT,
        "healthCheckedTargets": {
          "internalLoadBalancers": [
            {
              "loadBalancerType": "LOAD_BALANCER_TYPE"
              "ipAddress": "IP_ADDRESS"
              "port" : "PORT_NUMBER"
              "ipProtocol": "IP_PROTOCOL"
              "networkUrl": "NETWORK_URL"
              "project": "PROJECT_ID"
              "region": "REGION"
            }
          ]
        }
      },
    ]
  }
}
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita
  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30
  • WEIGHT: per i criteri WRR, un elenco delimitato da punto e virgola nel formato ${weight_percent}=${rrdatas}, ad esempio .8=10.128.1.1;.2=10.130.1.1; specifica il peso come qualsiasi numero decimale non negativo. Nota: devi specificare il peso come un numero non negativo. Il rapporto tra il traffico indirizzato al target viene calcolato dalla proporzione del peso individuale rispetto al totale di tutti i pesi.
  • LOAD_BALANCER_TYPE: il tipo di bilanciatore del carico, come regionalL4ilb, globalL7ilb o regionalL7ilb. Questa impostazione è facoltativa.
  • IP_ADDRESS: l'indirizzo IP a cui si applica la regola di forwarding
  • PORT_NUMBER: il numero di porta
  • IP_PROTOCOL: definisce il protocollo utilizzato per il controllo di integrità. Le opzioni valide sono tcp e udp
  • NETWORK_URL: l'URL della rete a cui si applica questa regola di inoltro
  • REGION: la regione in cui hai creato la regola di inoltro

Geolocalizzazione

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
          "name": "RRSET_NAME",
          "type": "RRSET_TYPE",
          "ttl": TTL,
          "routingPolicy": {
        "geo": {
            "items": [
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCER_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT_ID"
                    "region": "REGION"
                    }
                  ]
                }
            },
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCING_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT_ID"
                    "region": "REGION"
                    }
                  ]
                }
            },
            }
        ]

      }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita
  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30
  • LOCATION: per i criteri GEO, la geolocalizzazione per la quale devi creare il criterio, ad esempio asia-east1
  • LOAD_BALANCER_TYPE: il tipo di bilanciatore del carico, come regionalL4ilb, globalL7ilb o regionalL7ilb. Questa impostazione è facoltativa.
  • IP_ADDRESS: l'indirizzo IP a cui si applica la regola di forwarding
  • PORT_NUMBER: il numero di porta del bilanciatore di carica interno
  • IP_PROTOCOL: definisce il protocollo utilizzato per il controllo di integrità. Le opzioni valide sono tcp e udp
  • NETWORK_URL: l'URL della rete a cui si applica questa regola di inoltro
  • REGION: la regione in cui hai creato la regola di forwarding

Failover

Nell'opzione di failover, Cloud DNS supporta solo i criteri GEO.

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
      "type": "RRSET_TYPE",
      "ttl": TTL,
"routingPolicy": {
  "primaryBackup": {
    "trickleTraffic": TRICKLE_TRAFFIC,
    "primaryTargets": {
      "internalLoadBalancers": [
        {
          "ipAddress": "IP_ADDRESS"
          "ipProtocol": "IP_PROTOCOL"
          "loadBalancerType": "LOAD_BALANCER_TYPE"
          "networkUrl": "NETWORK_URL"
          "port": "PORT_NUMBER"
          "project": "PROJECT_ID"
          "region": "REGION"
        }
      ]
    },
    "backupGeoTargets": {
      "enableFencing": ENABLE_FENCING,
      "items": [
        {
          "location": "LOCATION",
          "rrdatas": [
            "RRDATA"
          ]
        },
        {
          "location": "LOCATION",
          "rrdatas": [
            "RRDATA"
          ]
        }
      ]
    }
  },
}
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita
  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30
  • TRICKLE_TRAFFIC: il rapporto di traffico da inviare alle destinazioni di backup anche quando quelle principali sono in stato di esecuzione; il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1
  • IP_ADDRESS: l'indirizzo IP a cui si applica la regola di forwarding
  • PORT_NUMBER: il numero di porta
  • IP_PROTOCOL: definisce il protocollo utilizzato per il controllo di integrità. Le opzioni valide sono tcp e udp
  • NETWORK_URL: l'URL della rete a cui si applica questa regola di inoltro
  • PORT_NUMBER: il numero di porta del bilanciatore di carica interno
  • REGION: la regione in cui hai creato la regola di forwarding
  • ENABLE_FENCING: per i criteri di routing GEO, questo valore determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono operativi. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono integri. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono operativi. Il valore predefinito è false.
  • LOCATION: per i criteri GEO, la geolocalizzazione per la quale devi creare il criterio, ad esempio asia-east1
  • WEIGHT: per i criteri WRR, un elenco delimitato da punto e virgola nel formato ${weight_percent}=${rrdatas}, ad esempio .8=10.128.1.1;.2=10.130.1.1; specifica il peso come qualsiasi numero decimale non negativo.
  • RRDATA: un valore arbitrario associato al set di record della risorsa, ad esempio 198.51.100.5; puoi anche inserire più valori, rrdata1 rrdata2 rrdata3, ad esempio 198.51.100.1 203.0.113.1

Crea criteri di routing DNS per le zone pubbliche (anteprima)

Per creare criteri di routing DNS per le zone pubbliche, segui questi passaggi.

Console

Avvia la configurazione

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sul nome della zona gestita a cui vuoi aggiungere il record.

  3. Nella pagina Dettagli zona, fai clic su Aggiungi con criterio di routing.

Dati di base

  1. (Facoltativo) Nella pagina Crea set di record con criterio di routing, in Nome DNS, inserisci un sottodominio del nome DNS precompilato, ad esempio mail. Il punto finale viene aggiunto automaticamente.

  2. In Tipo di record di risorse, seleziona un'opzione.

  3. In TTL, inserisci un valore numerico per la durata del record della risorsa, ovvero per quanto tempo può essere memorizzato nella cache. Questo valore deve essere un numero intero positivo.

  4. (Facoltativo) Per Unità TTL, seleziona l'unità di tempo, ad esempiominutes. Il valore predefinito è impostato su minutes.

  5. Fai clic su Avanti.

Tipo di criterio di routing

  1. In Criteri di routing, seleziona Round robin ponderata, Geolocalizzazione o Failover.
  2. Fai clic su Avanti.

Dati delle policy di routing

WRR

  1. In Peso, inserisci il peso corrispondente a questa sottosezione dei dati del record di risorse (RR).

    Questa ponderazione deve essere un numero non negativo compreso tra 0,0 e 1000,0. Il rapporto tra il traffico indirizzato al target viene calcolato dal rapporto tra il singolo peso e il totale di tutti i pesi. Ad esempio, se il target A ha un valore ponderato di 25 e il target B di 75, con un valore ponderato totale di 100, Cloud DNS indirizza 25/100 = 0,25 (25%) del traffico totale al target A e 75/100= 0,75 (75%) al target B.

  2. Nella sezione Indirizzi IP esterni:

    1. In Indirizzo IP , inserisci un indirizzo IP esterno.
    2. (Facoltativo) Per selezionare un indirizzo IP esterno di una risorsa Google Cloud nel progetto corrente, fai clic su Seleziona.
    3. Per attivare il controllo di integrità, seleziona Controllo di integrità 1.
    4. (Facoltativo) Per aggiungere un altro indirizzo IP esterno, fai clic su Aggiungi indirizzo IP.
    5. Fai clic su Fine.
  3. Se hai attivato il controllo di integrità nel passaggio precedente, nell'elenco Controllo di integrità seleziona un controllo di integrità o creane uno nuovo seguendo questi passaggi.

    1. Fai clic su Crea un nuovo controllo di integrità.
    2. In Nome, inserisci un nome per il controllo di integrità.
    3. (Facoltativo) In Descrizione, inserisci una descrizione per il controllo di stato.
    4. Per Regioni di origine, seleziona tre regioni Google Cloud da cui vuoi inviare i controlli di integrità.
    5. (Facoltativo) Nell'elenco Protocollo, seleziona un protocollo.
    6. In Porta, inserisci un numero di porta.

      Il protocollo e il numero di porta determinano in che modo Cloud DNS invia i controlli di integrità.

    7. (Facoltativo) Per configurare il controllo di integrità basato sui contenuti, per Risposta, fornisci una stringa di risposta prevista, ciascuna con una lunghezza massima di 1024 caratteri ASCII (un singolo byte).

    8. (Facoltativo) Per attivare i log controllo di integrità, seleziona On in Log.

    9. In Intervallo di controllo, inserisci l'intervallo di tempo in secondi tra i probe di controllo di integrità. L'intervallo di controllo è il tempo tra l'inizio di un probe emesso da un prober e l'inizio del probe successivo emesso dallo stesso prober.

    10. In Timeout, inserisci il tempo in secondi che vuoi che Google Cloud attenda una risposta a un probe.

    11. In Soglia di stato integro, inserisci il numero di risultati di verifica consecutivi riusciti per cui un backend deve essere considerato integro.

    12. Per Soglia di stato non integro, inserisci il numero di risultati consecutivi del probe non riusciti per cui un backend deve essere considerato non integro.

    13. Fai clic su Crea.

  4. Fai clic su Avanti.

Geolocalizzazione

  1. Per Recinzione virtuale, seleziona Disattivata o Attivata. Se attivi il geofencing, il traffico viene limitato a una determinata località geografica, anche se tutti gli endpoint in quella località non sono integri.
  2. Per Regione di origine, seleziona una regione di origine Google Cloud valida.
  3. Nella sezione Indirizzi IP esterni:
    1. In Indirizzo IP , inserisci un indirizzo IP esterno.
    2. (Facoltativo) Per selezionare un indirizzo IP esterno di una risorsa Google Cloud nel progetto corrente, fai clic su Seleziona.
    3. Per attivare il controllo di integrità, seleziona Controllo di integrità 1.
    4. (Facoltativo) Per aggiungere un altro indirizzo IP esterno, fai clic su Aggiungi indirizzo IP.
    5. Fai clic su Fine.
  4. Se hai attivato il controllo di integrità nel passaggio precedente, nell'elenco Controllo di integrità seleziona un controllo di integrità o creane uno nuovo seguendo questi passaggi.

    1. Fai clic su Crea un nuovo controllo di integrità.
    2. In Nome, inserisci un nome per il controllo di integrità.
    3. (Facoltativo) In Descrizione, inserisci una descrizione per il controllo di integrità.
    4. Per Regioni di origine, seleziona tre regioni Google Cloud da cui vuoi inviare i controlli di integrità.
    5. (Facoltativo) Nell'elenco Protocollo, seleziona un protocollo.
    6. In Porta, inserisci un numero di porta.

      Il protocollo e il numero di porta determinano in che modo Cloud DNS invia i controlli di integrità.

    7. (Facoltativo) Per configurare il controllo di integrità basato sui contenuti, per Risposta, fornisci una stringa di risposta prevista, ciascuna con una lunghezza massima di 1024 caratteri ASCII (un singolo byte).

    8. (Facoltativo) Per attivare i log controllo di integrità, seleziona On in Log.

    9. In Intervallo di controllo, inserisci l'intervallo di tempo in secondi tra i probe di controllo di integrità. L'intervallo di controllo è il tempo tra l'inizio di un probe emesso da un prober e l'inizio del probe successivo emesso dallo stesso prober.

    10. In Timeout, inserisci il tempo in secondi che vuoi che Google Cloud attenda una risposta a un probe.

    11. In Soglia di stato integro, inserisci il numero di risultati di verifica consecutivi riusciti per cui un backend deve essere considerato integro.

    12. Per Soglia di stato non integro, inserisci il numero di risultati consecutivi del probe non riusciti per cui un backend deve essere considerato non integro.

    13. Fai clic su Crea.

  5. Fai clic su Avanti.

Failover

  1. Nella sezione Destinazione indirizzo IP esterno principale, in Indirizzo IP, inserisci l'indirizzo IP esterno principale di cui è stato eseguito il controllo di stato per questo record.
  2. (Facoltativo) Per selezionare un indirizzo IP esterno principale di una risorsa Google Cloud nel progetto corrente, fai clic su Seleziona.
  3. (Facoltativo) Per aggiungere un altro indirizzo IP esterno principale, fai clic su Aggiungi target. Quando DNSSEC è abilitato, puoi aggiungere un solo indirizzo IP esterno primario come destinazione .
  4. Nella sezione Criteri di geolocalizzazione del backup:
    1. Per Recinzione virtuale, seleziona Disattivata o Attivata. Se attivi il geofencing, il traffico viene limitato a una determinata località geografica, anche se tutti gli endpoint in quella località non sono integri.
    2. Per Regione di origine, seleziona una regione di origine Google Cloud valida.
    3. Nella sezione Indirizzi IP esterni:
      1. In Indirizzo IP , inserisci un indirizzo IP esterno.
      2. (Facoltativo) Per selezionare un indirizzo IP esterno di una risorsa Google Cloud nel progetto corrente, fai clic su Seleziona.
      3. Per attivare il controllo di integrità, seleziona Controllo di integrità 1.
      4. (Facoltativo) Per aggiungere un altro indirizzo IP esterno, fai clic su Aggiungi indirizzo IP.
    4. Fai clic su Fine.
  5. Se hai attivato il controllo di integrità nel passaggio precedente, nell'elenco Controllo di integrità, seleziona un controllo di integrità.

    Se non hai già un controllo di integrità, creane uno nuovo.

    1. Fai clic su Crea un nuovo controllo di integrità.
    2. In Nome, inserisci un nome per il controllo di integrità.
    3. (Facoltativo) In Descrizione, inserisci una descrizione per il controllo di stato.
    4. Per Regioni di origine, seleziona tre regioni Google Cloud da cui vuoi inviare i controlli di integrità.
    5. (Facoltativo) Nell'elenco Protocollo, seleziona un protocollo.
    6. In Porta, inserisci un numero di porta.

    Il protocollo e il numero di porta determinano in che modo Cloud DNS invia i controlli di integrità.

    1. (Facoltativo) Per configurare il controllo di integrità basato sui contenuti, per Risposta, fornisci una stringa di risposta prevista, ciascuna con una lunghezza massima di 1024 caratteri ASCII (un singolo byte).
    2. (Facoltativo) Per attivare i log controllo di integrità, seleziona On in Log.
    3. In Intervallo di controllo, inserisci l'intervallo di tempo in secondi tra i probe di controllo di integrità. L'intervallo di controllo è il tempo tra l'inizio di un probe emesso da un prober e l'inizio del probe successivo emesso dallo stesso prober.
    4. In Timeout, inserisci il tempo in secondi che vuoi che Google Cloud attenda una risposta a un probe.
    5. In Soglia di stato integro, inserisci il numero di risultati di verifica consecutivi riusciti per cui un backend deve essere considerato integro.
    6. Per Soglia di stato non integro, inserisci il numero di risultati consecutivi del probe non riusciti per cui un backend deve essere considerato non integro.
    7. Fai clic su Crea.
  6. Nel campo Traffico graduale (%), inserisci la percentuale di traffico inviata ai target di failover, indipendentemente dallo stato del controllo di integrità dei target principali.

  7. Nell'elenco Controllo di integrità, seleziona un controllo di integrità.

  8. Fai clic su Avanti.

Rivedi e crea

  1. Fai clic su Esamina.
  2. Esamina il set di record Cloud DNS con la configurazione del criterio di routing.
  3. Fai clic su Crea.

gcloud

Per creare criteri di routing DNS per le zone pubbliche, segui questi passaggi.

  1. Per attivare i controlli di integrità nei criteri di routing DNS per le zone pubbliche, crea un controllo di integrità per gli endpoint esterni.

    Esegui il comando gcloud beta compute health-checks create:

    gcloud beta compute health-checks create PROTOCOL HEALTH_CHECK_NAME \
        --global \
        --check-interval=CHECK_INTERVAL \
        --source-regions=SOURCE_REGIONS \
        --port=PORT_NUMBER
    

    Sostituisci quanto segue:

    • PROTOCOL: il protocollo utilizzato per il controllo di integrità. Le opzioni valide sono http, https, ssl o tcp.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità.
    • CHECK_INTERVAL: il tempo che intercorre tra l'inizio della connessione di un sistema di probe di controllo dell'integrità e l'inizio della connessione del successivo. Le unità di misura sono in secondi. Il valore CHECK_INTERVAL deve essere compreso tra 30 e 300 secondi.
    • SOURCE_REGIONS: un elenco separato da virgole di regioni Google Cloud da cui vuoi inviare i controlli di salute.
    • PORT_NUMBER: il numero di porta per le richieste di controllo di integrità.
  2. Per creare un ResourceRecordSet e applicargli un criterio di routing, esegui il comando gcloud beta dns record-sets create.

    WRR

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=WRR \
        --routing-policy-data=ROUTING_POLICY_DATA \
        --health-check=HEALTH_CHECK_NAME
    

    Sostituisci quanto segue:

    • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
    • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30.
    • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A.
    • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
    • ROUTING_POLICY_DATA: i dati delle policy di routing. Inserisci un elenco delimitato da punto e virgola nel formato ${weight_percent}:${rrdatas}, ad esempio .8=203.0.113.1;.2=198.51.100.1. Specifica il peso come valore decimale non negativo. Il peso deve essere un numero non negativo compreso tra 0 e 1000.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità creato nel passaggio precedente.

    Geolocalizzazione

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=GEO \
        --routing-policy-data=ROUTING_POLICY_DATA \
        --health-check=HEALTH_CHECK_NAME
    

    Sostituisci quanto segue:

    • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
    • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30.
    • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A.
    • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
    • ROUTING_POLICY_DATA: i dati delle policy di routing. Inserisci un elenco delimitato da punto e virgola nel formato ${region}=${IP_address},${IP_address}, ad esempio asia-east1=198.51.100.1;us-central1=203.0.113.1, 203.0.113.2. Puoi specificare più indirizzi IP per una singola regione aggiungendoli separati da una virgola. I nomi delle regole di inoltro sono valori accettabili e generano controlli di integrità.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità creato nel passaggio precedente.

    Geolocalizzazione con recinto virtuale

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=GEO \
        --routing-policy-data=ROUTING_POLICY_DATA \
        --health-check=HEALTH_CHECK_NAME \
        --enable-geo-fencing
    

    Sostituisci quanto segue:

    • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
    • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30.
    • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A.
    • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
    • ROUTING_POLICY_DATA: i dati delle policy di routing. Inserisci un elenco delimitato da punto e virgola nel formato ${region}=${IP_address}, ad esempio asia-east1=198.51.100.1;us-central1=203.0.113.1. Puoi specificare più indirizzi IP per una singola regione aggiungendoli separati da una virgola. I nomi delle regole di inoltro sono valori accettabili e generano controlli di integrità.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità creato nel passaggio precedente.

      --enable-geo-fencing: per i criteri di routing GEO, questo valore determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono operativi. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono operativi. Usa --no-enable-geo-fencing per disattivare il geofencing. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono operativi. Il valore predefinito è false.

    Failover

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=FAILOVER \
        --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
        --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
        --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \
        --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
        --health-check=HEALTH_CHECK_NAME
    

    Sostituisci quanto segue:

    • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
    • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30
    • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A.
    • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
    • ROUTING_POLICY_PRIMARY_DATA: il target primario da utilizzare per i criteri di routing FAILOVER. Questo target deve essere un riferimento a una o più regole di inoltro, ad esempio forwarding-rule-1. Finché almeno una di queste regole di inoltro è attiva, gli indirizzi IP di tutte le regole di inoltro attive vengono utilizzati per rispondere alle query per questo nome.
    • ROUTING_POLICY_BACKUP_DATA: il destinazione di backup da utilizzare per i criteri di routing FAILOVER. Questi target vengono utilizzati quando tutte le regole di inoltro specificate in --routing-policy-primary-data non sono attive. Cloud DNS supporta solo i target di backup basati su dati geografici. Il formato di questo campo corrisponde a quello di --routing-policy-data quando --routing-policy-type = 'GEO', ad esempio asia-east1=forwarding-rule-2.
    • ROUTING_POLICY_BACKUP_DATA_TYPE: per le policy di routing FAILOVER, il tipo di policy di routing utilizzato dai dati di backup. Deve essere GEO.
    • BACKUP_DATA_TRICKLE_RATIO: il rapporto tra il traffico da inviare alle destinazioni di backup, anche quando quelle principali sono in stato di integrità. Il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1. Il valore predefinito è impostato su 0.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità creato nel passaggio precedente.

API

  1. Per attivare i controlli di integrità nei criteri di routing DNS per le zone pubbliche, utilizza il metodo healthChecks.insert.

  2. Per creare un ResourceRecordSet e applicargli un criterio di routing, utilizza il metodo resourceRecordSets.create.

    WRR

        POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
        {
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
                "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "wrr": {
                    "items": [{
                        "weight": WEIGHT,
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA"]
                        }
                    }, {
                        "weight": 1.0,
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA", "RRDATA"]
                        }
                    }]
                }
            }
        }
      

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
    • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
    • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30.
    • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità.
    • WEIGHT: per i criteri WRR, un elenco delimitato da punto e virgola nel formato ${weight_percent}=${rrdatas}, ad esempio .8=10.128.1.1;.2=10.130.1.1; specifica il peso come numero decimale non negativo. Nota: devi specificare il peso come un numero non negativo. Il rapporto tra il traffico indirizzato al target viene calcolato dal rapporto tra il peso individuale e il totale di tutti i pesi.
    • RRDATA: un valore arbitrario associato al set di record della risorsa, ad esempio 198.51.100.5. Puoi anche inserire più valori, rrdata1,rrdata2,rrdata3, ad esempio 198.51.100.1,203.0.113.1.

    Geolocalizzazione

        POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
        {
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
                "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "geo": {
              "enableFencing": ENABLE_FENCING
                    "items": [{
                        "location": "LOCATION",
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA"]
                        }
                    }, {
                        "location": "LOCATION",
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA", "RRDATA"]
                        }
                    }]
                }
            }
        }
      

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
    • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
    • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A.
    • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità.
    • ENABLE_FENCING: per i criteri di routing GEO, questo valore determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono operativi. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono integri. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono operativi. Le opzioni valide sono true e false. L'impostazione predefinita per questo è false.
    • LOCATION: per i criteri GEO, la posizione geografica per la quale devi creare il criterio, ad esempio asia-east1.
    • RRDATA: un valore arbitrario associato al set di record della risorsa, ad esempio 198.51.100.5. Puoi anche inserire più valori, rrdata1,rrdata2,rrdata3, ad esempio 198.51.100.1,203.0.113.1.

    Failover

    Nell'opzione di failover, Cloud DNS supporta solo i criteri GEO.

        POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
        {
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
                "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "primaryBackup": {
                    "trickleTraffic": TRICKLE_TRAFFIC,
                    "primaryTargets": {
                        "rrdata": ["RRDATA"]
                    }
                    "backupGeoTargets": {
                        "enableFencing": ENABLE_FENCING,
                        "items": [{
                            "location": "LOCATION",
                            "rrdatas": ["RRDATA]
                        }, {
                            "location": "LOCATION",
                            "rrdatas": ["RRDATA", "RRDATA"]
                        }]
                    }
                }
            }
        }
      

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita.
    • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com.
    • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A.
    • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità.
    • TRICKLE_TRAFFIC: il rapporto di traffico da inviare ai target di backup anche quando i principali sono integri. Il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1.
    • RRDATA: un valore arbitrario associato al set di record della risorsa, ad esempio 198.51.100.5. Puoi anche inserire più valori, rrdata1,rrdata2,rrdata3, ad esempio 198.51.100.1,203.0.113.1.
    • ENABLE_FENCING: per i criteri di routing GEO, questo valore determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono operativi. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono integri. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono operativi. L'impostazione predefinita è false.
    • LOCATION: per i criteri GEO, la posizione geografica per la quale devi creare il criterio, ad esempio asia-east1.

Aggiorna i criteri di routing DNS

Per aggiornare il criterio di routing di un insieme di record di risorse:

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sulla zona per cui vuoi aggiornare il criterio di routing del set di record di risorse.

  3. Nella pagina Dettagli zona, accanto al set di record di risorse che vuoi aggiornare, fai clic su Modifica.

  4. Dopo aver apportato gli aggiornamenti, fai clic su Salva.

gcloud

Esegui il comando gcloud dns record-sets update:

WRR

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=WRR \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Geolocalizzazione

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Geolocalizzazione con recinto virtuale

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-geo-fencing
  --enable-health-checking

Failover

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=FAILOVER \
  --enable-geo-fencing \
  --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
  --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
  --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
  --enable-health-checking

Sostituisci quanto segue:

  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A

    Per un elenco dei tipi di record supportati, consulta Selezionare i tipi di record di risorse.

  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita

  • ROUTING_POLICY_TYPE: il tipo di criterio di routing.

    Inserisci WRR per la policy round robin ponderata, GEO per la geolocalizzazione o FAILOVER per le policy di failover. Non puoi modificare questo campo dopo che è stato scelto un tipo di criterio. Puoi solo eliminare il criterio e aggiungerne uno nuovo con un tipo diverso.

  • ROUTING_POLICY_DATA: i dati del criterio di routing

    • Per --routing-policy-type=WRR, inserisci un elenco delimitato da punto e virgola nel formato ${weight_percent}:${rrdatas}, ad esempio .8=203.0.113.1;.2=198.51.100.1. Specifica il peso come valore decimale non negativo. Il rapporto tra il traffico indirizzato al target viene calcolato dal rapporto tra il peso individuale e il totale di tutti i pesi. I nomi delle regole di inoltro sono valori accettabili e comportano il controllo dell'integrità.
    • Per --routing-policy-type=GEO, inserisci un elenco delimitato da punto e virgola nel formato ${region}=${IP_address}, ad esempio asia-east1=198.51.100.1;us-central1=203.0.113.1. Puoi specificare più indirizzi IP per una singola regione aggiungendoli separati da una virgola. I nomi delle regole di inoltro sono valori accettabili e comportano il controllo dell'integrità.
    • In --routing-policy-type=FAILOVER, inserisci il nome della regola di inoltro che hai creato nel formato ${region}=${Forwarding rule name}.

  • --enable-geo-fencing: per i criteri di routing GEO, determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono integri. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono integri. Usa --no-enable-geo-fencing per disattivare il geofencing. Se non è impostato, tutti gli endpoint di una regione non sono operativi e Cloud DNS indirizza le query alla regione più vicina. L'impostazione predefinita è false.

  • ROUTING_POLICY_PRIMARY_DATA: il target principale da utilizzare per le norme di routing FAILOVER. Questo target deve fare riferimento a una o più regole di inoltro, ad esempio forwarding-rule-1. Se almeno una di queste regole di inoltro è attiva, gli indirizzi IP di tutte le regole di inoltro attive vengono utilizzati per rispondere alle query per questo nome.

  • ROUTING_POLICY_BACKUP_DATA: la destinazione di backup da utilizzare per i criteri di routing FAILOVER. Questi target vengono utilizzati quando tutte le regole di inoltro specificate in --routing-policy-primary-data non sono valide. Cloud DNS supporta solo i target di backup basati su dati geografici. Il formato di questo campo corrisponde a quello di --routing-policy-data quando --routing-policy-type = 'GEO', ad esempio asia-east1=forwarding-rule-2.

  • BACKUP_DATA_TRICKLE_RATIO: il rapporto di traffico da inviare alle destinazioni di backup anche quando quelle principali sono integre. Il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1. Il valore predefinito è impostato su 0.

  • --enable-health-checking: attiva il controllo di integrità delle regole di inoltro fornite come rrdata a --routing-policy-data.

API

Utilizza il metodo resourceRecordSets.patch. Specifica solo rrset.rrdatas o rrset.routingPolicy. Se specifichi routingPolicy, devi specificare il nuovo campo routingPolicy nella sua interezza.

WRR

Per i criteri WRR, utilizza il seguente metodo:

PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
      "name": "RRSET_NAME.",
      "type": "RRSET_TYPE",
      "ttl": TTL,
      "routingPolicy": {
        "wrrPolicy": {
            "item": [
                  {
                      "weight": WEIGHT,
                      "rrdatas": ["RRDATA"]
                  },
                  {
                      "weight": WEIGHT,
                      "rrdatas": ["RRDATA"]
                  }
            ],
          }
    }
}

Geolocalizzazione

Utilizza il seguente metodo:

PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
          "name": "RRSET_NAME",
          "type": "RRSET_TYPE",
          "ttl": TTL,
          "routingPolicy": {
        "geo": {
            "items": [
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCER_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT"
                    "region": "REGION"
                    }
                  ]
                }
            },
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCING_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT"
                    "region": "REGION"
                    }
                  ]
                }
            },
            }
        ]

      }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita
  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A
  • TTL: il TTL, in secondi, in cui il resolver memorizza nella cache questo ResourceRecordSet, ad esempio 30
  • TRICKLE_TRAFFIC: il rapporto di traffico da inviare alle destinazioni di backup anche quando quelle principali sono in stato di esecuzione; il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1
  • ENABLE_FENCING: per i criteri di routing GEO, questo valore determina se il traffico deve eseguire il failover tra le regioni se tutti gli endpoint di una regione non sono operativi. Se impostato, Cloud DNS indirizza sempre le query alla regione più vicina, anche se tutti gli endpoint in quella regione non sono integri. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono operativi. Il valore predefinito è false.
  • LOCATION: per le norme GEO, la geolocalizzazione per la quale devi aggiornare le norme, ad esempio asia-east1
  • WEIGHT: per i criteri WRR, un elenco delimitato da punto e virgola nel formato ${weight_percent}=${rrdatas}, ad esempio .8=10.128.1.1;.2=10.130.1.1; specifica il peso come qualsiasi numero decimale non negativo.
  • RRDATA: un valore arbitrario associato al set di record della risorsa, ad esempio 198.51.100.5; puoi anche inserire più valori, rrdata1 rrdata2 rrdata3, ad esempio 198.51.100.1 203.0.113.1
  • LOAD_BALANCER_TYPE: il tipo di bilanciatore del carico, come regionalL4ilb, globalL7ilb o regionalL7ilb. Questa impostazione è facoltativa.
  • IP_ADDRESS: l'indirizzo IP a cui si applica la regola di forwarding
  • PORT_NUMBER: il numero di porta
  • IP_PROTOCOL: definisce il protocollo utilizzato per il controllo di integrità. Le opzioni valide sono tcp e udp
  • NETWORK_URL: l'URL della rete a cui si applica questa regola di inoltro
  • REGION: la regione in cui hai creato la regola di forwarding

Elimina i criteri di routing DNS

Per eliminare un criterio di routing, devi eliminare il set di record di risorse che contiene il criterio di routing. Per farlo, segui questi passaggi.

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sulla zona per cui vuoi eliminare il set di record di risorse.

  3. Nella pagina Dettagli zona, seleziona la casella di controllo accanto al nome DNS del set di record di risorse da eliminare.

  4. Fai clic su Elimina set di record.

gcloud

Esegui il comando gcloud dns record-sets delete:

gcloud dns record-sets delete RRSET_NAME \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \

Sostituisci quanto segue:

  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio service.example.com
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A

    Per un elenco dei tipi di record supportati, consulta Selezione dei tipi di record di risorse.

  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita

API

Utilizza il metodo resourceRecordSets.delete:

DELETE https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto
  • MANAGED_ZONE: la zona gestita a cui è affiliato questo ResourceRecordSet, ad esempio my-zone-name; il nome di questo ResourceRecordSet deve avere come suffisso il nome DNS della zona gestita
  • RRSET_NAME: il nome DNS che corrisponde alle query in entrata con il nome DNS di questa zona come suffisso, ad esempio test.example.com
  • RRSET_TYPE: il tipo di record di risorse di questo ResourceRecordSet, ad esempio A

Passaggi successivi