Udostępnij przez


Łączenie sieci wirtualnych między dzierżawcami z koncentratorem Virtual WAN

Ten artykuł ułatwia korzystanie z usługi Azure Virtual WAN w celu połączenia sieci wirtualnej z koncentratorem wirtualnym w innej dzierżawie. Ta architektura jest przydatna, jeśli masz obciążenia klientów, które muszą być połączone, aby były tą samą siecią, ale znajdują się w różnych dzierżawach. Na przykład, jak pokazano na poniższym diagramie, można połączyć sieć wirtualną inną niż Contoso (dzierżawę zdalną) z koncentratorem wirtualnym firmy Contoso (dzierżawą nadrzędną).

Diagram przedstawiający konfigurację routingu z dzierżawą nadrzędną i dzierżawą zdalną.

W tym artykule dowiesz się, jak:

  • Dodaj kolejną dzierżawę jako współautora w ramach subskrypcji platformy Azure.
  • Łączenie sieci wirtualnej z wieloma dzierżawcami z koncentratorem wirtualnym.

Kroki tej konfiguracji używają kombinacji Azure Portal i programu PowerShell. Jednak sama funkcja jest dostępna tylko w programie PowerShell i interfejsie wiersza polecenia platformy Azure.

Uwaga / Notatka

Połączeniami sieci wirtualnej między dzierżawami można zarządzać tylko za pomocą programu PowerShell lub interfejsu wiersza polecenia platformy Azure zainstalowanego na komputerze lokalnym. Ponieważ witryna Azure Portal nie obsługuje operacji między dzierżawami, nie można zarządzać połączeniami sieci wirtualnej między dzierżawami za pośrednictwem witryny Azure Portal ani programu Azure Portal CloudShell (zarówno programu PowerShell, jak i interfejsu wiersza polecenia).

Zanim rozpoczniesz

Wymagania wstępne

Aby wykonać kroki opisane w tym artykule, musisz mieć już skonfigurowaną następującą konfigurację w swoim środowisku:

  • Wirtualna sieć WAN i koncentrator wirtualny w subskrypcji nadrzędnej
  • Sieć wirtualna skonfigurowana w subskrypcji w innej (zdalnej) dzierżawie

Upewnij się, że przestrzeń adresowa sieci wirtualnej w dzierżawie zdalnej nie nakłada się na żadną inną przestrzeń adresową w innych sieciach wirtualnych, które są już połączone z nadrzędnym koncentratorem wirtualnym.

Praca z programem Azure PowerShell

W tym artykule są używane polecenia cmdlet programu PowerShell. Aby uruchomić polecenia cmdlet, możesz użyć usługi Azure Cloud Shell. Cloud Shell to bezpłatna interaktywna powłoka, której można użyć do wykonania kroków opisanych w tym artykule. Ma zainstalowane i skonfigurowane popularne narzędzia Azure do użycia z Twoim kontem.

Aby otworzyć usługę Cloud Shell, wybierz pozycję Otwórz program CloudShell w prawym górnym rogu bloku kodu. Możesz również otworzyć usługę Cloud Shell na osobnej karcie przeglądarki, przechodząc do strony https://shell.azure.com/powershell. Wybierz pozycję Kopiuj , aby skopiować bloki kodu, wklej je w usłudze Cloud Shell, a następnie wybierz Enter, aby je uruchomić.

Przypisz uprawnienia

  1. W ramach subskrypcji sieci wirtualnej w dzierżawie zdalnej dodaj przypisanie roli Współautor do administratora (użytkownika, który administruje koncentratorem wirtualnym). Uprawnienia współautora umożliwią administratorowi modyfikowanie sieci wirtualnych w dzierżawie zdalnej i uzyskiwanie do nich dostępu.

    Aby przypisać tę rolę, możesz użyć programu PowerShell lub Azure Portal. Zapoznaj się z następującymi artykułami, aby uzyskać instrukcje:

  2. Uruchom następujące polecenie, aby dodać subskrypcję dzierżawy zdalnej i subskrypcję dzierżawy nadrzędnej do bieżącej sesji programu PowerShell. Jeśli zalogowano się do elementu nadrzędnego, musisz uruchomić polecenie tylko dla dzierżawy zdalnej.

    Connect-AzAccount -SubscriptionId "[subscription ID]" -TenantId "[tenant ID]"
    
  3. Sprawdź, czy przypisanie roli zakończyło się pomyślnie. Zaloguj się do Azure PowerShell przy użyciu poświadczeń nadrzędnych i uruchom następujące polecenie:

    Get-AzSubscription
    

    Jeśli uprawnienia zostały pomyślnie rozpropagowane do elementu nadrzędnego i zostały dodane do sesji, subskrypcje należące do obiektu nadrzędnego i dzierżawy zdalnej pojawią się w danych wyjściowych polecenia.

Łączenie sieci wirtualnej z koncentratorem

W poniższych krokach użyjesz poleceń do przełączania się między kontekstem dwóch subskrypcji podczas łączenia sieci wirtualnej z koncentratorem wirtualnym. Zastąp przykładowe wartości, aby odzwierciedlić własne środowisko.

  1. Upewnij się, że znajdujesz się w kontekście swojego konta zdalnego:

    Select-AzSubscription -SubscriptionId "[remote ID]"
    
  2. Utwórz zmienną lokalną do przechowywania metadanych sieci wirtualnej, którą chcesz połączyć z koncentratorem:

    $remote = Get-AzVirtualNetwork -Name "[vnet name]" -ResourceGroupName "[resource group name]"
    
  3. Połącz się z kontem rodzica:

    Connect-AzAccount -TenantID "[parent tenant ID]"
    
  4. Wybierz subskrypcję nadrzędną:

    Select-AzSubscription -SubscriptionId "[parent ID]"
    
  5. Połącz sieć wirtualną z koncentratorem:

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

Nowe połączenie można wyświetlić w programie PowerShell lub Azure Portal:

  • W konsoli programu PowerShell metadane z nowo utworzonego połączenia zostaną wyświetlone, jeśli połączenie zostało pomyślnie utworzone.
  • W Azure Portal przejdź do koncentratora wirtualnego i wybierz pozycjęPołączenia sieci wirtualnej>. Następnie możesz wyświetlić wskaźnik do połączenia. Aby wyświetlić rzeczywisty zasób, musisz mieć odpowiednie uprawnienia.

Scenariusz: Dodawanie tras statycznych do połączenia koncentratora sieci wirtualnej

W poniższych krokach użyjesz poleceń, aby dodać trasę statyczną do domyślnej tabeli tras koncentratora wirtualnego i połączenie sieci wirtualnej, aby wskazać adres IP następnego przeskoku (czyli urządzenie WUS). Zastąp przykładowe wartości, aby odzwierciedlić własne środowisko.

Uwaga / Notatka

  • Przed uruchomieniem poleceń upewnij się, że masz dostęp do subskrypcji zdalnej i masz do niej uprawnienia.
  • Prefiks miejsca docelowego może być jednym CIDR lub wieloma prefiksami. W przypadku pojedynczego CIDR użyj tego formatu: @("10.19.2.0/24"). W przypadku wielu CIDR-ów użyj tego formatu: @("10.19.2.0/24", "10.40.0.0/16").
  1. Upewnij się, że znajdujesz się w kontekście swojego konta rodzica:

    Select-AzSubscription -SubscriptionId "[parent ID]" 
    
  2. Dodaj trasę w domyślnej tabeli tras koncentratora wirtualnego bez określonego adresu IP.

    1. Uzyskaj szczegóły połączenia:

      $hubVnetConnection = Get-AzVirtualHubVnetConnection -Name "[HubconnectionName]" -ParentResourceName "[Hub Name]" -ResourceGroupName "[resource group name]"
      
    2. Dodaj trasę statyczną do tabeli tras koncentratora wirtualnego za pomocą połączenia z siecią wirtualną następnego przeskoku. Istniejące trasy w tabeli tras są zachowywane przy użyciu następującego przykładowego skryptu.

      $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. Sprawdź, czy tabela tras zawiera nowe trasy:

      $routeTable.Routes
      
    4. Zaktualizuj bieżącą domyślną tabelę tras huba:

     Update-AzVHubRouteTable -ResourceGroupName "[resource group name]"-VirtualHubName [“Hub Name”] -Name "defaultRouteTable" -Route @($routeTable.Routes)
    
    1. Zaktualizuj trasę w połączeniu sieci wirtualnej, aby określić następny przeskok jako adres IP. Ten przykładowy skrypt dodaje nową trasę do połączenia sieci wirtualnej (zachowując wszystkie istniejące trasy).

      Uwaga / Notatka

      Nazwa trasy powinna być taka sama, jak nazwa użyta podczas wcześniejszego dodawania trasy statycznej. W przeciwnym razie utworzysz dwie trasy w tabeli routingu: jedną bez adresu IP i jedną z adresem 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. Sprawdź, czy trasa statyczna została ustanowiona do adresu IP następnego przeskoku.

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

Rozwiązywanie problemów

  • Sprawdź, czy metadane w $remote (z poprzedniej sekcji) są zgodne z informacjami z Azure Portal.
  • Sprawdź uprawnienia przy użyciu ustawień zarządzania dostępem i tożsamościami zdalnej grupy zasobów dzierżawy lub przy użyciu poleceń Azure PowerShell (Get-AzSubscription).
  • Upewnij się, "VirtualHub1" że cudzysłowy są uwzględnione wokół nazw grup zasobów lub innych zmiennych specyficznych dla środowiska (na przykład lub "VirtualNetwork1").
  • W przypadku korzystania z zestawu Azure Network SDK lub bezpośredniego żądania interfejsu API REST wymagane jest przekazanie tokenu autoryzacji podstawowej dzierżawy "Hub" w nagłówku "Authorization" i przekazania dodatkowego tokenu autoryzacji dla drugiej dzierżawy "VNet" w specjalnym nagłówku "x-ms-authorization-auxiliary".

Dalsze kroki