Esercizio - Risolvere i problemi di una rete con gli strumenti di monitoraggio e diagnostica di Network Watcher

Completato

Azure Network Watcher semplifica la diagnosi degli errori di configurazione che impediscono la comunicazione tra le macchine virtuali.

Si supponga di avere due macchine virtuali che non riescono a comunicare. Si vuole diagnosticare il problema e risolverlo nel minor tempo possibile. Per eseguire questa operazione, si vuole usare Network Watcher.

In questa unità si risolveranno i problemi di connettività tra due macchine virtuali in subnet diverse.

Importante

Per eseguire questo esercizio è necessario disporre di una propria sottoscrizione di Azure e questo potrebbe comportare dei costi. Se non hai ancora una sottoscrizione di Azure, crea un account gratuito prima di iniziare.

Configurare una rete virtuale e le macchine virtuali

Per iniziare, creiamo l'infrastruttura. Verrà anche creato volutamente un errore di configurazione:

  1. Nel browser aprire una sessione di Azure Cloud Shell.

  2. Aprire la directory in cui si desidera creare le risorse.

  3. Selezionare Bash nella parte superiore sinistra della barra dei menu Cloud Shell.

  4. Elencare le aree supportate per la sottoscrizione.

    az account list-locations
    
  5. Creare un gruppo di risorse e assegnarlo al nome di variabile RG eseguendo il codice seguente, sostituendo <resource group name> con un nome per il gruppo di risorse e <name> con il nome di un'area dell'output precedente.

    az group create --name <resource group name> --location <name>
    RG=<resource group name>
    
  6. Creare una rete virtuale denominata MyVNet1 con una subnet denominata FrontendSubnet eseguendo questo comando.

    az network vnet create \
        --resource-group $RG \
        --name MyVNet1 \
        --address-prefixes 10.10.0.0/16 \
        --subnet-name FrontendSubnet \
        --subnet-prefixes 10.10.1.0/24
    
  7. Creare un'altra subnet denominata BackendSubnet eseguendo questo comando.

    az network vnet subnet create \
    --address-prefixes 10.10.2.0/24 \
    --name BackendSubnet \
    --resource-group $RG \
    --vnet-name MyVNet1
    
  8. Distribuire una macchina virtuale in FrontendSubnet eseguendo questo comando, sostituendo <password> con una password complessa di propria scelta.

    az vm create \
        --resource-group $RG \
        --name FrontendVM \
        --vnet-name MyVNet1 \
        --subnet FrontendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    

    Nota

    Se si riceve un errore "partofthepassword: event not found", creare una nuova password usando i caratteri consentiti.

  9. Installare IIS in FrontendVM eseguendo il codice seguente.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name FrontendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  10. Distribuire una macchina virtuale in BackendSubnet eseguendo questo comando, sostituendo <password> con una password complessa di propria scelta.

    az vm create \
        --resource-group $RG \
        --name BackendVM \
        --vnet-name MyVNet1 \
        --subnet BackendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    
  11. Installare IIS in BackendVM eseguendo questo comando.

    az vm extension set \
        --publisher Microsoft.Compute \
        --name CustomScriptExtension \
        --vm-name BackendVM \
        --resource-group $RG \
        --settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}' \
        --no-wait
    
  12. Creare un gruppo di sicurezza di rete (NSG) MyNsg immettendo il comando seguente.

    az network nsg create \
        --name MyNsg \
        --resource-group $RG
    
  13. Creare un errore di configurazione che impedisce la comunicazione tra le macchine virtuali.

    az network nsg rule create \
        --resource-group $RG \
        --name MyNSGRule \
        --nsg-name MyNsg \
        --priority 4096 \
        --source-address-prefixes '*' \
        --source-port-ranges '*' \
        --destination-address-prefixes '*' \
        --destination-port-ranges 80 443 3389 \
        --access Deny \
        --protocol TCP \
        --direction Inbound \
        --description "Deny from specific IP address ranges on 80, 443 and 3389."
    
  14. Eseguire il comando seguente per associare un gruppo di sicurezza di rete a una subnet.

    az network vnet subnet update \
        --resource-group $RG \
        --name BackendSubnet \
        --vnet-name MyVNet1 \
        --network-security-group MyNsg
    

Abilitare Network Watcher per l'area in uso

A questo punto si userà l'interfaccia della riga di comando di Azure per configurare Network Watcher nella stessa area dell'infrastruttura.

  1. Abilitare Network Watcher eseguendo questo comando, sostituendo <location> con l'area di Azure usata durante la creazione del gruppo di risorse all'inizio di questa sessione.
az network watcher configure \
    --enabled true \
    --resource-group $RG \
    --locations <location>

Usare Network Watcher per visualizzare la topologia

È ora possibile usare Network Watcher nel portale di Azure per risolvere i problemi di connettività tra due macchine virtuali in subnet diverse. Un collega ha segnalato un problema di connettività su HTTP/HTTPS tra le due macchine virtuali. Esaminare prima di tutto la topologia di rete.

  1. Accedere al portale di Azure.

  2. Nel campo di ricerca globale immettere Network Watcher e selezionare il servizio. Viene visualizzato il riquadro panoramica Network Watcher, che elenca il network watcher attivo.

  3. Nel menu di Network Watcher, in Monitoraggio selezionare Topologia. Viene visualizzato il riquadro Network Watcher | Topologia.

  4. Negli elenchi a discesa selezionare la sottoscrizione e il gruppo di risorse per questo esercizio. La topologia di rete per MyVNet1 visualizza le interfacce di macchina virtuale front-end e back-end. Si tratta della rete virtuale creata all'inizio di questo esercizio.

    Screenshot che mostra la topologia di rete dell'esercizio.

Usare Monitoraggio connessione per eseguire test dal back-end al front-end

La topologia sembra corretta. Per ottenere altre informazioni verranno configurati alcuni test in Monitoraggio connessione. Iniziare creando un test dalla macchina virtuale back-end alla macchina virtuale front-end.

  1. Nel menu di Network Watcher, in Monitoraggio selezionare Monitoraggio connessione. Viene visualizzato il riquadro panoramica Network Watcher | Monitoraggio connessione.

  2. Dalla barra dei comandi selezionare Crea. Viene visualizzata la pagina Crea monitoraggio connessione.

  3. Nella scheda Informazioni di base immettere i valori indicati di seguito per ogni impostazione.

    Impostazione Valore
    Nome monitoraggio connessione Back-to-front-HTTP-test
    Abbonamento Selezionare la sottoscrizione dall'elenco a discesa
    Paese Selezionare l'area di Azure in cui sono state distribuite le risorse
    Configurazione dell'area di lavoro L'opzione Usa area di lavoro creata da monitoraggio connessione (impostazione predefinita) è selezionata
  4. Selezionare Avanti: gruppi di test. Viene visualizzato il riquadro Aggiungi dettagli gruppo di test.

  5. Per Nome gruppo di test immettere Back-to-front-HTTP-test-group.

  6. Nella casella Origini selezionare Aggiungi origini. Viene visualizzato il riquadro Aggiungi origini.

  7. Nella scheda Endpoint di Azure selezionare Subnet, verificare che la sottoscrizione sia selezionata, quindi selezionare BackendSubnet dall'elenco.

    Screenshot che mostra l'abilitazione della subnet back-end di Network Watcher.

  8. Selezionare Aggiungi endpoint. Nella casella Origini con back-endSubnet identificata come origine. Selezionare questo endpoint, quindi selezionare Modifica e rinominarlo BackendSubnet, infine selezionare Salva.

    Screenshot che mostra la modifica del nome dell'endpoint.

  9. Nella casella Configurazioni di test selezionare Aggiungi configurazione di test. Viene visualizzato il riquadro Aggiungi configurazione di test.

  10. Nella scheda Nuova configurazione immettere i valori seguenti per ogni impostazione.

    Impostazione Valore
    Nome configurazione di test Back-to-front-HTTP-test-configuration
    Protocollo HTTP
    Porta di destinazione 80
    Frequenza test Ogni 30 secondi
    Mantenere i valori predefiniti per le impostazioni rimanenti
  11. Selezionare Aggiungi configurazione di test per aggiungere questa configurazione di test al gruppo di test. Il riquadro Aggiungi dettagli del gruppo di test viene visualizzato nuovamente con la configurazione di test identificata.

  12. Nella casella Destinazioni selezionare Aggiungi destinazioni. Viene visualizzato il riquadro Aggiungi destinazioni.

  13. Nella scheda Endpoint di Azure, selezionare Subnte, verificare che la sottoscrizione sia selezionata, quindi selezionare FrontendSubnet nell'elenco.

  14. Selezionare Aggiungi endpoint. Il riquadro Aggiungi dettagli gruppo di test viene visualizzato nuovamente con la FrontendSubnet identificata come destinazione.

  15. Nella parte inferiore del riquadro selezionare Aggiungi gruppo di test. Viene visualizzato il riquadro Crea monitoraggio connessione.

  16. Nella scheda Gruppi di test si noti che il gruppo di test è elencato con origine come back-end e destinazione come front-end.

  17. Selezionare Rivedi e crea e quindi Crea.

Se il test non viene visualizzato nel riquadro Monitoraggio connessione, selezionare il pulsante Aggiorna. I risultati del test Back-to-front-HTTP-test dovrebbero indicare che, dato che il gruppo di sicurezza di rete è associato alla subnet back-end, il traffico viene trasmesso senza problemi dalla macchina virtuale back-end alla macchina virtuale front-end.

Usare Monitoraggio connessione per eseguire test dal front-end al back-end

Eseguire lo stesso test nella direzione opposta. Si vedrà ora come configurare un altro test in Monitoraggio connessione. Si inizierà creando un test dalla macchina virtuale front-end alla macchina virtuale back-end.

  1. Nel riquadro Monitoraggio connessione selezionare Crea.

  2. Nella scheda Informazioni di base immettere i valori indicati di seguito per ogni impostazione.

    Impostazione Valore
    Nome monitoraggio connessione Front-to-back-HTTP-test
    Abbonamento Selezionare la sottoscrizione dall'elenco a discesa
    Paese Selezionare l'area di Azure in cui sono state distribuite le risorse
  3. Selezionare Avanti: gruppi di test. Viene visualizzato il riquadro Aggiungi dettagli gruppo di test.

  4. In Nome del gruppo di test immettere Front-to-back-HTTP-test-group e quindi selezionare Aggiungi origini nella casella Origini. Viene visualizzato il riquadro Aggiungi origini.

  5. Nella scheda Endpoint di Azure selezionare Subnet, verificare che la sottoscrizione sia selezionata, quindi selezionare FrontSubnet nell'elenco.

  6. Selezionare Aggiungi endpoint. Nella casella Origini con back-endSubnet identificata come origine. Selezionare questo endpoint, quindi selezionare Modifica e rinominarlo FrontendSubnet, infine selezionare Salva.

  7. Nella casella Configurazioni di test selezionare Aggiungi configurazione di test. Viene visualizzato il riquadro Aggiungi configurazione di test.

  8. Nella scheda Nuova configurazione immettere i valori seguenti per ogni impostazione.

    Impostazione Valore
    Nome configurazione di test Front-to-back-HTTP-test-configuration
    Protocollo HTTP
    Porta di destinazione 80
    Frequenza test Ogni 30 secondi
    Accettare i valori predefiniti per le impostazioni rimanenti
  9. Selezionare Aggiungi configurazione di test. Il riquadro Aggiungi dettagli del gruppo di test viene visualizzato nuovamente con la configurazione di test identificata.

  10. Nella casella Destinazioni selezionare Aggiungi destinazioni. Viene visualizzato il riquadro Aggiungi destinazioni.

  11. Nella scheda Endpoint di Azure selezionare Subnet, verificare che la sottoscrizione sia selezionata, quindi selezionare BackendSubnet dall'elenco.

  12. Selezionare Aggiungi endpoint. Il riquadro Aggiungi dettagli gruppo di test viene visualizzato nuovamente con la BackendSubnet identificata come destinazione.

  13. Nella parte inferiore del riquadro selezionare Aggiungi gruppo di test. Viene visualizzato nuovamente il riquadro Crea monitoraggio connessione.

  14. Nella scheda Gruppi di test notare che il Front-to-back-HTTP-test-group è ora elencato.

  15. Selezionare Rivedi e crea e quindi Crea.

Se il test non viene visualizzato nel riquadro Monitoraggio connessione, selezionare il pulsante Aggiorna. I risultati del test Front-to-back-HTTP-test dovrebbero indicare che, dato che il gruppo di sicurezza di rete è associato alla subnet back-end, nessun traffico viene trasmesso dalla macchina virtuale front-end alla macchina virtuale back-end.

Usare Verifica flusso IP per testare la connessione

Per ottenere altre informazioni, è possibile usare lo strumento di verifica del flusso IP.

  1. Selezionare Network Watcher e nel menu delle risorse in Strumenti di diagnostica di rete selezionare Verifica flusso IP.

  2. Per configurare il test, immettere i valori seguenti per ogni impostazione, quindi selezionare Verifica.

    Impostazione Valore
    Subscription Selezionare la sottoscrizione
    Gruppo di risorse selezionare il gruppo di risorse
    Macchina virtuale BackendVM
    Interfaccia di rete BackendVMVMNic
    Protocollo TCP
    Direzione In entrata
    Indirizzo IP locale 10.10.2.4
    Porta locale 3389
    IP remoto 10.10.1.4
    Porta remota 3389

    Screenshot che mostra una verifica del flusso IP.

  3. Il risultato è Accesso negato a causa di gruppi di sicurezza di rete e regole di sicurezza.

In questo esercizio sono stati usati gli strumenti di Network Watcher per individuare il problema di connettività tra le due subnet. La comunicazione è consentita in una direzione, ma è bloccata nell'altra a causa delle regole del gruppo di sicurezza di rete.