Exercice - Créer une passerelle VPN site à site à l’aide des commandes Azure CLI

Effectué

Vous êtes maintenant prêt à configurer votre passerelle VPN site à site en créant les adresses IP publiques, les passerelles de réseau virtuel et les connexions. Souvenez-vous que vous avez utilisé des espaces réservés pour les références d’adresse IP publique quand vous avez créé vos passerelles de réseau local. Vous devez donc maintenant mettre à jour ces passerelles avec les vraies adresses IP publiques de vos passerelles de réseau virtuel.

Dans l’idéal, les adresses IP publiques et les passerelles de réseau virtuel doivent être créées avant les passerelles de réseau local. Dans cet exercice, vous apprenez comment mettre à jour les passerelles de réseau local. Vous pouvez utiliser les mêmes commandes pour mettre à jour n’importe quel élément de configuration dans les passerelles de réseau local, comme les espaces d’adressage de réseau distant.

Créer la passerelle VPN côté Azure

Vous commencez par créer la passerelle VPN du côté Azure de la connexion. La création d’une passerelle de réseau virtuel peut prendre jusqu’à 45 minutes. Pour gagner du temps, vous utilisez des commandes Azure CLI avec le paramètre --no-wait. Ce paramètre vous permet de créer les deux passerelles de réseau virtuel simultanément pour réduire le temps global nécessaire pour créer ces ressources.

  1. Exécutez la commande suivante dans Cloud Shell pour créer l’adresse IP publique PIP-VNG-Azure-VNet-1.

    az network public-ip create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-Azure-VNet-1 \
        --allocation-method Static
    
  2. Exécutez la commande suivante dans Cloud Shell pour créer le réseau virtuel VNG-Azure-VNet-1.

    az network vnet create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-Azure-VNet-1 \
        --subnet-name GatewaySubnet 
    
  3. Exécutez la commande suivante dans Cloud Shell pour créer la passerelle de réseau virtuel VNG-Azure-VNet-1.

    az network vnet-gateway create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-Azure-VNet-1 \
        --public-ip-addresses PIP-VNG-Azure-VNet-1 \
        --vnet VNG-Azure-VNet-1 \
        --gateway-type Vpn \
        --vpn-type RouteBased \
        --sku VpnGw1 \
        --no-wait
    

Créer la passerelle VPN locale

Ensuite, vous créez une passerelle VPN pour simuler un périphérique VPN local.

  1. Exécutez la commande suivante dans Cloud Shell pour créer l’adresse IP publique PIP-VNG-HQ-Network.

    az network public-ip create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-HQ-Network \
        --allocation-method Static
    
  2. Exécutez la commande suivante dans Cloud Shell pour créer le réseau virtuel VNG-HQ-Network.

    az network vnet create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-HQ-Network \
        --subnet-name GatewaySubnet 
    
  3. Exécutez la commande suivante dans Cloud Shell pour créer la passerelle de réseau virtuel VNG-HQ-Network.

    az network vnet-gateway create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-HQ-Network \
        --public-ip-addresses PIP-VNG-HQ-Network \
        --vnet VNG-HQ-Network \
        --gateway-type Vpn \
        --vpn-type RouteBased \
        --sku VpnGw1 \
        --no-wait
    
  4. La création de la passerelle prend environ 30 minutes. Pour superviser la progression de la création de la passerelle, exécutez la commande suivante. Nous utilisons la commande Linux watch pour exécuter régulièrement la commande az network vnet-gateway list, ce qui permet de superviser la progression.

    watch -d -n 5 az network vnet-gateway list \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --output table
    
  5. Une fois que chaque passerelle VPN affiche pour ProvisioningState l’état Réussi, vous êtes prêt à continuer. Appuyez sur Ctrl+C pour arrêter la commande une fois la passerelle créée.

    ActiveActive    EnableBgp    EnablePrivateIpAddress   GatewayType    Location        Name              ProvisioningState    ResourceGroup                         ResourceGuid                          VpnType
    --------------  -----------  ------------------------ -------------  --------------  ----------------  -------------------  -----------------------------  ------------------------------------  ----------
    False           False        False                    Vpn            southcentralus  VNG-Azure-VNet-1  Succeeded            <rgn>[sandbox resource group name]</rgn>  48dc714e-a700-42ad-810f-a8163ee8e001  RouteBased
    False           False        False                    Vpn            southcentralus  VNG-HQ-Network    Succeeded            <rgn>[sandbox resource group name]</rgn>  49b3041d-e878-40d9-a135-58e0ecb7e48b  RouteBased
    

Mettre à jour les références d’adresse IP de la passerelle de réseau local

Important

Vos passerelles de réseau virtuel doivent être déployées pour pouvoir commencer l’exercice suivant. La création d’une passerelle peut prendre jusqu’à 30 minutes. Patientez jusqu’à ce que ProvisioningState affiche la réussite de l’opération.

Dans cette section, vous mettez à jour les références d’adresse IP de la passerelle distante qui sont définies dans les passerelles de réseau local. Vous ne pouvez pas mettre à jour les passerelles de réseau local tant que les passerelles VPN ne sont pas créées et qu’une adresse IPv4 ne leur est pas attribuée et associée.

  1. Exécutez la commande Azure CLI suivante pour vérifier si les deux passerelles de réseau virtuel ont été créées. L’état initial indique Mise à jour. Vous souhaitez voir Réussi sur VNG-Azure-VNet-1 et VNG-HQ-Network.

    az network vnet-gateway list \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --output table
    
    Name              Location    GatewayType    VpnType     VpnGatewayGeneration    EnableBgp    EnablePrivateIpAddress    Active    ResourceGuid                        ProvisioningState    ResourceGroup
    ----------------  ----------  -------------  ----------  ----------------------  -----------  ------------------------  --------  ------------------------------------  -------------------  ------------------------------------------
    VNG-Azure-VNet-1  westus      Vpn            RouteBased  Generation1         False        False                     False     9a2e60e6-da57-4274-99fd-e1f8b2c0326d  Succeeded            learn-cfbcca66-16fd-423e-b688-66f242d8f09e
    VNG-HQ-Network    westus      Vpn            RouteBased  Generation1         False        False                     False     c36430ed-e6c0-4230-ae40-cf937a102bcd  Succeeded            learn-cfbcca66-16fd-423e-b688-66f242d8f09e
    

    N’oubliez pas d’attendre le retour des listes de passerelles. Par ailleurs, rappelez-vous que les ressources de passerelle de réseau local définissent les paramètres de la passerelle et du réseau distants dont elles portent le nom. Par exemple, la passerelle de réseau local LNG-Azure-VNet-1 contient des informations comme l’adresse IP et les réseaux d’Azure-VNet-1.

  2. Exécutez la commande suivante dans Cloud Shell pour récupérer l’adresse IPv4 attribuée à PIP-VNG-Azure-VNet-1 et la stocker dans une variable.

    PIPVNGAZUREVNET1=$(az network public-ip show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-Azure-VNet-1 \
        --query "[ipAddress]" \
        --output tsv)
    
  3. Exécutez la commande suivante dans Cloud Shell pour mettre à jour la passerelle de réseau local LNG-Azure-VNet-1 afin qu’elle pointe vers l’adresse IP publique attachée à la passerelle de réseau virtuel VNG-Azure-VNet-1.

    az network local-gateway update \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name LNG-Azure-VNet-1 \
        --gateway-ip-address $PIPVNGAZUREVNET1
    
  4. Exécutez la commande suivante dans Cloud Shell pour récupérer l’adresse IPv4 attribuée à PIP-VNG-HQ-Network et la stocker dans une variable.

    PIPVNGHQNETWORK=$(az network public-ip show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-HQ-Network \
        --query "[ipAddress]" \
        --output tsv)
    
  5. Exécutez la commande suivante dans Cloud Shell pour mettre à jour la passerelle de réseau local LNG-HQ-Network afin qu’elle pointe vers l’adresse IP publique attachée à la passerelle de réseau virtuel VNG-HQ-Network.

    az network local-gateway update \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name LNG-HQ-Network \
        --gateway-ip-address $PIPVNGHQNETWORK
    

Créer les connexions

Vous terminez la configuration en créant les connexions de chaque passerelle VPN à la passerelle de réseau local qui contient les références d’adresse IP publique du réseau distant de cette passerelle.

  1. Créez la clé partagée à utiliser pour les connexions. Dans la commande suivante, remplacez <shared key> par une chaîne de texte à utiliser comme clé prépartagée IPSec. La clé prépartagée est une chaîne qui ne dépasse pas 128 caractères ASCII imprimables. Ne peut pas contenir de caractères spéciaux comme des traits d’union et des tildes. Vous utilisez cette clé prépartagée sur les deux connexions.

    Notes

    Dans cet exemple, tous les ensembles de nombres fonctionnent pour une clé partagée : SHAREDKEY = 123456789. Dans les environnements de production, nous vous recommandons d’utiliser un maximum de 128 caractères ASCII imprimables sans caractères spéciaux, comme les traits d’union ou les tildes.

    SHAREDKEY=<shared key>
    
  2. N’oubliez pas que LNG-HQ-Network contient une référence à l’adresse IP de votre appareil VPN local simulé. Exécutez la commande suivante dans Cloud Shell pour créer la connexion de VNG-Azure-VNet-1 à LNG-HQ-Network.

    az network vpn-connection create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name Azure-VNet-1-To-HQ-Network \
        --vnet-gateway1 VNG-Azure-VNet-1 \
        --shared-key $SHAREDKEY \
        --local-gateway2 LNG-HQ-Network
    
  3. N’oubliez pas que LNG-Azure-VNet-1 contient une référence à l’adresse IP publique associée à la passerelle VPN VNG-Azure-VNet-1. Cette connexion est normalement créée à partir de votre appareil local. Exécutez la commande suivante dans Cloud Shell pour créer une connexion de VNG-HQ-Network à LNG-Azure-VNet-1.

    az network vpn-connection create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name HQ-Network-To-Azure-VNet-1  \
        --vnet-gateway1 VNG-HQ-Network \
        --shared-key $SHAREDKEY \
        --local-gateway2 LNG-Azure-VNet-1
    

Vous avez maintenant terminé la configuration de la connexion site à site. Les tunnels doivent automatiquement se connecter et devenir actifs, mais cela peut prendre quelques minutes.

Étapes de vérification

Confirmons que les tunnels VPN sont connectés.

  1. Exécutez la commande suivante pour confirmer que Azure-VNet-1-To-HQ-Network est connecté.

    az network vpn-connection show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name Azure-VNet-1-To-HQ-Network  \
        --output table \
        --query '{Name:name,ConnectionStatus:connectionStatus}'
    

    Vous devez voir une sortie comme la suivante, qui indique que la connexion a été établie. Si ConnectionStatus indique Connecting ou Unknown, attendez une minute ou deux, et réexécutez la commande. L’établissement des connexions peut prendre quelques minutes.

    Name                        ConnectionStatus
    --------------------------  ------------------
    Azure-VNet-1-To-HQ-Network  Connected
    

La configuration site à site est maintenant terminée. Votre topologie finale, notamment les sous-réseaux et les connexions avec des points de connexion logiques, apparaît dans le diagramme suivant. Une fois les connexions VPN établies, les machines virtuelles déployées dans les sous-réseaux Services et Applications peuvent communiquer entre elles.

Diagram of resources deployed during unit 4 exercise.