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.

È possibile applicare un solo tipo di criterio di routing a un set di record di risorse alla volta. 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 Criterio di routing, seleziona Round robin ponderato, Geolocalizzazione o Failover.
  2. Fai clic su Avanti.

Dati dei criteri 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 altro criterio 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. In 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 alle destinazioni di failover, indipendentemente dallo stato del controllo di integrità delle destinazioni 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 i criteri 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 dalla proporzione del peso individuale rispetto al 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 i criteri 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 i criteri 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 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 i criteri 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 i criteri di routingFAILOVER, il tipo di criterio di routing 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 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 dal rapporto tra il peso individuale e il 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

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 il round robin ponderato, GEO per la geolocalizzazione o FAILOVER per i criteri 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 dalla proporzione del peso individuale rispetto al 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 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, 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