Partager via


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é test-rg dans la localisation eastus.

$resourceGroup = @{
    Name = "test-rg"
    Location = "EastUS"
}
New-AzResourceGroup @resourceGroup

Créez un réseau virtuel avec New-AzVirtualNetwork. L’exemple suivant crée un réseau virtuel nommé vnet-1 avec le préfixe d’adresse 10.0.0.0/16.

$vnet1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-1"
    AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork1 = New-AzVirtualNetwork @vnet1

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 :

$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.0.0.0/24"
    VirtualNetwork = $virtualNetwork1
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

É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.
$vnet2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-2"
    AddressPrefix = "10.1.0.0/16"
}
$virtualNetwork2 = New-AzVirtualNetwork @vnet2

# Create the subnet configuration.
$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.1.0.0/24"
    VirtualNetwork = $virtualNetwork2
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

# 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 apparie vnet-1 à vnet-2.

$peerConfig1 = @{
    Name = "vnet-1-to-vnet-2"
    VirtualNetwork = $virtualNetwork1
    RemoteVirtualNetworkId = $virtualNetwork2.Id
}
Add-AzVirtualNetworkPeering @peerConfig1

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’à la création du peering entre vnet-2 et vnet-1. Créez un peering entre vnet-2 et vnet-1.

$peerConfig2 = @{
    Name = "vnet-2-to-vnet-1"
    VirtualNetwork = $virtualNetwork2
    RemoteVirtualNetworkId = $virtualNetwork1.Id
}
Add-AzVirtualNetworkPeering @peerConfig2

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 vnet-1-à-vnet-2 en Connected. Confirmez que l’état du peering vnet-1-à-vnet-2est maintenant Connecté avec Get-AzVirtualNetworkPeering.

$peeringState = @{
    ResourceGroupName = "test-rg"
    VirtualNetworkName = "vnet-1"
}
Get-AzVirtualNetworkPeering @peeringState | 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 vm-1 dans le réseau virtuel vnet-1. L’option -AsJob crée la machine virtuelle en arrière-plan. Vous pouvez donc passer à l’étape suivante. Quand vous y êtes invité, entrez le nom d’utilisateur et le mot de passe pour la machine virtuelle.

$vm1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-1"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-1"
}
New-AzVm @vm1 -AsJob

Créer la seconde machine virtuelle

$vm2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-2"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-2"
}
New-AzVm @vm2

La création de la machine virtuelle ne nécessite que quelques minutes. Ne passez pas aux étapes suivantes tant qu’Azure n’a pas créé vm-2 et renvoyé une sortie à PowerShell.

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 renvoie l’adresse IP publique de la machine virtuelle vm-1 :

$ipAddress = @{
    ResourceGroupName = "test-rg"
    Name = "vm-1"
}
Get-AzPublicIpAddress @ipAddress | Select IpAddress

Utilisez la commande suivante pour créer une session Bureau à distance avec la machine virtuelle vm-1 à 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éé et 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 vm-1, autorisez le protocole ICMP (Internet Control Message Protocol) à travers le pare-feu Windows pour pouvoir envoyer un test ping à cette machine virtuelle à partir de vm-2 dans une prochaine étape, en utilisant PowerShell :

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

Bien que ce test ping soit utilisé pour la communication entre machines virtuelles dans cet article, nous déconseillons l’autorisation du protocole IMCP avec le pare-feu Windows pour les déploiements de production.

Pour vous connecter à vm-2, entrez la commande suivante à partir d’une invite de commandes sur vm-1 :

mstsc /v:10.1.0.4

Vous avez activé le test ping sur vm-1. Vous pouvez maintenant envoyer un test ping à vm-1 en utilisant l’adresse IP à partir d’une invite de commandes sur vm-2.

ping 10.0.0.4

Vous recevez quatre réponses. Déconnectez vos sessions RDP sur vm-1 et vm-2.

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 test-rg -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.