Connecter un réseau virtuel à un circuit ExpressRoute en utilisant Azure PowerShell

Cet article vous aide à lier des réseaux virtuels à des circuits Azure ExpressRoute en utilisant le modèle de déploiement Resource Manager et PowerShell. Les réseaux virtuels peuvent appartenir au même abonnement ou faire partie d’un autre abonnement. Ce tutoriel explique également comment mettre à jour une liaison de réseau virtuel.

Diagramme montrant un réseau virtuel connecté à un circuit ExpressRoute.

Prérequis

  • Avant de commencer la configuration, examinez les conditions préalables, la configuration requise pour le routage et les flux de travail.

  • Vous devez disposer d’un circuit ExpressRoute actif.

    • Suivez les instructions permettant de créer un circuit ExpressRoute et faites-le activer par votre fournisseur de service de connectivité.
    • Vérifiez que le peering privé Azure est configuré pour votre circuit. Pour obtenir des instructions de routage, consultez l'article sur la configuration du routage .
    • Assurez-vous que l’homologation privée Azure est configurée et établit une homologation BGP entre votre réseau et Microsoft pour une connectivité de bout en bout.
    • Vérifiez qu’un réseau virtuel et une passerelle de réseau virtuel ont été créés et entièrement approvisionnés. Suivez les instructions pour créer une passerelle de réseau virtuel pour ExpressRoute. Une passerelle de réseau virtuel pour ExpressRoute utilise le GatewayType ExpressRoute, et non un VPN.
  • Vous pouvez lier jusqu’à 10 réseaux virtuels à un circuit ExpressRoute standard. Tous les réseaux virtuels doivent figurer dans la même région géopolitique lors de l’utilisation d’un circuit ExpressRoute standard.

  • Un réseau virtuel unique peut être lié à 16 circuits ExpressRoute maximum. Utilisez les étapes de cet article pour créer un objet de connexion pour chaque circuit ExpressRoute auquel vous vous connectez. Les circuits ExpressRoute peuvent être dans le même abonnement, dans des abonnements différents ou dans une combinaison des deux.

  • Si vous activez le module complémentaire ExpressRoute Premium, vous pouvez lier des réseaux virtuels à l’extérieur de la région géopolitique du circuit ExpressRoute. Le module complémentaire Premium vous permet de connecter plus de 10 réseaux virtuels à votre circuit ExpressRoute en fonction de la bande passante choisie. Pour plus d’informations sur le module complémentaire Premium, consultez le FAQ .

  • Pour créer la connexion entre le circuit ExpressRoute et la passerelle de réseau virtuel ExpressRoute cible, le nombre d’espaces d’adressage publiés à partir des réseaux virtuels locaux ou appairés doit être inférieur ou égal à 200. Une fois la connexion correctement établie, vous pouvez ajouter d’autres espaces d’adressage (jusqu’à 1 000) aux réseaux virtuels locaux ou appairés.

  • Passez en revue les recommandations pour la connectivité entre réseaux virtuels sur ExpressRoute.

Utilisation d’Azure PowerShell

Les étapes et les exemples de cet article utilisent les modules Azure PowerShell Az. Pour installer les modules Az en local sur un ordinateur, voir Installer Azure PowerShell. Pour plus d’informations sur le module Az, voir Présentation du nouveau module Azure PowerShell Az. Les cmdlets PowerShell sont fréquemment mises à jour. Si vous n’exécutez pas leur dernière version, les valeurs spécifiées dans les instructions peuvent échouer. Pour rechercher les versions de PowerShell installées sur votre système, utilisez la cmdlet Get-Module -ListAvailable Az.

Il est possible d’utiliser Azure Cloud Shell pour exécuter la plupart des cmdlets PowerShell et des commandes CLI au lieu d’installer Azure PowerShell ou CLI en local. Azure Cloud Shell est un interpréteur de commandes interactif gratuit qui est configuré pour pouvoir être utilisé avec votre compte et dans lequel les outils Azure communs ont été préinstallés. Pour exécuter le code contenu dans cet article sur Azure Cloud Shell, ouvrez une session Cloud Shell, utilisez le bouton Copier sur un bloc de code pour copier le code, et collez-le dans la session Cloud Shell avec Ctrl+Maj+V sur Windows et Linux, ou avec Cmd+Maj+V sur macOS. Le texte collé ne s’exécute pas automatiquement ; appuyez sur Entrée pour exécuter le code.

Cloud Shell peut être lancé de plusieurs façons :

Option Lien
Cliquez sur Essayer dans le coin supérieur droit d’un bloc de code. Cloud Shell dans cet article
Ouvrez Cloud Shell dans votre navigateur. https://shell.azure.com/powershell
Cliquez sur le bouton Cloud Shell du menu situé dans l’angle supérieur droit de la fenêtre du portail Azure. Cloud Shell dans le portail

Connecter un réseau virtuel

Résilience maximale (recommandée) : cette option offre le plus haut niveau de résilience à votre réseau virtuel. Elle fournit deux connexions redondantes de la passerelle de réseau virtuel à deux circuits ExpressRoute différents dans différents emplacements ExpressRoute.

Cloner le script

Pour créer des connexions de résilience maximale, clonez le script de configuration à partir de GitHub.

# Clone the setup script from GitHub.
git clone https://github.com/Azure-Samples/azure-docs-powershell-samples/ 
# Change to the directory where the script is located.
CD azure-docs-powershell-samples/expressroute/

Exécutez le script New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 pour créer des connexions à haute disponibilité. L’exemple suivant montre comment créer deux connexions à deux circuits ExpressRoute.

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
$circuit1 = Get-AzExpressRouteCircuit -Name "MyCircuit1" -ResourceGroupName "MyRG"
$circuit2 = Get-AzExpressRouteCircuit -Name "MyCircuit2" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"

highAvailabilitySetup/New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName "MyRG" -Location "West EU" -Name1 "ERConnection1" -Name2 "ERConnection2" -Peer1 $circuit1.Peerings[0] -Peer2 $circuit2.Peerings[0] -RoutingWeight1 10 -RoutingWeight2 10 -VirtualNetworkGateway1 $gw

Si vous souhaitez créer une connexion et utiliser une connexion existante, vous pouvez utiliser l’exemple suivant. Cet exemple crée une connexion dans un deuxième circuit ExpressRoute et utilise une connexion existante dans le premier circuit ExpressRoute.

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
$circuit1 = Get-AzExpressRouteCircuit -Name "MyCircuit1" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = Get-AzVirtualNetworkGatewayConnection -Name "ERConnection1" -ResourceGroupName "MyRG"

highAvailabilitySetup/New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName "MyRG" -Location "West EU" -Name2 "ERConnection2" -Peer2 $circuit1.Peerings[0] -RoutingWeight2 10 -VirtualNetworkGateway1 $gw -ExistingVirtualNetworkGatewayConnection $connection

Connecter un réseau virtuel d’un autre abonnement à un circuit

Vous pouvez partager un circuit ExpressRoute entre plusieurs abonnements. La figure suivante montre un schéma simple sur le fonctionnement du partage de circuits ExpressRoute entre plusieurs abonnements.

Notes

La connexion de réseaux virtuels entre des clouds souverains Azure et le cloud Azure public n’est pas prise en charge. Vous pouvez uniquement lier des réseaux virtuels provenant de différents abonnements dans le même cloud.

Chacun des petits clouds dans le cloud principal est utilisé pour représenter les abonnements appartenant à différents services au sein d’une organisation. Les départements au sein de l’organisation utilisent leur propre abonnement pour déployer leurs services, mais ils peuvent partager un même circuit ExpressRoute pour se reconnecter à votre réseau local. Un seul service (dans cet exemple : le service informatique) peut détenir le circuit ExpressRoute. D’autres abonnements au sein de l’organisation peuvent utiliser le circuit ExpressRoute.

Notes

Les frais de connectivité et de bande passante pour le circuit ExpressRoute s’appliquent au propriétaire de l’abonnement. Tous les réseaux virtuels partagent la même bande passante.

Connectivité entre abonnements

Administration - propriétaires de circuit et utilisateurs de circuit

Le « propriétaire du circuit » est l’utilisateur avec pouvoir autorisé de la ressource de circuit ExpressRoute. Le propriétaire du circuit peut créer des autorisations utilisables par les « utilisateurs du circuit ». Les utilisateurs du circuit sont propriétaires de passerelles de réseau virtuel qui ne figurent pas dans le même abonnement que le circuit ExpressRoute. Les utilisateurs du circuit peuvent échanger des autorisations (une seule autorisation par réseau virtuel).

Le propriétaire du circuit a le pouvoir de modifier et de révoquer les autorisations à tout moment. La révocation d’une autorisation entraîne la suppression de toutes les connexions de l’abonnement dont l’accès a été révoqué.

Notes

Le propriétaire du circuit n’est pas un rôle RBAC intégré ou défini sur la ressource ExpressRoute. La définition du propriétaire du circuit correspond aux rôles disposant de l’accès suivant :

  • Microsoft.Network/expressRouteCircuits/authorizations/write
  • Microsoft.Network/expressRouteCircuits/authorizations/read
  • Microsoft.Network/expressRouteCircuits/authorizations/delete

Cela inclut les rôles intégrés tels que Contributeur, Propriétaire et Contributeur réseau. Description détaillée des différents rôles intégrés.

Opérations du propriétaire du circuit

Création d’une autorisation

Le propriétaire du circuit crée une autorisation, ce qui entraîne la création d’une clé d’autorisation dont un utilisateur du circuit peut se servir pour connecter ses passerelles de réseau virtuel au circuit ExpressRoute. Une autorisation n’est valide que pour une seule connexion.

L’extrait de code d’applet de commande ci-dessous montre comment créer une autorisation :

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$auth1 = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"

La réponse aux commandes précédentes contient la clé d’autorisation et l’état :

Name                   : MyAuthorization1
Id                     : /subscriptions/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/CrossSubTest/authorizations/MyAuthorization1
Etag                   : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
AuthorizationKey       : ####################################
AuthorizationUseStatus : Available
ProvisioningState      : Succeeded

Vérification des autorisations

Le propriétaire du circuit peut vérifier toutes les autorisations émises sur un circuit donné en exécutant l’applet de commande suivante :

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

Ajout d’autorisations

Le propriétaire du circuit peut ajouter des autorisations à l’aide de l’applet de commande suivante :

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization2"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

Suppression d’autorisations

Le propriétaire du circuit peut révoquer/supprimer les autorisations accordées à l’utilisateur en exécutant l’applet de commande suivante :

Remove-AzExpressRouteCircuitAuthorization -Name "MyAuthorization2" -ExpressRouteCircuit $circuit
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

Opérations de l’utilisateur du circuit

L'utilisateur du circuit a besoin de l'ID de l'homologue et une clé d'autorisation du propriétaire du circuit. La clé d'autorisation est un GUID.

L’ID de l’homologue peut être consulté avec la commande suivante :

Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"

Réclamation d’une autorisation de connexion

L’utilisateur du circuit peut exécuter l’applet de commande suivante pour échanger une autorisation de lien :

$id = "/subscriptions/********************************/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/MyCircuit"    
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName "RemoteResourceGroup" -Location "East US" -VirtualNetworkGateway1 $gw -PeerId $id -ConnectionType ExpressRoute -AuthorizationKey "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

Libération d’une autorisation de connexion

Vous pouvez libérer une autorisation en supprimant la connexion qui lie le circuit ExpressRoute et le réseau virtuel.

Modifier une connexion de réseau virtuel

Vous pouvez mettre à jour certaines propriétés d’une connexion de réseau virtuel.

Mise à jour du poids attribué à la connexion

Votre réseau virtuel peut être connecté à plusieurs circuits ExpressRoute. Vous pouvez recevoir le même préfixe à partir de plusieurs circuits ExpressRoute. Pour choisir la connexion pour envoyer le trafic destiné à ce préfixe, vous pouvez modifier le RoutingWeight d’une connexion. Le trafic est envoyé sur la connexion au RoutingWeight le plus élevé.

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyVirtualNetworkConnection" -ResourceGroupName "MyRG"
$connection.RoutingWeight = 100
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

La plage de RoutingWeight est de 0 à 32000. La valeur par défaut est 0.

Configurer ExpressRoute FastPath

Vous pouvez activer ExpressRoute FastPath si votre passerelle de réseau virtuel est Très hautes performances ou ErGw3AZ. FastPath améliore le niveau de performance de chemin d’accès de données comme le nombre de paquets et de connexions par seconde entre votre réseau local et votre réseau virtuel.

Configurer FastPath sur une nouvelle connexion

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG" 
$gw = Get-AzVirtualNetworkGateway -Name "MyGateway" -ResourceGroupName "MyRG" 
$connection = New-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" -ExpressRouteGatewayBypass -VirtualNetworkGateway1 $gw -PeerId $circuit.Id -ConnectionType ExpressRoute -Location "MyLocation" 

Mise à jour d’une connexion existante pour activer FastPath

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" 
$connection.ExpressRouteGatewayBypass = $True
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Grâce à la prise en charge de l'appairage de réseaux virtuels et des UDR, FastPath envoie le trafic directement aux machines virtuelles déployées dans les réseaux virtuels « spoke » (connectés via l'appairage de réseaux virtuels) et applique tous les UDR configurés sur le sous-réseau de la passerelle. Cette fonctionnalité est désormais en disponibilité générale (GA).

Avec FastPath et Private Link, le trafic Private Link envoyé sur ExpressRoute contourne la passerelle de réseau virtuel ExpressRoute dans le chemin des données. Lorsque ces deux fonctionnalités sont activées, FastPath envoie directement du trafic à un point de terminaison privé déployé dans un réseau virtuel « spoke ».

Ces scénarios sont en disponibilité générale pour des scénarios limités avec des connexions associées à des circuits ExpressRoute Direct de 10 Gbits/s et 100 Gbits/s. Pour l’activation, suivez les étapes ci-dessous :

  1. Remplissez ce Formulaire Microsoft pour demander l'inscription de votre abonnement. Les requêtes peuvent prendre jusqu’à 4 semaines, donc planifiez les déploiements en conséquence.
  2. Une fois que vous recevez une confirmation de l’étape 1, exécutez la commande Azure PowerShell suivante dans l’abonnement Azure cible.
$connection = Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <resource-group> -ResourceName <connection-name>
$connection.ExpressRouteGatewayBypass = $true
$connection.EnablePrivateLinkFastPath = $true
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Remarque

Vous pouvez utiliser Moniteur de connexion pour vérifier que votre trafic atteint la destination à l’aide de FastPath.

Remarque

L’activation de la prise en charge de FastPath Private Link pour les scénarios en disponibilité générale limitée peut prendre jusqu’à 4 semaines. Veuillez planifier votre ou vos déploiements à l’avance.

La prise en charge de FastPath pour le peering de réseaux virtuels et les UDR n’est disponible que pour les connexions ExpressRoute Direct.

Remarque

Si vous avez déjà configuré FastPath et que vous souhaitez vous inscrire aux fonctionnalités GA limitées, vous devez effectuer les opérations suivantes :

  1. Inscrivez-vous à l’une des fonctionnalités FastPath avec les commandes Azure PowerShell.
  2. Désactivez, puis réactivez FastPath sur la connexion cible.
  3. Pour passer d’une fonctionnalité GA limitée à une autre, enregistrez l’abonnement avec la commande PowerShell en préversion cible, puis désactivez et réactivez FastPath sur la connexion.

Nettoyer les ressources

Si vous n’avez plus besoin de la connexion ExpressRoute, à partir de l’abonnement où se trouve la passerelle, utilisez la commande Remove-AzVirtualNetworkGatewayConnection pour supprimer le lien entre la passerelle et le circuit.

Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"

Étapes suivantes

Ce tutoriel vous a montré comment connecter un réseau virtuel à un circuit dans le même abonnement et dans un autre abonnement. Pour plus d’informations sur les passerelles ExpressRoute, consultez :Passerelles de réseau virtuel ExpressRoute.

Pour savoir comment configurer des filtres de routage pour le peering Microsoft à l’aide de PowerShell, passez au didacticiel suivant.