Partager via


Connecter des réseaux virtuels interlocataires à un hub Virtual WAN

Cet article montre comment utiliser Virtual WAN pour connecter un réseau virtuel à un hub virtuel dans un autre locataire. Cette architecture est utile si vous avez des charges de travail de client qui doivent être connectées au même réseau mais qui se trouvent dans des locataires différents. Par exemple, comme l’illustre le diagramme suivant, vous pouvez connecter un réseau virtuel non Contoso (le locataire distant) à un hub virtuel Contoso (le locataire parent).

Diagramme montrant une configuration de routage avec un locataire parent et un locataire distant.

Dans cet article, vous apprendrez comment :

  • Ajouter un autre locataire comme contributeur sur votre abonnement Azure.
  • Connectez un réseau virtuel interlocataire à un hub virtuel.

La procédure suivie pour cette configuration utilise une combinaison du portail Azure et de PowerShell. Cependant, la fonctionnalité proprement dite n’est disponible que dans PowerShell et Azure CLI.

Remarque

Vous ne pouvez gérer des connexions de réseau virtuel interlocataires que via PowerShell ou l’interface de ligne de commande Azure installé sur votre machine locale. Étant donné que le portail Azure ne prend pas en charge les opérations interlocataires, vous ne pouvez pas gérer les connexions de réseau virtuel interlocataires via le portail Azure ou le portail Azure CloudShell (PowerShell et interface CLI).

Avant de commencer

Prérequis

Pour utiliser la procédure décrite dans cet article, la configuration suivante doit déjà être définie dans votre environnement :

  • Un WAN virtuel et un hub virtuel dans votre abonnement parent.
  • Un réseau virtuel configuré dans un abonnement situé dans un autre locataire (distant)

Veillez à ce que l’espace d’adressage du réseau virtuel dans le locataire distant ne chevauche pas d’autres espaces d’adressage dans d’autres réseaux virtuels déjà connectés au hub virtuel parent.

Utilisation d’Azure PowerShell

Cet article utilise des cmdlets PowerShell. Pour exécuter les cmdlets, vous pouvez utiliser Azure Cloud Shell. Cloud Shell est un interpréteur de commandes interactif et gratuit, que vous pouvez utiliser pour suivre les étapes mentionnées dans cet article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Pour ouvrir Cloud Shell, il vous suffit de sélectionner Ouvrir Cloud Shell dans le coin supérieur droit d’un bloc de code. Vous pouvez également ouvrir Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com/powershell. Sélectionnez Copier pour copier les blocs de code, collez ceux-ci dans Cloud Shell, puis sélectionnez Entrée pour les exécuter.

Attribuer des autorisations

  1. Dans l’abonnement du réseau virtuel dans le locataire distant, ajoutez l’attribution de rôle Contributeur à l’administrateur (l’utilisateur qui gère le hub virtuel). Les autorisations de contributeur permettront à l’administrateur de modifier les réseaux virtuels ainsi que et d’y accéder dans le locataire distant.

    Pour attribuer ce rôle, vous pouvez utiliser PowerShell ou le portail Azure. Pour découvrir comment procéder, consultez les articles suivants :

  2. Exécutez la commande suivante pour ajouter les abonnements du locataire distant et du locataire parent à la session active de PowerShell. Si vous êtes connecté au locataire parent, vous ne devez exécuter la commande que pour le locataire distant.

    Connect-AzAccount -SubscriptionId "[subscription ID]" -TenantId "[tenant ID]"
    
  3. Vérifiez que l’attribution de rôle a réussi. Connectez-vous à Azure PowerShell en utilisant les informations d’identification du locataire parent, puis exécutez la commande suivante :

    Get-AzSubscription
    

    Si les autorisations ont été correctement propagées au parent et ajoutées à la session, les abonnements appartenant aux locataires parent et distant apparaîtront tous deux dans la sortie de la commande.

Connecter un réseau virtuel à un hub

Dans la procédure suivante, vous allez utiliser des commandes pour basculer d’un contexte d’abonnement à l’autre lors de la liaison du réseau virtuel au hub virtuel. Remplacez les exemples de valeurs pour les adapter à votre propre environnement.

  1. Assurez-vous que vous êtes dans le contexte de votre compte distant :

    Select-AzSubscription -SubscriptionId "[remote ID]"
    
  2. Créez une variable locale pour stocker les métadonnées du réseau virtuel que vous voulez connecter au hub :

    $remote = Get-AzVirtualNetwork -Name "[vnet name]" -ResourceGroupName "[resource group name]"
    
  3. Connectez-vous au compte parent :

    Connect-AzAccount -TenantID "[parent tenant ID]"
    
  4. Sélectionnez l’abonnement parent :

    Select-AzSubscription -SubscriptionId "[parent ID]"
    
  5. Connectez le réseau virtuel au hub :

    New-AzVirtualHubVnetConnection -ResourceGroupName "[parent resource group name]" -VirtualHubName "[virtual hub name]" -Name "[name of connection]" -RemoteVirtualNetwork $remote
    

Vous pouvez voir la nouvelle connexion dans PowerShell ou dans le portail Azure :

  • Dans la console PowerShell, les métadonnées de la nouvelle connexion apparaissent si la connexion a été correctement établie.
  • Dans le Azure-Portal, accédez au hub virtuel et sélectionnez Connectivité>Connexions de réseau virtuel. Vous pouvez afficher le pointeur vers la connexion. Pour afficher la ressource actuelle, vous devez disposer des autorisations appropriées.

Scénario : Ajouter des itinéraires statiques à une connexion au hub de réseau virtuel

Dans les étapes suivantes, vous allez utiliser des commandes pour ajouter un itinéraire statique à la table de routage par défaut du hub virtuel, et une connexion de réseau virtuel pour pointer vers une adresse IP de prochain saut (c’est-à-dire une appliance réseau virtuel (NVA)). Remplacez les exemples de valeurs pour les adapter à votre propre environnement.

Remarque

  • Avant d’exécuter les commandes, assurez-vous que vous avez accès à l’abonnement distant et que vous êtes autorisé à y accéder.
  • Le préfixe de destination peut être un ou plusieurs CIDR. Pour un seul CIDR, utilisez le format suivant : @("10.19.2.0/24"). Pour plusieurs CIDR, utilisez le format suivant : @("10.19.2.0/24", "10.40.0.0/16").
  1. Assurez-vous que vous êtes dans le contexte de votre compte parent :

    Select-AzSubscription -SubscriptionId "[parent ID]" 
    
  2. Ajoutez un itinéraire dans la table de routage par défaut du hub virtuel sans adresse IP spécifique.

    1. Obtenez les détails de la connexion :

      $hubVnetConnection = Get-AzVirtualHubVnetConnection -Name "[HubconnectionName]" -ParentResourceName "[Hub Name]" -ResourceGroupName "[resource group name]"
      
    2. Ajoutez un itinéraire statique à la table de routage du hub virtuel avec la connexion de réseau virtuel du tronçon suivant. Les itinéraires existants dans la table de routage sont conservés avec l’exemple de script suivant.

      $routeTable = Get-AzVHubRouteTable -ResourceGroupName "[Resource group name]" -VirtualHubName "[Virtual hub name]" -Name "defaultRouteTable"
      $Route2 = New-AzVHubRoute -Name "[Route Name]" -Destination “[@("Destination prefix")]” -DestinationType "CIDR" -NextHop $hubVnetConnection.Id -NextHopType "ResourceId"
      $routeTable.Routes.add($Route2)
      
    3. Vérifiez que la table de routage a les nouveaux itinéraires :

      $routeTable.Routes
      
    4. Mettez à jour la table de routage par défaut actuelle du hub :

     Update-AzVHubRouteTable -ResourceGroupName "[resource group name]"-VirtualHubName [“Hub Name”] -Name "defaultRouteTable" -Route @($routeTable.Routes)
    
    1. Mettez à jour l’itinéraire dans la connexion de réseau virtuel pour spécifier le tronçon suivant en tant qu’adresse IP. Cet exemple de script ajoute un nouvel itinéraire à la connexion VNet (en conservant les itinéraires existants).

      Remarque

      Le nom de l’itinéraire doit être identique à celui que vous avez utilisé lors de l’ajout d’un itinéraire statique précédemment. Sinon, vous allez créer deux itinéraires dans la table de routage : l’un sans adresse IP et l’autre avec une adresse IP.

        $newroute = New-AzStaticRoute -Name "[Route Name]"  -AddressPrefix "[@("Destination prefix")]" -NextHopIpAddress "[Destination NVA IP address]"
    
        $hubVNetConnection.RoutingConfiguration.VnetRoutes.StaticRoutes.add($newroute)
    
        Update-AzVirtualHubVnetConnection -ResourceGroupName $rgname -VirtualHubName "[Hub Name]" -Name "[Virtual hub connection name]" -RoutingConfiguration $hubVNetConnection.RoutingConfiguration
    
    1. Vérifiez que l’itinéraire statique est établi vers une adresse IP de tronçon suivant.

      Get-AzVirtualHubVnetConnection -ResourceGroupName "[Resource group]" -VirtualHubName "[virtual hub name]" -Name "[Virtual hub connection name]"
      

Résoudre des problèmes

  • Vérifiez que les métadonnées dans $remote (de la section précédente) correspondent aux informations du portail Azure.
  • Vérifiez les autorisations en utilisant les paramètres IAM du groupe de ressources du locataire distant, ou des commandes Azure PowerShell (Get-AzSubscription).
  • Veillez à mettre les noms des groupes de ressources ou de toute autre variable d’environnement entre guillemets (par exemple, "VirtualHub1" ou "VirtualNetwork1").
  • Si vous utilisez le Kit de développement logiciel (SDK) réseau Azure ou une demande d’API Rest directe, il est nécessaire que le jeton d’autorisation du locataire « Hub » principal soit transmis dans l’en-tête « Authorization » et qu’un jeton d’autorisation supplémentaire pour le deuxième locataire « VNet » soit transmis dans l’en-tête spécial « x-ms-authorization-auxiliaire ».

Étapes suivantes

  • Pour plus d’informations sur Virtual WAN, consultez la FAQ.