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

Questa pagina descrive come configurare i criteri di routing DNS e abilitare i controlli di integrità utilizzando Cloud DNS. Prima di utilizzare questa pagina, acquisisci familiarità con le policy di routing DNS e i controlli di integrità.

Prima di iniziare

  • Per configurare le policy di routing DNS, crea un insieme di record di risorse e scegli una delle seguenti policy di routing DNS da applicare all'insieme di record di risorse.

  • Le policy di routing DNS supportano più indirizzi IP per località geografica nella policy di routing per geolocalizzazione. Quando specifichi più indirizzi IP per una posizione geografica, Cloud DNS restituisce tutti gli indirizzi IP specificati per quella posizione. Non puoi combinare una policy di routing per geolocalizzazione con una policy WRR ponderata personalizzata.

  • Applica un solo tipo di policy di routing a un set di record di risorse alla volta. Non puoi combinare le policy di routing, tranne quando configuri una policy di routing di failover, nel qual caso puoi impostare una policy di routing basata sulla geolocalizzazione come backup.

  • Assicurati di attivare l'accesso globale per i bilanciatori del carico regionali.

  • Prima di configurare le policy di routing DNS per le zone pubbliche, disattiva il vincolo della policy dell'organizzazione constraints/compute.disableInternetNetworkEndpointGroup. Per saperne di più, consulta Vincoli delle policy dell'organizzazione.

  • Assicurati di disporre delle autorizzazioni necessarie per configurare i criteri di routing DNS.

Crea criteri di routing DNS per le zone private

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

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

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

Console

Avvia la configurazione

  1. Nella console Google Cloud , vai alla pagina delle 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 policy 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. Per TTL, inserisci un valore numerico per la durata del record di risorse, 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 esempio minutes. Il valore predefinito è impostato su minutes.

  5. Fai clic su Avanti.

Tipo di policy di routing

  1. Per Policy di routing, seleziona Round robin ponderato, Geolocalizzazione o Failover.
  2. Fai clic su Avanti.

Dati delle policy di routing

WRR

  1. Per 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 in base al rapporto tra il peso individuale e il totale di tutti i pesi. Ad esempio, se la destinazione A ha un peso di 25 e la destinazione B ha un peso di 75, con un peso totale di 100, Cloud DNS indirizza 25/100 = 0,25 (25%) del traffico totale alla destinazione A e 75/100= 0,75 (75%) alla destinazione B.

  2. Nella sezione Target IPv4 sottoposti a controllo di integrità, segui questi passaggi:

    1. Per Progetto, seleziona il progetto in cui esiste la regola di forwarding.
    2. Per Regola di forwarding, 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 con controllo dell'integrità, fai clic su Aggiungi target.

  5. (Facoltativo) Per consentire 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 delle policy WRR, fai clic su Aggiungi dati di routing.

  7. Fai clic su Avanti.

Geolocalizzazione

  1. Per il recinto virtuale, seleziona Disattivato o Attivato.

    Se attivi il geofencing, il traffico verrà 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à, segui questi passaggi:

    1. Per Progetto, seleziona il progetto in cui esiste la regola di forwarding.
    2. Per Regola di forwarding, 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 con controllo dell'integrità, fai clic su Aggiungi target.

  6. (Facoltativo) Per consentire 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 altro insieme di dati di routing della 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à, segui questi passaggi:

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

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

  2. Nella sezione Policy di geolocalizzazione di backup, segui questi passaggi:

    1. Per il geofencing, seleziona Disattivato o Attivato. Se attivi il geofencing, il traffico verrà 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 Cloudvalida.
    3. Nella sezione Target IPv4 sottoposti a controllo di integrità, segui questi passaggi:

      1. Per Progetto, seleziona il progetto in cui esiste la regola di forwarding.
      2. Per Regola di forwarding, 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 con controllo dell'integrità, fai clic su Aggiungi target.

  5. (Facoltativo) Per consentire 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 della policy di geolocalizzazione di backup, fai clic su Aggiungi dati di routing.

  7. Nel campo Traffico a goccia (%), inserisci la percentuale di traffico 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. Rivedi il set di record Cloud DNS con la configurazione della policy di routing.
  3. Fai clic su Crea.

gcloud

Per un set di record di risorse, imposti una policy di routing (routingPolicy) o dati DNS (rrdatas), non entrambi. Per passare da una policy di routing ai dati DNS, aggiorna il set di record di risorse. Ad esempio, per modificare un set di record di risorse contenente dati DNS (rrdatas) in modo che contenga invece una policy di routing (routingPolicy), elimina rrdatas e aggiungi routingPolicy allo stesso set di record di risorse.

Per creare policy 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 cache 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 Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
  • 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 un numero decimale non negativo. Il rapporto tra il traffico indirizzato alla destinazione viene calcolato dal rapporto tra il peso individuale e il totale di tutti i pesi. I nomi delle regole di forwarding sono valori accettabili e comportano il controllo dell'integrità.
  • --enable-health-checking: il flag per abilitare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome della 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 cache 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 Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
  • 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 aggiungendo indirizzi IP separati da una virgola. I nomi delle regole di forwarding sono valori accettabili e comportano il controllo dell'integrità.
  • --enable-health-checking: il flag per abilitare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome della 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 cache 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 Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
  • 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 aggiungendo indirizzi IP separati da una virgola. I nomi delle regole di forwarding sono valori accettabili e comportano il controllo dell'integrità.
  • --enable-geo-fencing: per le policy di routing GEO, questo 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, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono integri. Il valore predefinito è false.
  • --enable-health-checking: il flag per abilitare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome della 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 cache 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 Tipi di record supportati per le policy di routing DNS.
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
  • ROUTING_POLICY_PRIMARY_DATA: il target principale da utilizzare per le policy di routing FAILOVER. Questo target deve essere un riferimento a una o più regole di forwarding, ad esempio forwarding-rule-1. Finché almeno una di queste regole di forwarding è integra, gli indirizzi IP di tutte le regole di forwarding integre vengono utilizzati per rispondere alle query per questo nome.
  • 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.
  • ROUTING_POLICY_BACKUP_DATA: la destinazione di backup da utilizzare per le policy di routing FAILOVER. Questi target vengono utilizzati quando tutte le regole di inoltro specificate in --routing-policy-primary-data non sono integre. 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 tra il traffico da inviare alle destinazioni di backup, anche quando le destinazioni 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 le policy di routing GEO, questo 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, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono integri. Il valore predefinito è false.
  • --enable-health-checking: il flag per abilitare il controllo di integrità. Quando utilizzi questo flag, devi fornire il nome della regola di forwarding anziché l'indirizzo IP nel campo --routing-policy-data.

API

Utilizza il metodo resourceRecordSets.create.

WRR

POST https://dns.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 progetto
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso
  • 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 le norme 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 numero non negativo. Il rapporto tra il traffico indirizzato alla destinazione viene calcolato dal rapporto tra il peso individuale e il totale di tutti i pesi.
  • LOAD_BALANCER_TYPE: il tipo di bilanciatore del carico, ad esempio regionalL4ilb, globalL7ilb o regionalL7ilb. Questa impostazione è facoltativa.
  • IP_ADDRESS: l'indirizzo IP a cui la regola di forwarding fa riferimento
  • 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 di rete a cui si applica questa regola di inoltro
  • REGION: la regione in cui hai creato la regola di forwarding

Geolocalizzazione

POST https://dns.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_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 progetto
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso
  • 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 le policy GEO, la geolocalizzazione per cui devi creare la policy, ad esempio asia-east1
  • LOAD_BALANCER_TYPE: il tipo di bilanciatore del carico, ad esempio regionalL4ilb, globalL7ilb o regionalL7ilb. Questa impostazione è facoltativa.
  • IP_ADDRESS: l'indirizzo IP a cui la regola di forwarding fa riferimento
  • PORT_NUMBER: il numero di porta del bilanciatore del carico interno
  • IP_PROTOCOL: definisce il protocollo utilizzato per il controllo di integrità; le opzioni valide sono tcp e udp
  • NETWORK_URL: l'URL di 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://dns.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 progetto
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso
  • 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 le destinazioni principali sono integre; il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1
  • IP_ADDRESS: l'indirizzo IP a cui la regola di forwarding fa riferimento
  • 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 di rete a cui si applica questa regola di inoltro
  • PORT_NUMBER: il numero di porta del bilanciatore del carico interno
  • REGION: la regione in cui hai creato la regola di forwarding
  • ENABLE_FENCING: per le policy di routing GEO, questo 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. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina successiva quando tutti gli endpoint di una regione non sono integri. Il valore predefinito è false.
  • LOCATION: per le policy GEO, la geolocalizzazione per cui devi creare la policy, 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
  • RRDATA: un valore arbitrario associato al set di record di risorse, 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 policy di routing DNS per le zone pubbliche

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

Console

Avvia la configurazione

  1. Nella console Google Cloud , vai alla pagina delle 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 policy 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. Per TTL, inserisci un valore numerico per la durata del record di risorse, 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 esempio minutes. Il valore predefinito è impostato su minutes.

  5. Fai clic su Avanti.

Tipo di policy di routing

  1. Per Policy di routing, seleziona Round robin ponderato, Geolocalizzazione o Failover.
  2. Fai clic su Avanti.

Dati delle policy di routing

WRR

  1. Per 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 in base al rapporto tra il peso individuale e il totale di tutti i pesi. Ad esempio, se la destinazione A ha un peso di 25 e la destinazione B ha un peso di 75, con un peso totale di 100, Cloud DNS indirizza il 25/100 = 0,25 (25%) del traffico totale alla destinazione A e il 75/100= 0,75 (75%) alla destinazione 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 abilitare 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 Name (Nome), inserisci un nome per il controllo di integrità.
    3. (Facoltativo) In Descrizione, inserisci una descrizione del controllo di integrità.
    4. Per Regioni di origine, seleziona tre regioni Google Cloud da cui vuoi inviare probe di controllo 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 il modo in cui Cloud DNS invia i probe di controllo 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 (a byte singolo).

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

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

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

    11. Per Soglia stato integro, inserisci il numero di risultati di probe riusciti consecutivi affinché un backend sia considerato integro.

    12. Per Soglia stato non integro, inserisci il numero di risultati di probe non riusciti consecutivi affinché un backend sia considerato non integro.

    13. Fai clic su Crea.

  4. Fai clic su Avanti.

Geolocalizzazione

  1. Per il recinto virtuale, seleziona Disattivato o Attivato. Se attivi il geofencing, il traffico verrà 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 Cloudvalida.
  3. Nella sezione Indirizzi IP esterni, procedi nel seguente modo:
    1. In Indirizzo IP , inserisci un indirizzo IP esterno.
    2. (Facoltativo) Per selezionare un indirizzo IP esterno di una risorsa Google Cloud nel progetto attuale, fai clic su Seleziona.
    3. Per abilitare 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 del controllo di integrità.
    4. Per Regioni di origine, seleziona tre regioni Google Cloud da cui vuoi inviare probe di controllo 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 il modo in cui Cloud DNS invia i probe di controllo 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 (a byte singolo).

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

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

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

    11. Per Soglia stato integro, inserisci il numero di risultati di probe riusciti consecutivi affinché un backend sia considerato integro.

    12. Per Soglia stato non integro, inserisci il numero di risultati di probe non riusciti consecutivi affinché un backend sia considerato non integro.

    13. Fai clic su Crea.

  5. Fai clic su Avanti.

Failover

  1. Nella sezione Target indirizzo IP esterno principale, per Indirizzo IP, inserisci l'indirizzo IP esterno principale per cui è stato eseguito il controllo di integrità per questo record.
  2. (Facoltativo) Per selezionare un indirizzo IP esterno principale di una risorsa Google Cloudnel progetto attuale, fai clic su Seleziona.
  3. (Facoltativo) Per aggiungere un altro indirizzo IP esterno principale, fai clic su Aggiungi target. Quando DNSSEC è abilitato, puoi aggiungere una sola destinazione con indirizzo IP esterno principale .
  4. Nella sezione Policy di geolocalizzazione di backup, segui questi passaggi:
    1. Per il geofencing, seleziona Disattivato o Attivato. Se attivi il geofencing, il traffico verrà 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 Cloudvalida.
    3. Nella sezione Indirizzi IP esterni, procedi nel seguente modo:
      1. In Indirizzo IP , inserisci un indirizzo IP esterno.
      2. (Facoltativo) Per selezionare un indirizzo IP esterno di una risorsa Google Cloud nel progetto attuale, fai clic su Seleziona.
      3. Per abilitare 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 abilitato il controllo di integrità nel passaggio precedente, seleziona un controllo di integrità nell'elenco Controllo di integrità.

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

    1. Fai clic su Crea un nuovo controllo di integrità.
    2. In Name (Nome), inserisci un nome per il controllo di integrità.
    3. (Facoltativo) In Descrizione, inserisci una descrizione del controllo di integrità.
    4. Per Regioni di origine, seleziona tre regioni Google Cloud da cui vuoi inviare probe di controllo 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 il modo in cui Cloud DNS invia i probe di controllo 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 (a byte singolo).
    2. (Facoltativo) Per attivare i log controllo di integrità, in Log, seleziona On.
    3. In Intervallo di controllo, inserisci l'intervallo di tempo in secondi tra i probe di controllo di integrità. L'intervallo di controllo è l'intervallo di tempo dall'inizio di un probe emesso da un prober all'inizio del probe successivo emesso dallo stesso prober.
    4. Per Timeout, inserisci il tempo in secondi che vuoi cheGoogle Cloud attenda una risposta a un probe.
    5. Per Soglia stato integro, inserisci il numero di risultati di probe riusciti consecutivi affinché un backend sia considerato integro.
    6. Per Soglia stato non integro, inserisci il numero di risultati di probe non riusciti consecutivi affinché un backend sia considerato non integro.
    7. Fai clic su Crea.
  6. Nel campo Traffico graduale (%), inserisci la percentuale di traffico inviato alle destinazioni di failover, indipendentemente dallo stato del controllo di integrità delle destinazioni 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. Rivedi il set di record Cloud DNS con la configurazione della policy di routing.
  3. Fai clic su Crea.

gcloud

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

  1. Per abilitare il controllo di integrità nelle policy 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: l'intervallo di tempo dall'inizio di una connessione del sistema di probe di controllo di integrità all'inizio della successiva. Le unità sono in secondi. Il valore di CHECK_INTERVAL deve essere compreso tra 30 e 300 secondi.
    • SOURCE_REGIONS: un elenco separato da virgole di regioniGoogle Cloud da cui vuoi inviare probecontrollo di integritàl'integrità.
    • PORT_NUMBER: il numero di porta per le richieste di controllo di integrità.
  2. Per creare un ResourceRecordSet e applicarvi una policy 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 è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
    • ROUTING_POLICY_DATA: i dati della policy di routing. Inserisci un elenco delimitato da punti e virgola nel formato ${weight_percent}:${rrdatas}, ad esempio .8=203.0.113.1;.2=198.51.100.1. Specifica il peso come numero 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 è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
    • ROUTING_POLICY_DATA: i dati della policy di routing. Inserisci un elenco delimitato da punti 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 aggiungendo gli indirizzi IP separati da una virgola. I nomi delle regole di inoltro sono valori accettabili e comportano il controllo 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 è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
    • ROUTING_POLICY_DATA: i dati della policy di routing. Inserisci un elenco delimitato da punti 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 aggiungendo indirizzi IP separati da una virgola. I nomi delle regole di inoltro sono valori accettabili e comportano il controllo di integrità.
    • HEALTH_CHECK_NAME: il nome del controllo di integrità creato nel passaggio precedente.

      --enable-geo-fencing: per le policy di routing GEO, questo 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, Cloud DNS indirizza le query alla regione più vicina quando tutti gli endpoint di una regione non sono integri. 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 è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
    • ROUTING_POLICY_PRIMARY_DATA: la destinazione principale da utilizzare per le policy di routing FAILOVER. Questa destinazione deve essere un riferimento a una o più regole di forwarding, ad esempio forwarding-rule-1. Se almeno una di queste regole di inoltro è integra, gli indirizzi IP di tutte le regole di inoltro integre vengono utilizzati per rispondere alle query per questo nome.
    • ROUTING_POLICY_BACKUP_DATA: il target di backup da utilizzare per le policy di routing FAILOVER. Questi target vengono utilizzati quando tutte le regole di inoltro specificate in --routing-policy-primary-data non sono integre. 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 le destinazioni principali sono integre. 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 abilitare il controllo di integrità nelle policy di routing DNS per le zone pubbliche, utilizza il metodo healthChecks.insert.

  2. Per creare un ResourceRecordSet e applicarvi una policy di routing, utilizza il metodo resourceRecordSets.create.

    WRR

    POST https://dns.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/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
        "wrr": {
          "items": [
            {
              "weight": WEIGHT,
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            },
            {
              "weight": WEIGHT,
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            }
          ]
        }
      }
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
    • 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à.
    • WEIGHT: per le policy 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 numero non negativo. Il rapporto tra il traffico indirizzato alla destinazione viene calcolato dal rapporto tra il peso individuale e il totale di tutti i pesi.
    • RRDATA: un valore arbitrario associato al set di record di risorse, ad esempio 198.51.100.5; puoi anche inserire più valori, rrdata1,rrdata2,rrdata3, ad esempio 198.51.100.1, 203.0.113.1.
    • EXTERNAL_ENDPOINTS: gli indirizzi IP internet da controllare.

    Geolocalizzazione

    POST https://dns.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/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
        "geo": {
          "enableFencing": ENABLE_FENCING
          "items": [
            {
              "location": "LOCATION",
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            },
            {
              "location": "LOCATION",
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            }
          ]
        }
      }
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto
    • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
    • 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 le policy di routing GEO, questo 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. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina successiva quando tutti gli endpoint di una regione non sono integri. Le opzioni valide sono true e false. L'impostazione predefinita per questo è false.
    • LOCATION: per le policy GEO, la geolocalizzazione per cui devi creare la policy, ad esempio asia-east1.
    • RRDATA: un valore arbitrario associato al set di record di risorse, ad esempio 198.51.100.5; puoi anche inserire più valori, rrdata1,rrdata2,rrdata3, ad esempio 198.51.100.1, 203.0.113.1.
    • EXTERNAL_ENDPOINTS: gli indirizzi IP internet da controllare.

    Failover

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

    POST https://dns.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/v1/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 è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso.
    • 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 quelli principali sono integri; il rapporto deve essere compreso tra 0 e 1, ad esempio 0.1.
    • LOCATION: per le policy GEO, la geolocalizzazione per cui devi creare la policy, ad esempio asia-east1.
    • RRDATA: un valore arbitrario associato al set di record di risorse, 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 le policy di routing GEO, questo 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. Se non è impostato, Cloud DNS indirizza le query alla regione più vicina successiva quando tutti gli endpoint di una regione non sono integri. L'impostazione predefinita è false.

Aggiorna le policy di routing DNS

Per aggiornare la policy di routing di un set di record di risorse, segui questi passaggi.

Console

  1. Nella console Google Cloud , vai alla pagina delle zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sulla zona per cui vuoi aggiornare la norma 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 è associato questo ResourceRecordSet, ad esempio service-zone. Il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso

  • ROUTING_POLICY_TYPE: il tipo di policy di routing.

    Inserisci WRR per round robin ponderato, GEO per geolocalizzazione o FAILOVER per le policy di failover. Non puoi modificare questo campo dopo che è stato scelto un tipo per una norma. Puoi solo eliminare la norma e aggiungerne una nuova con un tipo diverso.

  • ROUTING_POLICY_DATA: i dati della policy di routing

    • Per --routing-policy-type=WRR, inserisci un elenco delimitato da punti e virgola nel formato ${weight_percent}:${rrdatas}, ad esempio .8=203.0.113.1;.2=198.51.100.1. Specifica il peso come un numero decimale non negativo. Il rapporto tra il traffico indirizzato alla destinazione viene calcolato dal rapporto tra il peso individuale e il totale di tutti i pesi. I nomi delle regole di forwarding sono valori accettabili e comportano il controllo dell'integrità.
    • Per --routing-policy-type=GEO, inserisci un elenco delimitato da punti 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 aggiungendo indirizzi IP separati da una virgola. I nomi delle regole di forwarding sono valori accettabili e comportano il controllo dell'integrità.
    • Per --routing-policy-type=FAILOVER, inserisci il nome della regola di inoltro che hai creato nel formato ${region}=${Forwarding rule name}.

  • --enable-geo-fencing: per le policy di routing GEO, questo 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 integri e Cloud DNS indirizza le query alla regione più vicina successiva. L'impostazione predefinita è false.

  • ROUTING_POLICY_PRIMARY_DATA: il target principale da utilizzare per le policy di routing FAILOVER. Questo target deve essere un riferimento a una o più regole di forwarding, ad esempio forwarding-rule-1. Finché almeno una di queste regole di forwarding è integra, gli indirizzi IP di tutte le regole di forwarding integre vengono utilizzati per rispondere alle query per questo nome.

  • ROUTING_POLICY_BACKUP_DATA: la destinazione di backup da utilizzare per le policy di routing FAILOVER. Questi target vengono utilizzati quando tutte le regole di inoltro specificate in --routing-policy-primary-data non sono integre. 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 tra il traffico da inviare alle destinazioni di backup anche quando le destinazioni 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: abilita il controllo di integrità delle regole di forwarding fornite come rrdata a --routing-policy-data.

API

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

WRR

Per le policy WRR, utilizza il seguente metodo:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso
  • 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
  • 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 di risorse, 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

Utilizza il seguente metodo:

PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
{
  "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_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 progetto
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso
  • 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 le norme GEO, la geolocalizzazione per cui devi aggiornare la norma, ad esempio asia-east1
  • LOAD_BALANCER_TYPE: il tipo di bilanciatore del carico, ad esempio regionalL4ilb, globalL7ilb o regionalL7ilb. Questa impostazione è facoltativa.
  • IP_ADDRESS: l'indirizzo IP a cui la regola di forwarding fa riferimento
  • 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 di 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 lo contiene. Per farlo, segui questi passaggi.

Console

  1. Nella console Google Cloud , vai alla pagina delle 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 è associato questo ResourceRecordSet, ad esempio service-zone; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso

API

Utilizza il metodo resourceRecordSets.delete:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • MANAGED_ZONE: la zona gestita a cui è associato questo ResourceRecordSet, ad esempio my-zone-name; il nome di questo ResourceRecordSet deve avere il nome DNS della zona gestita come suffisso
  • 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