Freigeben über


Mandantenübergreifendes Verbinden von virtuellen Netzwerken mit einem Virtual WAN-Hub

Dieser Artikel unterstützt Sie bei der Verwendung von Azure Virtual WAN, um eine Verbindung zwischen einem virtuellen Netzwerk und einem virtuellen Hub in einem anderen Mandanten herzustellen. Diese Architektur ist nützlich, wenn Sie über Clientworkloads verfügen, die mit dem gleichen Netzwerk verbunden sein müssen, sich jedoch auf unterschiedlichen Mandanten befinden. So können Sie z. B. wie im folgenden Diagramm gezeigt eine Verbindung zwischen einem virtuellen Nicht-Contoso-Netzwerk (dem Remotemandanten) und einem virtuellen Contoso-Hub (dem übergeordneten Mandanten) herstellen.

Diagramm: Routingkonfiguration mit einem übergeordneten Mandanten und einem Remotemandanten

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Hinzufügen eines weiteren Mandanten als Mitwirkender in Ihrem Azure-Abonnement.
  • Verbinden Sie ein mandantenübergreifendes virtuelles Netzwerk mit einem virtuellen Hub.

Bei den Schritten für diese Konfiguration wird eine Kombination aus Azure-Portal und PowerShell verwendet. Die Funktion selbst ist jedoch nur in PowerShell und der Azure CLI verfügbar.

Hinweis

Sie können mandantenübergreifende VNet-Verbindungen nur über PowerShell oder die auf Ihrem lokalen Computer installierte Azure CLI verwalten. Da das Azure-Portal mandantenübergreifende Vorgänge nicht unterstützt, können Sie keine mandantenübergreifenden VNet-Verbindungen über das Azure-Portal oder die Azure-Portal-CloudShell (PowerShell wie auch CLI) verwalten.

Voraussetzungen

Voraussetzungen

Damit Sie die Schritte in diesem Artikel ausführen können, müssen Sie die folgende Konfiguration bereits in Ihrer Umgebung eingerichtet haben:

  • Ein virtuelles WAN und ein virtueller Hub in ihrem übergeordneten Abonnement
  • Ein virtuelles Netzwerk, das in einem anderen Mandanten (Remotemandant) in einem Abonnement konfiguriert ist

Stellen Sie sicher, dass sich der Adressraum des virtuellen Netzwerks im Remotemandanten nicht mit einem anderen Adressraum in anderen virtuellen Netzwerken überschneidet, die bereits mit dem übergeordneten virtuellen Hub verbunden sind.

Arbeiten mit Azure PowerShell

In diesem Artikel werden PowerShell-Cmdlets verwendet. Um die Cmdlets auszuführen, können Sie Azure Cloud Shell verwenden. Cloud Shell ist eine kostenlose interaktive Shell, mit der Sie die Schritte in diesem Artikel ausführen können. Sie verfügt über allgemeine vorinstallierte Tools und ist für die Verwendung mit Ihrem Konto konfiguriert.

Wählen Sie in der oberen rechten Ecke eines Codeblocks einfach die Option Cloud Shell öffnen aus, um Cloud Shell zu öffnen. Sie können Cloud Shell auch auf einer separaten Browserregisterkarte öffnen, indem Sie zu https://shell.azure.com/powershell navigieren. Wählen Sie Kopieren aus, um die Codeblöcke zu kopieren. Fügen Sie die Blöcke anschließend in Cloud Shell ein, und drücken Sie die EINGABETASTE, um sie auszuführen.

Zuweisen von Berechtigungen

  1. Fügen Sie im Abonnement des virtuellen Netzwerks im Remotemandanten die Rollenzuweisung „Mitwirkender“ zum Administrator hinzu (der Benutzer, der den virtuellen Hub verwaltet). Berechtigungen vom Typ „Mitwirkender“ ermöglichen es dem Administrator, die virtuellen Netzwerke im Remotemandanten zu ändern und darauf zuzugreifen.

    Sie können zum Zuweisen dieser Rolle entweder PowerShell oder das Azure-Portal verwenden. Informationen zu den entsprechenden Schritten finden Sie in den folgenden Artikeln:

  2. Führen Sie den folgenden Befehl aus, um das Remotemandantenabonnement und das übergeordnete Mandantenabonnement der aktuellen PowerShell-Sitzung hinzuzufügen. Wenn Sie beim übergeordneten Mandanten angemeldet sind, müssen Sie den Befehl nur für den Remotemandanten ausführen.

    Connect-AzAccount -SubscriptionId "[subscription ID]" -TenantId "[tenant ID]"
    
  3. Stellen Sie sicher, dass die Rollenzuweisung erfolgreich ist. Melden Sie sich mit den übergeordneten Anmeldeinformationen bei Azure PowerShell an, und führen Sie den folgenden Befehl aus:

    Get-AzSubscription
    

    Wenn die Berechtigungen erfolgreich an den übergeordneten Mandanten weitergegeben und der Sitzung hinzugefügt wurden, werden die im Besitz des übergeordneten Mandanten und des Remotemandanten befindlichen Abonnements in der Ausgabe des Befehls angezeigt.

Verbinden eines virtuellen Netzwerks mit einem Hub

In den folgenden Schritten verwenden Sie Befehle, um zwischen dem Kontext der beiden Abonnements zu wechseln, wenn Sie das virtuelle Netzwerk mit dem virtuellen Hub verknüpfen. Ersetzen Sie die Beispielwerte Ihrer Umgebung entsprechend.

  1. Vergewissern Sie sich, dass Sie sich im Kontext Ihres Remotekontos befinden:

    Select-AzSubscription -SubscriptionId "[remote ID]"
    
  2. Erstellen Sie eine lokale Variable zum Speichern der Metadaten des virtuellen Netzwerks, das Sie mit dem Hub verbinden möchten:

    $remote = Get-AzVirtualNetwork -Name "[vnet name]" -ResourceGroupName "[resource group name]"
    
  3. Verbinden mit dem übergeordneten Konto:

    Connect-AzAccount -TenantID "[parent tenant ID]"
    
  4. Wählen Sie das übergeordnete Abonnement aus:

    Select-AzSubscription -SubscriptionId "[parent ID]"
    
  5. Verbinden Sie das virtuelle Netzwerk mit dem Hub:

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

Sie können die neue Verbindung entweder in PowerShell oder im Azure-Portal anzeigen:

  • Die Metadaten aus der neu hergestellten Verbindung werden in der PowerShell-Konsole angezeigt, wenn die Verbindung erfolgreich hergestellt wurde.
  • Navigieren Sie im Azure-Portal zum virtuellen Hub, und wählen Sie Konnektivität>VNET-Verbindungen aus. Sie können dann den Zeiger auf die Verbindung anzeigen. Um die tatsächliche Ressource anzuzeigen, benötigen Sie die richtigen Berechtigungen.

Szenario: Hinzufügen statischer Routen zur Hubverbindung des virtuellen Netzwerks

In den folgenden Schritten verwenden Sie Befehle, um der Standardroutingtabelle des virtuellen Hubs eine statische Route sowie eine VNet-Verbindung hinzuzufügen, um auf eine nächste Hop-IP-Adresse (d. h. ein virtuelles Netzwerkgerät) zu verweisen. Ersetzen Sie die Beispielwerte Ihrer Umgebung entsprechend.

Hinweis

  • Bevor Sie die Befehle ausführen, stellen Sie sicher, dass Sie Zugriff haben und für das Remoteabonnement autorisiert sind.
  • Das Zielpräfix kann ein CIDR oder mehrere sein Verwenden Sie für ein einzelnes CIDR dieses Format: @("10.19.2.0/24"). Verwenden Sie für mehrere CIDR dieses Format: @("10.19.2.0/24", "10.40.0.0/16").
  1. Vergewissern Sie sich, dass Sie sich im Kontext Ihres übergeordneten Kontos befinden:

    Select-AzSubscription -SubscriptionId "[parent ID]" 
    
  2. Fügen Sie in der Standardroutingtabelle des virtuellen Hubs eine Route ohne bestimmte IP-Adresse hinzu.

    1. Rufen Sie die Verbindungsdetails ab:

      $hubVnetConnection = Get-AzVirtualHubVnetConnection -Name "[HubconnectionName]" -ParentResourceName "[Hub Name]" -ResourceGroupName "[resource group name]"
      
    2. Fügen Sie eine statische Route zur Routentabelle des virtuellen Hubs mit der VNet-Verbindung als nächsten Hop hinzu. Vorhandene Routen in der Routentabelle bleiben mit dem folgenden Beispielskript erhalten.

      $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. Überprüfen Sie, ob die Routentabelle die neuen Routen enthält:

      $routeTable.Routes
      
    4. Aktualisieren Sie die aktuelle Standardroutingtabelle des Hubs:

     Update-AzVHubRouteTable -ResourceGroupName "[resource group name]"-VirtualHubName [“Hub Name”] -Name "defaultRouteTable" -Route @($routeTable.Routes)
    
    1. Aktualisieren Sie die Route in der VNet-Verbindung, um den nächsten Hop als IP-Adresse anzugeben. Dieses Beispielskript fügt der VNET-Verbindung eine neue Route hinzu (wobei vorhandene Routen beibehalten werden).

      Hinweis

      Der Routenname sollte identisch mit dem Namen sein, den Sie zuvor beim Hinzufügen einer statischen Route verwendet haben. Andernfalls erstellen Sie zwei Routen in der Routingtabelle: eine ohne IP-Adresse und eine mit einer IP-Adresse.

        $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. Überprüfen Sie, ob eine statische Route zu einer IP-Adresse des nächsten Hops eingerichtet wurde.

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

Problembehandlung

  • Vergewissern Sie sich, dass die Metadaten in $remote remote (aus dem vorherigen Abschnitt) mit den Informationen aus dem Azure-Portal übereinstimmen.
  • Überprüfen Sie die Berechtigungen mithilfe der IAM-Einstellungen der Remotemandanten-Ressourcengruppe oder mithilfe von Azure PowerShell-Befehlen (Get-AzSubscription).
  • Stellen Sie sicher, dass die Namen von Ressourcengruppen oder anderen umgebungsspezifischen Variablen in Anführungszeichen eingeschlossen werden (z. B. "VirtualHub1" oder "VirtualNetwork1").
  • Wenn Sie das Azure Network SDK oder eine direkte REST-API-Anforderung verwenden, ist es erforderlich, dass das Autorisierungstoken des primären "Hub"-Mandanten im "Authorization"-Header und ein zusätzliches Autorisierungstoken für den zweiten "VNet"-Mandanten im speziellen "x-ms-authorization-auxiliary"-Header übergeben wird.

Nächste Schritte