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

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 avant de commencer.

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Capture d’écran présentant un exemple d’essai pour Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Bouton permettant de lancer Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Capture d’écran présentant le bouton Cloud Shell dans le portail Azure.

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Si vous choisissez d’installer et d’utiliser PowerShell en local, vous devez exécuter le module Azure PowerShell version 1.0.0 ou ultérieure pour les besoins de cet article. Exécutez Get-Module -ListAvailable Az pour rechercher la version installée. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell en local, vous devez également lancer Connect-AzAccount pour créer une connexion avec Azure.

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 New-AzResourceGroup. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus.

New-AzResourceGroup -ResourceGroupName myResourceGroup -Location EastUS

Créez un réseau virtuel avec New-AzVirtualNetwork. L’exemple suivant permet de créer un réseau virtuel nommé myVirtualNetwork1 avec le préfixe d’adresse 10.0.0.0/16.

$virtualNetwork1 = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork1 `
  -AddressPrefix 10.0.0.0/16

Créez une configuration de sous-réseau à l’aide de la commande Add-AzVirtualNetworkSubnetConfig. L’exemple suivant crée une configuration de sous-réseau avec un préfixe d’adresse 10.0.0.0/24 :

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Subnet1 `
  -AddressPrefix 10.0.0.0/24 `
  -VirtualNetwork $virtualNetwork1

Écrivez la configuration du sous-réseau dans le réseau virtuel à l’aide de la commande Set-AzVirtualNetwork, ce qui crée le sous-réseau :

$virtualNetwork1 | Set-AzVirtualNetwork

Créez un réseau virtuel avec un préfixe d’adresse 10.1.0.0/16 et un sous-réseau :

# Create the virtual network.
$virtualNetwork2 = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork2 `
  -AddressPrefix 10.1.0.0/16

# Create the subnet configuration.
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Subnet1 `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualNetwork2

# Write the subnet configuration to the virtual network.
$virtualNetwork2 | Set-AzVirtualNetwork

Appairer des réseaux virtuels

Créez un Peering Add-AzVirtualNetworkPeering. L’exemple suivant appaire myVirtualNetwork1 avec myVirtualNetwork2.

Add-AzVirtualNetworkPeering `
  -Name myVirtualNetwork1-myVirtualNetwork2 `
  -VirtualNetwork $virtualNetwork1 `
  -RemoteVirtualNetworkId $virtualNetwork2.Id

Dans la sortie obtenue après l’exécution de la commande ci-dessus, vous constatez que la valeur de PeeringState (état de l’appairage) est Initiated. Le peering reste dans l’état Initiated jusqu’à ce que vous créiez le peering entre myVirtualNetwork2 et myVirtualNetwork1. Créez un peering entre myVirtualNetwork2 et myVirtualNetwork1.

Add-AzVirtualNetworkPeering `
  -Name myVirtualNetwork2-myVirtualNetwork1 `
  -VirtualNetwork $virtualNetwork2 `
  -RemoteVirtualNetworkId $virtualNetwork1.Id

Dans la sortie obtenue après l’exécution de la commande ci-dessus, vous constatez que PeeringState (état de l’appairage) est Connected. Azure a également changé l’état du peering myVirtualNetwork1-myVirtualNetwork2 en Connected. Vérifiez que l’état du Peering myVirtualNetwork1-myVirtualNetwork2 a été remplacé par Connected à l’aide de Get-AzVirtualNetworkPeering.

Get-AzVirtualNetworkPeering `
  -ResourceGroupName myResourceGroup `
  -VirtualNetworkName myVirtualNetwork1 `
  | Select PeeringState

Les ressources d’un réseau virtuel ne peuvent pas communiquer avec les ressources d’un autre réseau virtuel tant que la valeur de PeeringState pour les appairages dans les deux réseaux virtuels soit 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 New-AzVM. L’exemple suivant crée une machine virtuelle nommée myVm1 dans le réseau virtuel myVirtualNetwork1. L’option -AsJob crée la machine virtuelle en arrière-plan. Vous pouvez donc passer à l’étape suivante. Lorsque vous y êtes invité, entrez le nom d’utilisateur et le mot de passe pour vous connecter à la machine virtuelle.

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork1" `
  -SubnetName "Subnet1" `
  -ImageName "Win2016Datacenter" `
  -Name "myVm1" `
  -AsJob

Créer la seconde machine virtuelle

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork2" `
  -SubnetName "Subnet1" `
  -ImageName "Win2016Datacenter" `
  -Name "myVm2"

La création de la machine virtuelle ne nécessite que quelques minutes. Attendez qu’Azure ait créé la machine virtuelle et renvoyé une sortie à PowerShell pour passer aux étapes suivantes.

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

Vous pouvez vous connecter à l’adresse IP publique d’une machine virtuelle depuis Internet. Utilisez Get-AzPublicIpAddress pour retourner l’adresse IP publique d’une machine virtuelle. L’exemple suivant retourne l’adresse IP publique de la machine virtuelle myVm1 :

Get-AzPublicIpAddress `
  -Name myVm1 `
  -ResourceGroupName myResourceGroup | Select IpAddress

Utilisez la commande suivante pour créer une session Bureau à distance avec la machine virtuelle myVm1 à partir de votre ordinateur local. Remplacez <publicIpAddress> par l’adresse IP retournée par la commande précédente.

mstsc /v:<publicIpAddress>

Un fichier .rdp (Remote Desktop Protocol) est créé, téléchargé sur votre ordinateur, puis ouvert. Entrez le nom d’utilisateur et le mot de passe (il se peut que vous deviez choisir Plus de choix, puis Utiliser un compte différent pour spécifier les informations d’identification que vous avez entrées lors de la création de la machine virtuelle), puis cliquez sur OK. Un avertissement de certificat peut s’afficher pendant le processus de connexion. Cliquez sur Oui ou Continuer pour continuer le processus de connexion.

Sur la machine virtuelle myVm1, autorisez le protocole ICMP (Internet Control Message Protocol) à travers le pare-feu Windows afin d’effectuer un test ping pour cette machine virtuelle à partir de myVm2 lors d’une étape ultérieure, en utilisant PowerShell :

New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4

Bien que ce test ping soit utilisé pour établir une communication entre les machines virtuelles, il n’est pas recommandé d’autoriser le protocole IMCP via le pare-feu Windows lors de déploiements de production.

Pour établir une connexion avec la machine virtuelle myVm2, entrez la commande suivante à partir d’une invite de commandes sur la machine virtuelle myVm1 :

mstsc /v:10.1.0.4

Étant donné que vous avez activé la commande ping sur myVm1, vous pouvez maintenant effectuer un test ping par adresse IP à partir d’une invite de commandes sur la machine virtuelle myVm2 :

ping 10.0.0.4

Vous recevez quatre réponses. Déconnectez vos sessions RDP sur myVm1 et myVm2.

Nettoyer les ressources

Lorsque vous n’avez plus besoin d’un groupe de ressources, utilisez Remove-AzResourcegroup pour le supprimer, ainsi que toutes les ressources qu’il contient.

Remove-AzResourceGroup -Name myResourceGroup -Force

É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.