Connecter des réseaux virtuels à l’aide du peering de réseaux virtuels en utilisant Azure CLI

Vous pouvez connecter des réseaux virtuels entre eux à l’aide du peering de réseaux virtuels. Une fois que les deux réseaux virtuels sont appairés, leurs ressources peuvent communiquer entre elles avec les mêmes bande passante et latence, comme si elles se trouvaient sur le même réseau virtuel.

Dans cet article, vous apprendrez comment :

  • Créer deux réseaux virtuels

  • Connecter deux réseaux virtuels à l’aide du peering de réseaux virtuels

  • Déployer une machine virtuelle sur chaque réseau virtuel

  • Établir une communication entre les machines virtuelles

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

  • Cet article nécessite la version 2.0.28 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, la version la plus récente est déjà installée.

Créer des réseaux virtuels

Avant de créer un réseau virtuel, vous devez créer un groupe de ressources pour le réseau virtuel et toutes les autres ressources créées dans cet article. Créez un groupe de ressources avec la commande az group create. L’exemple suivant crée un groupe de ressources nommé test-rg dans la localisation eastus.

az group create \
    --name test-rg \
    --location eastus

Créez un réseau virtuel à l’aide de la commande az network vnet create. L’exemple suivant crée un réseau virtuel nommé vnet-1 avec le préfixe d’adresse 10.0.0.0/16.

az network vnet create \
  --name vnet-1 \
  --resource-group test-rg \
  --address-prefixes 10.0.0.0/16 \
  --subnet-name subnet-1 \
  --subnet-prefix 10.0.0.0/24

Créez un réseau virtuel nommé vnet-2 avec le préfixe d’adresse 10.1.0.0/16 :

az network vnet create \
  --name vnet-2 \
  --resource-group test-rg \
  --address-prefixes 10.1.0.0/16 \
  --subnet-name subnet-1 \
  --subnet-prefix 10.1.0.0/24

Appairer des réseaux virtuels

Les peerings sont établis entre les ID de réseau virtuel. Obtenez l’ID de chaque réseau virtuel avec az network vnet show et stockez l’ID dans une variable.

# Get the id for vnet-1.
vNet1Id=$(az network vnet show \
  --resource-group test-rg \
  --name vnet-1 \
  --query id --out tsv)

# Get the id for vnet-2.
vNet2Id=$(az network vnet show \
  --resource-group test-rg \
  --name vnet-2 \
  --query id \
  --out tsv)

Créez un peering entre vnet-1 et vnet-2 avec az network vnet peering create. Si le paramètre --allow-vnet-access n’est pas spécifié, un peering est établi, mais aucune communication ne peut le traverser.

az network vnet peering create \
  --name vnet-1-to-vnet-2 \
  --resource-group test-rg \
  --vnet-name vnet-1 \
  --remote-vnet $vNet2Id \
  --allow-vnet-access

Dans la sortie obtenue après l’exécution de la commande précédente, vous constatez que le peeringState (état de l’appairage) est Initiated. Le peering reste dans l’état Initiated jusqu’à la création du peering entre vnet-2 et vnet-1. Créez un peering entre vnet-2 et vnet-1.

az network vnet peering create \
  --name vnet-2-to-vnet-1 \
  --resource-group test-rg \
  --vnet-name vnet-2 \
  --remote-vnet $vNet1Id \
  --allow-vnet-access

Dans la sortie obtenue après l’exécution de la commande précédente, vous constatez que le peeringState (état de l’appairage) est Connected. Azure a également changé l’état du peering vnet-1-à-vnet-2 en Connected. Confirmez que l’état du peering vnet-1-à-vnet-2est maintenant Connected avec az network vnet peering show.

az network vnet peering show \
  --name vnet-1-to-vnet-2 \
  --resource-group test-rg \
  --vnet-name vnet-1 \
  --query peeringState

Les ressources d’un réseau virtuel ne peuvent pas communiquer avec les ressources de l’autre réseau virtuel tant que le peeringState des peerings dans les deux réseaux virtuels n’est pas Connected.

Créer des machines virtuelles

Créez une machine virtuelle sur chaque réseau virtuel afin de pouvoir établir une communication entre elles dans une étape ultérieure.

Créer la première machine virtuelle

Créez une machine virtuelle avec la commande az vm create. L’exemple suivant crée une machine virtuelle nommée vm-1 dans le réseau virtuel vnet-1. Si des clés SSH n’existent pas déjà dans un emplacement de clé par défaut, la commande les crée. Pour utiliser un ensemble spécifique de clés, utilisez l’option --ssh-key-value. L’option --no-wait crée la machine virtuelle en arrière-plan. Vous pouvez donc passer à l’étape suivante.

az vm create \
  --resource-group test-rg \
  --name vm-1 \
  --image Ubuntu2204 \
  --vnet-name vnet-1 \
  --subnet subnet-1 \
  --generate-ssh-keys \
  --no-wait

Créer la seconde machine virtuelle

Créez une machine virtuelle dans le réseau virtuel vnet-2.

az vm create \
  --resource-group test-rg \
  --name vm-2 \
  --image Ubuntu2204 \
  --vnet-name vnet-2 \
  --subnet subnet-1 \
  --generate-ssh-keys

La création de la machine virtuelle ne nécessite que quelques minutes. Une fois la machine virtuelle créée, l’interface CLI Azure affiche des informations similaires à celles de l’exemple suivant :

{
  "fqdns": "",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-2",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.1.0.4",
  "publicIpAddress": "13.90.242.231",
  "resourceGroup": "test-rg"
}

Veuillez noter publicIpAddress. Cette adresse sera utilisée pour accéder à la machine virtuelle à partir d’Internet dans une prochaine étape.

Remarque

Azure fournit une adresse IP d’accès sortant par défaut pour les machines virtuelles qui n’ont pas d’adresse IP publique ou qui se trouvent dans le pool de back-ends d’un équilibreur de charge Azure de base interne. Le mécanisme d’adresse IP d’accès sortant par défaut fournit une adresse IP sortante qui n’est pas configurable.

L’adresse IP de l’accès sortant par défaut est désactivée quand l’un des événements suivants se produit :

  • Une adresse IP publique est affectée à la machine virtuelle.
  • La machine virtuelle est placée dans le pool principal d’un équilibreur de charge standard, avec ou sans règles de trafic sortant.
  • Une ressource Azure NAT Gateway est attribuée au sous-réseau de la machine virtuelle.

Les machines virtuelles que vous avez créées, au moyen de groupes de machines virtuelles identiques en mode d’orchestration flexible, n’ont pas d’accès sortant par défaut.

Pour plus d’informations sur les connexions sortantes dans Azure, consultez Accès sortant par défaut dans Azure et Utiliser SNAT (Source Network Address Translation) pour les connexions sortantes.

Établir une communication entre les machines virtuelles

Utilisez la commande suivante pour créer une session SSH avec la machine virtuelle vm-2. Remplacez <publicIpAddress> par l’adresse IP publique de votre machine virtuelle. Dans l’exemple précédent, l’adresse IP publique est 13.90.242.231.

ssh <publicIpAddress>

Effectuez un test ping sur la machine virtuelle dans vnet-1.

ping 10.0.0.4 -c 4

Vous recevez quatre réponses.

Fermez la session SSH sur la machine virtuelle vm-2.

Nettoyer les ressources

Quand vous n’avez plus besoin d’un groupe de ressources, utilisez az group delete pour le supprimer, ainsi que toutes les ressources qu’il contient.

az group delete \
    --name test-rg \
    --yes

Étapes suivantes

Dans cet article, vous avez appris à connecter deux réseaux situés dans la même région Azure à l’aide du peering de réseaux virtuels. Vous pouvez également appairer des réseaux virtuels situés dans des régions différentes et dans des abonnements Azure différents. Vous pouvez aussi créer des conceptions réseau hub-and-spoke avec le peering. Pour en savoir plus sur le peering de réseaux virtuels, consultez Aperçu de présentation du peering de réseaux virtuels et Gérer les peerings de réseau virtuels.

Vous pouvez connecter votre propre ordinateur à un réseau virtuel via un VPN et interagir avec les ressources dans un réseau virtuel, ou dans des réseaux virtuels appairés. Consultez les exemples de script pour obtenir des scripts réutilisables permettant d’accomplir un grand nombre des tâches présentées dans les articles sur les réseaux virtuels.