Puoi configurare le policy di routing DNS per i set di record di risorse nelle zone privateo pubblicheper indirizzare il traffico in base a criteri specifici. Crea set di record di risorse con valori specifici delle policy di routing per configurare queste policy. Questi valori determinano il modo in cui Cloud DNS indirizza il traffico delle query.
Cloud DNS supporta le seguenti policy di routing:
Policy di routing round robin ponderata (WRR): utilizza una policy di routing WRR per assegnare pesi diversi a ogni set di record di risorse per un nome DNS. Una policy di routing WRR contribuisce a garantire che il traffico venga distribuito in base ai pesi configurati. La combinazione di policy di routing WRR e basate sulla geolocalizzazione non è supportata.
Policy di routing basata sulla geolocalizzazione: utilizza la policy di routing basata sulla geolocalizzazione per specificare le geolocalizzazioni di origine e fornire le risposte corrispondenti a queste aree geografiche. La policy di routing basata sulla geolocalizzazione applica una corrispondenza più vicina per la località di origine quando nessun elemento della policy corrisponde esattamente all'origine del traffico.
- Policy di routing basata sulla geolocalizzazione con geofencing: utilizza la policy di routing basata sulla geolocalizzazione con geofencing per limitare il traffico a una specifica località geografica, anche se tutti gli endpoint in quella località non sono integri.
- Policy di routing di failover: utilizza la policy di routing di failover per configurare i backup attivi.
Le policy di routing DNS non possono essere configurate per le seguenti zone private:
- Zone di forwarding
- Zone di peering DNS
- Zone di ricerca inversa gestite
- Zone Service Directory
Policy di routing WRR
Una policy di routing WRR consente di specificare pesi diversi per target DNS; Cloud DNS garantisce che il traffico venga distribuito in base ai pesi. Puoi utilizzare questa policy per supportare configurazioni manuali active-active o active-passive. Puoi anche suddividere il traffico tra le versioni di produzione e sperimentali del tuo servizio.
Cloud DNS supporta i controlli di integrità e i failover all'interno delle policy di routing per i bilanciatori del carico interni e gli endpoint esterni. Cloud DNS consente il failover automatico quando gli endpoint non superano i controlli di integrità. Durante un failover, Cloud DNS regola automaticamente la suddivisione del traffico tra gli endpoint integri rimanenti. Per saperne di più, consulta Controlli di integrità.
Policy di routing basate sulla geolocalizzazione
Una policy di routing basata sulla geolocalizzazione consente di mappare il traffico proveniente da aree geografiche di origine (regioniGoogle Cloud ) a target DNS specifici. Utilizza questa policy per distribuire le richieste in entrata a diverse istanze di servizio in base all'origine del traffico. Puoi utilizzare questa funzionalità con il traffico proveniente dall'esterno diGoogle Cloud o con il traffico originato all'interno di Google Cloud e destinato ai bilanciatori del carico di rete passthrough interni. Cloud DNS utilizza la regione in cui le query entrano in Google Cloud come area geografica di origine.
Una policy di routing basata sulla geolocalizzazione mappa l'origine in modo diverso per il DNS pubblico e privato nei seguenti modi:
- Per il DNS pubblico, viene utilizzato l'indirizzo IP di origine o la subnet client del meccanismo di estensione per DNS (EDNS) della query.
- Per il DNS privato, la subnet client EDNS non viene utilizzata. La località della query è invece la località del sistema che invia i pacchetti per la query:
- Per le query da un'istanza di macchina virtuale (VM) Compute Engine con un'interfaccia di rete in una rete VPC, la località della query è la regione che contiene l'istanza VM.
- Per le query ricevute da un entry point della policy dei server in entrata, la località della query è la regione del tunnel Cloud VPN, del collegamento VLAN di Cloud Interconnect o dell'appliance router che ha ricevuto i pacchetti per la query. La regione dell'indirizzo IP dell'entry point non è pertinente. Per saperne di più, consulta Rete e regione per le query in entrata.
Cloud DNS supporta i controlli di integrità e i failover all'interno delle policy di routing per i bilanciatori del carico interni e gli endpoint esterni. Cloud DNS consente il failover automatico quando gli endpoint non superano i controlli di integrità. Quando utilizzi le policy di routing basate sulla geolocalizzazione, il traffico esegue il failover sulla geolocalizzazione più vicina successiva al traffico di origine.
Policy di routing basata sulla geolocalizzazione con geofencing
Il geofencing contribuisce a garantire che il traffico venga indirizzato a una regione specifica, anche se tutti gli endpoint all'interno di quella regione non superano i controlli di integrità.
Quando il geofencing è disattivato e una specifica geolocalizzazione non supera un controllo di integrità, il traffico esegue automaticamente il failover alla geolocalizzazione più vicina successiva. Tuttavia, quando il geofencing è attivato, questo failover automatico non si verifica. In qualità di server autoritativo, Cloud DNS deve restituire un valore e, in questo scenario, Cloud DNS restituisce tutti gli indirizzi IP invariati quando gli endpoint non superano i controlli di integrità.
Policy di routing di failover
La policy di routing di failover consente di configurare backup attivi per fornire alta affidabilità per le risorse interne nella tua rete VPC.
Durante il normale funzionamento, Cloud DNS restituisce sempre gli indirizzi IP dal set active. Quando tutti gli indirizzi IP nel set active diventano non integri, Cloud DNS pubblica gli indirizzi IP del set backup. Se configuri il set backup come policy di routing basata sulla geolocalizzazione, il funzionamento è quello descritto nella sezione Policy di routing basata sulla geolocalizzazione. Se configuri il set backup per un bilanciatore del carico interno, i controlli di integrità di Cloud DNS verificano tutti gli indirizzi IP virtuali (VIP) di backup.
Cloud DNS ti consente di trasferire gradualmente il traffico agli indirizzi VIP di backup in modo da poter verificare che funzionino. Puoi configurare la percentuale di traffico inviata al backup come frazione da 0 a 1. Puoi attivare manualmente un failover inviando il 100% del traffico agli indirizzi VIP di backup. Il valore tipico è 0,1. I controlli di integrità possono essere applicati solo ai bilanciatori del carico interni e agli endpoint esterni.
Controlli di integrità
Cloud DNS supporta i controlli di integrità e i failover all'interno delle policy di routing per i seguenti bilanciatori del carico interni ed endpoint esterni:
- Bilanciatori del carico delle applicazioni interni (regionali e interregionali)
- Bilanciatori del carico di rete passthrough interni
- Bilanciatori del carico di rete proxy interni (Anteprima)
- Endpoint esterni
Quando vuoi utilizzare il controllo di integrità con una zona gestita e le estensioni di sicurezza DNS (DNSSEC) sono abilitate, è possibile utilizzare un solo indirizzo IP all'interno di ogni elemento di policy(WRR o geolocalizzazione). Non puoi combinare indirizzi IP sottoposti a controllo di integrità e indirizzi IP non sottoposti a controllo di integrità in una policy specifica.
Per informazioni sulle best practice da tenere presente quando configuri il record Cloud DNS e i controlli di integrità, consulta Best practice.
Controlli di integrità per i bilanciatori del carico interni
I controlli di integrità per i bilanciatori del carico interni sono disponibili solo nelle zone private.
Per i bilanciatori del carico delle applicazioni interni e i bilanciatori del carico di rete proxy interni, Cloud DNS prende in considerazione l'integrità del bilanciatore del carico stesso durante la decisione di routing. Quando un bilanciatore del carico riceve una query, distribuisce il traffico solo ai servizi di backend integri. Per contribuire a garantire la presenza di backend integri, puoi gestire il ciclo di vita dei backend utilizzando servizi come i gruppi di istanze gestite (MIG). Cloud DNS non deve essere a conoscenza dello stato di integrità dei singoli backend; questa attività viene gestita dal bilanciatore del carico.
Per i bilanciatori del carico di rete passthrough interni, Cloud DNS controlla le informazioni sull'integrità delle singole istanze di backend del bilanciatore del carico. Cloud DNS applica una soglia predefinita del 20% e, se almeno il 20% delle istanze di backend è integro, l'endpoint del bilanciatore del carico viene considerato integro. Le policy di routing DNS contrassegnano l'endpoint come integro o non integro in base a questa soglia e indirizzano il traffico di conseguenza.
Un singolo indirizzo IP virtuale (VIP) del bilanciatore del carico di rete passthrough interno può avere più istanze di backend. Se un bilanciatore del carico di rete passthrough interno non ha istanze di backend, Cloud DNS lo considera comunque integro. Affinché il controllo di integrità funzioni correttamente, specifica almeno un'istanza di backend nella configurazione del bilanciatore del carico.
Quando l'endpoint viene contrassegnato come non integro, possono verificarsi le seguenti condizioni:
- Se sono programmati più indirizzi VIP in base a una policy, vengono restituiti solo gli indirizzi VIP integri.
Se tutti gli indirizzi VIP programmati in base a un bucket di policy non sono integri, la riga delle policy non è riuscita. Si applica dunque il seguente comportamento:
- Per una policy WRR, Cloud DNS distribuisce il traffico in modo proporzionale tra gli endpoint integri rimanenti definiti nella policy.
- Per una policy di geolocalizzazione per cui non è abilitato il geofencing, il traffico passa agli endpoint nell'area geografica più vicina alla regione Google Cloud di origine definita nella policy.
- Per una policy di geolocalizzazione con il geofencing abilitato, Cloud DNS distribuisce il traffico all'indirizzo VIP più vicino alla regione Google Cloud di origine definita nella policy.
- Per una policy di failover, Cloud DNS sposta il traffico sugli endpoint di backup definiti nella policy.
- Se tutti i bucket di policy non sono integri, Cloud DNS si comporta come se tutti gli endpoint fossero integri. Questo scenario potrebbe potenzialmente portare a traffico distribuito a endpoint che non rispondono.
Per saperne di più sui controlli di integrità per i bilanciatori del carico interni, consulta Panoramica dei controlli di integrità.
Controlli di integrità per gli endpoint esterni
I controlli di integrità per gli endpoint esterni sono disponibili solo nelle zone pubbliche. Gli endpoint che vuoi sottoporre a controllo di integrità devono essere accessibili tramite internet pubblico. L'endpoint specificato può essere qualsiasi porta e indirizzo IP esterno, inclusi un VIP del bilanciatore del carico delle applicazioni esterno globale, un VIP del bilanciatore del carico delle applicazioni esterno regionale, un VIP del bilanciatore del carico di rete proxy esterno globale, endpoint on-premise o qualsiasi altro endpoint accessibile tramite internet pubblico.
Utilizza i controlli di integrità per gli endpoint esterni nei seguenti scenari:
- Per reindirizzare il traffico a un bilanciatore del carico delle applicazioni esterno regionale se un backend del bilanciatore del carico delle applicazioni esterno globale o un backend del bilanciatore del carico di rete con proxy esterno globale non è più integro.
- Per reindirizzare il traffico a un altro bilanciatore del carico delle applicazioni esterno regionale se il backend di un bilanciatore del carico delle applicazioni esterno regionale specifico non è integro.
- Per monitorare l'integrità degli endpoint on-premise o di altri endpoint raggiungibili su internet pubblico.
Quando crei una policy di routing DNS con controlli di integrità per endpoint esterni, Cloud DNS invia probe di controllo di integrità ai tuoi endpoint. Questi probe di controllo di integrità provengono da tre regioni Google Cloud di origine che specifichi. I prober di controllo di integrità di ogni regione vengono eseguiti in modo indipendente e Cloud DNS aggrega i risultati per determinare l'integrità complessiva dell'endpoint. All'interno di ogni regione, tre istanze di prober di controllo di integrità eseguono il probe di ogni endpoint. Se un probe non va a buon fine, Cloud DNS può comunque determinare l'integrità dell'endpoint utilizzando i probe rimanenti. Ciò significa che hai nove probe in totale per ogni endpoint e ogni probe avviene alla frequenza che specifichi nell'intervallo di controllo del controllo di integrità. In base ai parametri della policy di routing e alle informazioni sull'integrità, Cloud DNS seleziona un endpoint e indirizza il traffico all'endpoint selezionato.
Cloud DNS supporta i protocolli TCP, HTTP e HTTPS con le seguenti limitazioni:
- Il campo della richiesta TCP non è supportato.
- Il campo
proxyHeaderper HTTP, HTTPS e TCP non è supportato.
I protocolli SSL, HTTP/2 e gRPC non sono supportati.
Per il protocollo TCP, Cloud DNS tenta di connettersi all'endpoint.
Per i protocolli HTTP e HTTPS, Cloud DNS verifica che l'endpoint restituisca un codice di risposta HTTP 200. Puoi anche configurare il controllo di integrità basato sui contenuti, in cui Cloud DNS verifica che la risposta contenga una stringa specifica.
A differenza dei controlli di integrità per i bilanciatori del carico interni, i controlli di integrità di Cloud DNS per gli endpoint esterni non hanno origine da intervalli di indirizzi IP fissi. Gli intervalli di indirizzi IP di origine del probe sono soggetti a modifiche nel corso del tempo.
Il protocollo e la porta specificati durante la creazione del controllo di integrità determinano la modalità di esecuzione dei probe del controllo di integrità. Se non specifichi una porta, Cloud DNS utilizza la porta 80. Per assicurarti che i controlli di integrità funzionino correttamente, configura le regole firewall per consentire i probe del controllo di integrità da qualsiasi indirizzo IP di origine e sulla porta specifica configurata nel controllo di integrità.
Se non hai configurato il firewall per consentire i probe del controllo di integrità, i probe non vanno a buon fine, quindi Cloud DNS considera gli endpoint bloccati come non integri. Se ogni endpoint viene restituito come non integro, Cloud DNS li fornisce comunque tutti come risultato, anche se non sono integri.
Intervallo del controllo di integrità
Cloud DNS invia periodicamente probe di controllo di integrità in base all'intervallo di controllo di integrità. Ad esempio, se l'intervallo di controllo di integrità è di 30 secondi, Cloud DNS invia un probe di controllo di integrità ogni 30 secondi.
Per il controllo di integrità degli endpoint esterni di Cloud DNS, l'intervallo del controllo di integrità deve essere compreso tra 30 e 300 secondi.
Policy di routing round robin ponderate e controlli di integrità
Cloud DNS supporta pesi da 0 a 1000 inclusi. Quando vengono inclusi i controlli di integrità, si verifica quanto segue:
- Se configuri più target, tutti con peso 0, il traffico viene distribuito in modo uniforme tra i target.
- Se configuri un nuovo target ponderato diverso da 0, questo diventa il target principale e tutto il traffico viene spostato su questo target.
- Man mano che aggiungi più target con pesi diversi da 0, Cloud DNS calcola dinamicamente la suddivisione del traffico tra i target (con ogni richiesta) e distribuisce il traffico in modo appropriato. Ad esempio, se hai configurato tre target con pesi pari a 0, 25 e 75, il target con peso 0 non riceve traffico, il target con peso 25 riceve un quarto del traffico e il target rimanente riceve tre quarti del traffico in entrata.
- Se i controlli di integrità sono associati a target ponderati diversi da 0, ma non a target ponderati pari a 0, questi ultimi vengono sempre considerati come integri. Se tutti i record diversi da 0 non sono integri, Cloud DNS restituisce i record con peso 0.
- Se i controlli di integrità sono associati a record con peso diverso da 0 e pari a 0 e se tutti i record non superano i controlli di integrità, Cloud DNS restituisce tutti i target con peso diverso da 0 e ignora quelli con peso pari a 0.
- Quando Cloud DNS sceglie un bucket di peso da restituire al richiedente (un singolo elemento della policy), viene restituito solo l'indirizzo IP in quel bucket di peso. Se specifichi un solo indirizzo IP nel bucket di peso, nella risposta viene visualizzato solo questo indirizzo IP. Se nel bucket di peso è presente più di un indirizzo IP, Cloud DNS restituisce tutti gli indirizzi IP in ordine casuale.
Policy di routing basate sulla geolocalizzazione e controlli di integrità
Per le policy di routing basate sulla geolocalizzazione con controlli di integrità abilitati, si verifica quanto segue:
- Quando in una policy sono configurati più indirizzi IP e tutti gli indirizzi IP hanno il controllo di integrità, vengono restituiti solo gli indirizzi IP integri.
- Quando c'è un mix di indirizzi IP sottoposti a controllo di integrità e non sottoposti a controllo di integrità e tutti gli indirizzi IP sottoposti a controllo di integrità non superano il controllo, Cloud DNS restituisce tutti gli indirizzi IP per cui non è configurato il controllo di integrità. In questo scenario, il failover automatico all'area geografica più vicina successiva non si verifica.
Logging del controllo di integrità
Cloud DNS supporta il logging dei controlli di integrità e registra lo stato di integrità degli indirizzi IP per cui è abilitato il controllo di integrità quando esegui una query sul nome DNS che fa riferimento a questi indirizzi IP.
Il logging del controllo di integrità ti consente di:
- Verificare se le policy di routing funzionano come previsto. Ad esempio:
- Per le policy di geolocalizzazione, verificare se le policy rilevano l'area geografica corretta e restituiscono il set di dati del record di risorse corretto.
- Per le policy WRR, verificare se le policy restituiscono gli indirizzi IP con la ponderazione corretta.
- Identificare i problemi dell'infrastruttura con backend e indirizzi IP specifici che presentano errori.
- Risolvere i problemi per cui backend specifici non vengono mai inclusi o sono gli unici a essere restituiti.
Per saperne di più, consulta le informazioni sul logging dei controlli di integrità.
Tipi di record supportati per le policy di routing DNS
Le policy di routing DNS non supportano tutti i tipi di record supportati da Cloud DNS.
Sono supportati i seguenti tipi di record:
| Tipo di record | Descrizione |
|---|---|
| A | Indirizzi IPv4 per i controlli di integrità interni (zona privata) ed esterni (zona pubblica) . |
| AAAA | Indirizzi IPv6 per i controlli di integrità esterni (zona pubblica). |
| CNAME | Nomi canonici. I controlli di integrità non sono supportati. |
| MX | Record di Mail Exchange. I controlli di integrità non sono supportati. |
| SRV | Host/porta (RFC 2782). I controlli di integrità non sono supportati. |
| TXT | Dati di testo. I controlli di integrità non sono supportati. |