Exercice - Résoudre les problèmes d’un réseau avec les outils de supervision et de diagnostic de Network Watcher

Effectué

Azure Network Watcher vous permet de diagnostiquer les erreurs de configuration qui empêchent les machines virtuelles de communiquer.

Supposons que vous avez deux machines virtuelles qui ne peuvent pas communiquer. Vous voulez diagnostiquer le problème et le résoudre aussi vite que possible. Pour cela, vous voulez utiliser Network Watcher.

Vous allez ici résoudre les problèmes de connectivité entre deux machines virtuelles dans des sous-réseaux différents.

Important

Vous avez besoin de votre propre abonnement Azure pour exécuter cet exercice et des frais pourraient vous être facturés. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Configurer un réseau virtuel et des machines virtuelles

Commençons par créer l’infrastructure. Nous allons également commettre intentionnellement une erreur de configuration :

  1. Dans votre navigateur, ouvrez une session Azure Cloud Shell.

  2. Ouvrez le répertoire dans lequel vous souhaitez créer des ressources.

  3. Sélectionnez Bash en haut à gauche de la barre de menus Cloud Shell.

  4. Listez les régions prises en charge par votre abonnement.

    az account list-locations
    
  5. Créez un groupe de ressources et affectez-le au nom de variable RG en exécutant le code suivant, en remplaçant <resource group name> par le nom de votre groupe de ressources et <name> par le nom d’une région issu de la sortie précédente.

    az group create --name <resource group name> --location <name>
    RG=<resource group name>
    
  6. Créez un réseau virtuel nommé MyVNet1 avec un sous-réseau nommé FrontendSubnet en exécutant cette commande.

    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. Créez un autre sous-réseau appelé BackendSubnet en exécutant cette commande.

    az network vnet subnet create \
    --address-prefixes 10.10.2.0/24 \
    --name BackendSubnet \
    --resource-group $RG \
    --vnet-name MyVNet1
    
  8. Déployez une machine virtuelle dans FrontendSubnet en exécutant cette commande, en remplaçant <password> par un mot de passe complexe de votre choix.

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

    Notes

    Si vous recevez une erreur « partofthepassword : événement introuvable ; créez un autre mot de passe en utilisant les caractères autorisés.

  9. Installez IIS sur FrontendVM en exécutant le code suivant.

    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. Déployez une machine virtuelle dans BackendSubnet en exécutant cette commande, en remplaçant <password> par un mot de passe complexe de votre choix.

    az vm create \
        --resource-group $RG \
        --name BackendVM \
        --vnet-name MyVNet1 \
        --subnet BackendSubnet \
        --image Win2019Datacenter \
        --admin-username azureuser \
        --admin-password <password>
    
  11. Installez IIS sur BackendVM en exécutant cette commande.

    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. Créez un groupe de sécurité réseau (NSG) MyNsg en entrant la commande suivante.

    az network nsg create \
        --name MyNsg \
        --resource-group $RG
    
  13. Créez une erreur de configuration qui empêche la communication entre les machines virtuelles.

    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. Exécutez la commande suivante pour associer un groupe de sécurité réseau à un sous-réseau.

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

Activer Network Watcher pour votre région

Nous allons maintenant utiliser Azure CLI pour configurer Network Watcher dans la même région que l’infrastructure.

  1. Activez Network Watcher en exécutant cette commande, en remplaçant <location> par la région Azure que vous avez utilisée lors de la création de votre groupe de ressources au début de cette session.
az network watcher configure \
    --enabled true \
    --resource-group $RG \
    --locations <location>

Utiliser Network Watcher pour montrer la topologie

Vous pouvez désormais utiliser Network Watcher dans le portail Azure pour résoudre les problèmes de connectivité entre deux machines virtuelles situées sur des sous-réseaux distincts. Votre collègue a signalé un problème de connectivité sur HTTP/HTTPS entre les deux machines virtuelles. Examinez d’abord la topologie du réseau.

  1. Connectez-vous au portail Azure.

  2. Dans la recherche globale, entrez Network Watcher et sélectionnez ce service. Le volet de vue d’ensemble de Network Watcher s’affiche et liste l’observateur de réseau actif.

  3. Dans le menu Network Watcher, sous Supervision, sélectionnez Topologie. Le volet Network Watcher | Topologie s’affiche.

  4. Dans les champs de la liste déroulante, sélectionnez votre Abonnement et le Groupe de ressources pour cet exercice. La topologie de réseau pour MyVNet1 présente les interfaces de machine virtuelle front-end et back-end. Il s’agit du réseau virtuel que vous avez créé au début de cet exercice.

    Capture d’écran montrant la topologie de réseau de l’exercice.

Utiliser le Moniteur de connexion pour exécuter des tests du back-end vers le front-end

La topologie semble correcte. Pour obtenir plus d’informations, nous allons configurer des tests dans le Moniteur de connexion. Commencez par créer un test de la machine virtuelle back-end vers la machine virtuelle front-end.

  1. Dans le menu Network Watcher, sous Supervision, sélectionnez Moniteur de connexion. Le panneau de vue d’ensemble Network Watcher | Moniteur de connexion s’affiche.

  2. Dans la barre de commandes, sélectionnez Créer. La page Créer un moniteur de connexion s’affiche.

  3. Sous l’onglet Informations de base, entrez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Nom du Moniteur de connexion Back-to-front-HTTP-test
    Abonnement Sélectionnez votre abonnement dans la liste déroulante
    Région Sélectionnez la région Azure dans laquelle vous avez déployé vos ressources
    Configuration de l’espace de travail L’option Utiliser l’espace de travail créé par le moniteur de connexion (par défaut) est cochée
  4. Sélectionnez Suivant : Groupes de test. Le volet Ajouter les détails du groupe de tests s’affiche.

  5. Pour le nom du groupe de test, entrez Back-to-front-HTTP-test-group.

  6. Dans la zone Sources, sélectionnez Ajouter des sources. Le volet Ajouter des sources s’affiche.

  7. Sous l’onglet Points de terminaison Azure, sélectionnez Sous-réseau, vérifiez que votre abonnement est sélectionné, puis choisissez BackendSubnet dans la liste.

    Capture d’écran montrant l’activation du sous-réseau backend Network Watcher.

  8. Sélectionnez Ajouter des points de terminaison. Dans la zone Sources avec le sous-réseau BackendSubnet identifié comme étant votre source. Sélectionnez ce point de terminaison, sélectionnez Modifier, renommez-le BackendSubnet, puis sélectionnez Enregistrer.

    Capture d’écran montrant la modification du nom du point de terminaison.

  9. Dans la zone Configurations de tests, sélectionnez Ajouter une configuration de test. Le volet Ajouter une configuration de test s’affiche.

  10. Sous l’onglet Nouvelle configuration, entrez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Nom de la configuration de test Back-to-front-HTTP-test-configuration
    Protocol HTTP
    Port de destination 80
    Fréquence de test Toutes les 30 secondes
    Garder les valeurs par défaut pour les autres paramètres
  11. Sélectionnez Ajouter une configuration de test pour ajouter cette configuration de test à votre groupe de tests. Le volet Ajouter les détails du groupe de tests réapparaît avec votre configuration de test identifiée.

  12. Dans la zone Destinations, sélectionnez Ajouter des destinations. Le volet Ajouter des destinations s’affiche.

  13. Sous l’onglet Points de terminaison Azure, sélectionnez Sous-réseau, vérifiez que votre abonnement est sélectionné, puis choisissez FrontendSubnet dans la liste.

  14. Sélectionnez Ajouter des points de terminaison. Le volet Ajouter les détails du groupe de tests réapparaît avec le FrontendSubnet identifié comme votre destination.

  15. Au bas du volet, sélectionnez Ajouter un groupe de tests. Le volet Créer un moniteur de connexion s’affiche.

  16. Sous l’onglet Groupes de tests, notez que votre groupe de tests est listé avec la source comme back-end et la destination comme front-end.

  17. Sélectionnez Vérifier + créer, puis Créer.

Si votre test n’apparaît pas dans le volet Moniteur de connexion, sélectionnez le bouton Actualiser. Les résultats de Back-to-front-HTTP-test doivent indiquer que, comme le NSG est associé au sous-réseau du back-end, le trafic circule sans problèmes de la machine virtuelle back-end à la machine virtuelle front-end.

Utiliser le Moniteur de connexion pour exécuter des tests du front-end vers le back-end

Exécutez le même test dans la direction opposée. Configurons un autre test dans le Moniteur de connexion. Commencez par créer un test de la machine virtuelle front-end vers la machine virtuelle back-end.

  1. Dans le volet Moniteur de connexion, sélectionnez Créer.

  2. Sous l’onglet Informations de base, entrez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Nom du Moniteur de connexion Front-to-back-HTTP-test
    Abonnement Sélectionnez votre abonnement dans la liste déroulante
    Région Sélectionnez la région Azure dans laquelle vous avez déployé vos ressources
  3. Sélectionnez Suivant : Groupes de test. Le volet Ajouter les détails du groupe de tests s’affiche.

  4. Dans Nom du groupe de tests, entrez Front-to-back-HTTP-test-group, puis sélectionnez Ajouter des sources dans la zone Sources. Le volet Ajouter des sources s’affiche.

  5. Sous l’onglet Points de terminaison Azure, sélectionnez Sous-réseau, vérifiez que votre abonnement est sélectionné, puis choisissez FrontSubnet dans la liste.

  6. Sélectionnez Ajouter des points de terminaison. Dans la zone Sources avec le sous-réseau BackendSubnet identifié comme étant votre source. Sélectionnez ce point de terminaison, sélectionnez Modifier, renommez-le FrontendSubnet, puis sélectionnez Enregistrer.

  7. Dans la zone Configurations de tests, sélectionnez Ajouter une configuration de test. Le volet Ajouter une configuration de test s’affiche.

  8. Sous l’onglet Nouvelle configuration, entrez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Nom de la configuration de test Front-to-back-HTTP-test-configuration
    Protocol HTTP
    Port de destination 80
    Fréquence de test Toutes les 30 secondes
    Accepter les valeurs par défaut pour les autres paramètres
  9. Sélectionnez Ajouter une configuration de test. Le volet Ajouter les détails du groupe de tests réapparaît avec votre configuration de test identifiée.

  10. Dans la zone Destinations, sélectionnez Ajouter des destinations. Le volet Ajouter des destinations s’affiche.

  11. Sous l’onglet Points de terminaison Azure, sélectionnez Sous-réseau, vérifiez que votre abonnement est sélectionné, puis choisissez BackendSubnet dans la liste.

  12. Sélectionnez Ajouter des points de terminaison. Le volet Ajouter les détails du groupe de tests réapparaît avec le BackendSubnet identifié comme votre destination.

  13. Au bas du volet, sélectionnez Ajouter un groupe de tests. Le volet Créer un moniteur de connexion réapparaît.

  14. Sous l’onglet Groupes de tests, notez que votre groupe Front-to-back-HTTP-test-group est maintenant listé.

  15. Sélectionnez Vérifier + créer, puis Créer.

Si votre test n’apparaît pas dans le volet Moniteur de connexion, sélectionnez le bouton Actualiser. Les résultats de Front-to-back-HTTP-test doivent indiquer que, comme le NSG est associé au sous-réseau de back-end, aucun trafic ne circule de la machine virtuelle front-end vers la machine virtuelle back-end.

Utiliser Vérification du flux IP pour tester la connexion

Utilisons l’outil Vérification du flux IP pour obtenir plus d’informations.

  1. Sélectionnez Network Watcher, puis dans le menu de ressources sous Outils de diagnostic réseau, sélectionnez Vérification des flux IP.

  2. Configurez le test en entrant les valeurs suivantes pour chaque paramètre, puis sélectionnez Vérifier.

    Paramètre Valeur
    Abonnement Sélectionnez votre abonnement
    Resource group Sélectionner votre groupe de ressources
    Machine virtuelle BackendVM
    Interface réseau BackendVMVMNic
    Protocole TCP
    Sens Entrant
    Adresse IP locale 10.10.2.4
    Port local 3389
    Adresse IP distante 10.10.1.4
    Port distant 3389

    Capture d’écran montrant un test de flux IP.

  3. Le résultat indique que l’accès est refusé en raison du NSG et des règles de sécurité.

Dans cet exercice, vous avez utilisé les outils Network Watcher pour découvrir le problème de connectivité entre les deux sous-réseaux. La communication est autorisée dans un sens, mais bloquée dans l’autre à cause des règles de groupe de sécurité réseau.