Esercitazione: Configurare il failover DNS usando i resolver privati

Questo articolo illustra come eliminare un singolo punto di guasto nei servizi DNS locali usando due o più resolver privati DNS di Azure distribuiti in aree diverse. Il failover DNS viene abilitato assegnando un resolver locale come DNS primario e il resolver in un'area adiacente come DNS secondario. Se il server DNS primario non risponde, i client DNS riprovano automaticamente a usare il server DNS secondario.

In questa esercitazione apprenderai a:

  • Risolvere le zone DNS privato di Azure usando i forwarder condizionali locali e i resolver privati DNS di Azure.
  • Abilitare il failover DNS locale per le zone DNS privato di Azure.

Il diagramma seguente illustra lo scenario di failover descritto in questo articolo.

Azure DNS Private Resolver architecture

In questo scenario sono disponibili connessioni da due posizioni locali a due reti virtuali hub di Azure.

  • Nell'area orientale il percorso primario si trova nell'hub della rete virtuale orientale. Si dispone di una connessione secondaria all'hub occidentale. L'area occidentale è configurata in senso inverso.
  • A causa di un problema di connettività Internet, la connessione a una rete virtuale (occidentale) è temporaneamente interrotta.
  • Il servizio viene mantenuto in entrambe le aree a causa della progettazione ridondante.

Il percorso di risoluzione DNS è:

  1. I forwarder condizionali DNS locali ridondanti inviano query DNS agli endpoint in ingresso.
  2. Gli endpoint in ingresso ricevono query DNS dall'ambiente locale.
  3. Gli endpoint in uscita e i set di regole di inoltro DNS elaborano le query DNS e restituiscono risposte alle risorse locali.

Gli endpoint in uscita e i set di regole di inoltro DNS non sono necessari per lo scenario di failover, ma sono inclusi qui per completezza. I set di regole possono essere usati per risolvere i domini locali da Azure. Per altre informazioni, vedere Endpoint e set di regole del Resolver privato DNS di Azure e Risolvere i domini di Azure e locali.

Prerequisiti

Nota

In questa esercitazione azure.contoso.com è una zona DNS privato di Azure. Sostituire azure.contoso.com con il nome della zona DNS privato.

Accedere ad Azure

Accedere al portale di Azure.

Determinare gli indirizzi IP degli endpoint in ingresso

Annotare gli indirizzi IP assegnati agli endpoint in ingresso dei resolver privati DNS. Gli indirizzi IP verranno usati per configurare forwarder DNS locali.

In questo esempio sono presenti due reti virtuali in due aree:

  • myeastvnet si trova nell'area Stati Uniti orientali, assegnato lo spazio indirizzi 10.10.0.0/16
  • mywestvnet si trova nell'area Stati Uniti centro-occidentali, assegnato lo spazio indirizzi 10.20.0.0/16
  1. Cercare Resolver privati DNS e selezionare il resolver privato dalla prima area. Ad esempio: myeastresolver.

  2. In Impostazioni selezionare Endpoint in ingresso e annotare l'impostazione Indirizzo IP. Ad esempio: 10.10.0.4.

    View inbound endpoint

  3. Tornare all'elenco dei resolver privati DNS e selezionare un resolver da un'area diversa. Ad esempio: mywestresolver.

  4. In Impostazioniselezionare Endpoint in ingresso e annotare l'impostazione dell'indirizzo IP del resolver. Ad esempio: 10.20.0.4.

Per risolvere i record DNS in una zona DNS privato di Azure, la zona deve essere collegata alla rete virtuale. In questo esempio la zona azure.contoso.com è collegata a myeastvnet e mywestvnet. Possono essere presenti anche collegamenti ad altre reti virtuali.

  1. Cercare Zone DNS privato e selezionare la zona privata. Ad esempio: azure.contoso.com.

  2. In Impostazioni selezionare Collegamenti di rete virtuale e verificare che le reti virtuali usate per gli endpoint in ingresso nella procedura precedente siano elencate anche in Rete virtuale. Ad esempio: myeastvnet e mywestvnet.

    View vnet links

  3. Se una o più reti virtuali non sono ancora collegate, è possibile aggiungerla qui selezionando Aggiungi, specificando un Nome collegamento, scegliendo la Sottoscrizione e scegliendo la Rete virtuale.

Suggerimento

È anche possibile usare il peering per risolvere i record nelle zone DNS privato. Per altre informazioni, vedere Endpoint e set di regole del resolver privato DNS di Azure.

Verificare la risoluzione DNS di Azure

Verificare che le impostazioni DNS per le reti virtuali siano impostate su Predefinito (fornito da Azure).

  1. Cercare Reti virtuali e selezionare la prima rete virtuale. Ad esempio: myeastvnet.

  2. In Impostazioniselezionare Server DNS e verificare che sia selezionata Predefinito (fornito da Azure).

  3. Selezionare la rete virtuale successiva (ad esempio mywestvnet) e verificare che sia selezionata l'opzione Predefinita (fornita da Azure).

    Nota

    È possibile far funzionare anche le impostazioni DNS personalizzate, ma questo non rientra nello scenario attuale.

  4. Cercare Zone DNS privato e selezionare il nome della zona privata. Ad esempio: azure.contoso.com.

  5. Creare un record di test nella zona selezionando + Set di record e aggiungendo un nuovo record A. Ad esempio: test.

    Create a test A record

  6. Aprire un prompt dei comandi usando un client locale e usare nslookup per cercare il record di test usando il primo indirizzo IP del resolver privato scritto (ad esempio: 10.10.0.4). Vedere l'esempio seguente:

    nslookup test.azure.contoso.com 10.10.0.4
    

    La query deve restituire l'indirizzo IP assegnato al record di test. Results of nslookup - east

  7. Ripetere questa query nslookup usando l'indirizzo IP scritto per il secondo resolver privato (ad esempio 10.20.0.4).

    Results of nslookup - west

    Nota

    Se la risoluzione DNS per la zona privata non funziona, verificare che i collegamenti locali alle reti virtuali di Azure siano connessi.

Configurare l'inoltro DNS locale

Ora che la risoluzione DNS funziona dall'ambiente locale ad Azure usando due diversi resolver privati DNS di Azure, è possibile configurare l'inoltro per l'uso di entrambi questi indirizzi. Ciò consentirà la ridondanza nel caso in cui una delle connessioni ad Azure venga interrotta. La procedura per configurare i forwarder dipende dal tipo di server DNS in uso. L'esempio seguente usa un server Windows che esegue il servizio Ruolo del server DNS e ha un indirizzo IP 10.100.0.2.

Nota

Il server DNS usato per configurare l'inoltro deve essere un server che i dispositivi client nella rete useranno per la risoluzione DNS. Se il server che si sta configurando non è quello predefinito, sarà necessario eseguire una query direttamente sull'indirizzo IP (ad esempio nslookup test.azure.contoso.com 10.100.0.2) dopo la configurazione dell'inoltro.

  1. Aprire un prompt di Windows PowerShell con privilegi elevati ed eseguire il comando seguente. Sostituire azure.contoso.com con il nome della zona privata e sostituire gli indirizzi IP seguenti con gli indirizzi IP dei resolver privati.

    Add-DnsServerConditionalForwarderZone -Name "azure.contoso.com" -MasterServers 10.20.0.4,10.10.0.4
    
  2. Se si preferisce, è anche possibile usare la console DNS per immettere i forwarder condizionali. Vedere l'esempio seguente:

    View DNS forwarders

  3. Ora che l'inoltro è stato completato, eseguire la stessa query DNS usata nella procedura precedente. Tuttavia, questa volta non immettere un indirizzo IP di destinazione per la query. La query userà il server DNS predefinito del client.

    Results of nslookup

Dimostrare la resilienza (facoltativo)

È ora possibile dimostrare che la risoluzione DNS funziona quando una delle connessioni è interrotta.

  1. Interrompere la connettività dall'ambiente locale a una delle reti virtuali disabilitando o disconnettendo l'interfaccia. Verificare che la connessione non si riconnette automaticamente su richiesta.

  2. Eseguire la query nslookup usando il resolver privato dalla rete virtuale che non è più connessa e verificare che abbia esito negativo (vedere di seguito).

  3. Eseguire la query nslookup usando il server DNS predefinito (configurato con i forwarder) e verificare che funzioni ancora grazie alla ridondanza abilitata.

    Results of nslookup - failover

Passaggi successivi