Połączenie sieci wirtualnej do obwodu usługi ExpressRoute przy użyciu programu Azure PowerShell

Ten artykuł ułatwia łączenie sieci wirtualnych z obwodami usługi Azure ExpressRoute przy użyciu modelu wdrażania usługi Resource Manager i programu PowerShell. Sieci wirtualne mogą znajdować się w tej samej subskrypcji lub w innej subskrypcji. W tym samouczku pokazano również, jak zaktualizować link sieci wirtualnej.

Diagram showing a virtual network linked to an ExpressRoute circuit.

Wymagania wstępne

  • Przed rozpoczęciem konfiguracji zapoznaj się z wymaganiami wstępnymi, wymaganiami dotyczącymi routingu i przepływami pracy.

  • Musisz mieć aktywny obwód usługi ExpressRoute.

    • Postępuj zgodnie z instrukcjami, aby utworzyć obwód usługi ExpressRoute i włączyć obwód przez dostawcę łączności.
    • Upewnij się, że masz skonfigurowaną prywatną komunikację równorzędną platformy Azure dla obwodu. Aby uzyskać instrukcje dotyczące routingu, zobacz artykuł dotyczący konfigurowania routingu.
    • Upewnij się, że prywatna komunikacja równorzędna platformy Azure jest skonfigurowana i ustanawia komunikację równorzędną BGP między siecią a firmą Microsoft na potrzeby kompleksowej łączności.
    • Upewnij się, że masz sieć wirtualną i bramę sieci wirtualnej utworzoną i w pełni aprowizowaną. Postępuj zgodnie z instrukcjami, aby utworzyć bramę sieci wirtualnej dla usługi ExpressRoute. Brama sieci wirtualnej dla usługi ExpressRoute używa wartości GatewayType ExpressRoute, a nie sieci VPN.
  • Do standardowego obwodu usługi ExpressRoute można połączyć maksymalnie 10 sieci wirtualnych. Wszystkie sieci wirtualne muszą znajdować się w tym samym regionie geopolitycznym w przypadku korzystania ze standardowego obwodu usługi ExpressRoute.

  • Pojedyncza sieć wirtualna może być połączona z maksymalnie 16 obwodami usługi ExpressRoute. Wykonaj kroki opisane w tym artykule, aby utworzyć nowy obiekt połączenia dla każdego obwodu usługi ExpressRoute, z którym nawiązujesz połączenie. Obwody usługi ExpressRoute mogą znajdować się w tej samej subskrypcji, różnych subskrypcjach lub kombinacji obu.

  • Jeśli włączysz dodatek ExpressRoute Premium, możesz połączyć sieci wirtualne poza regionem geopolitycznym obwodu usługi ExpressRoute. Dodatek Premium umożliwia łączenie ponad 10 sieci wirtualnych z obwodem usługi ExpressRoute w zależności od wybranej przepustowości. Zapoznaj się z często zadawanymi pytaniami , aby uzyskać więcej informacji na temat dodatku Premium.

  • Aby utworzyć połączenie z obwodu usługi ExpressRoute do docelowej bramy sieci wirtualnej usługi ExpressRoute, liczba przestrzeni adresowych anonsowanych z lokalnych lub równorzędnych sieci wirtualnych musi być równa lub mniejsza niż 200. Po pomyślnym utworzeniu połączenia można dodać więcej przestrzeni adresowych do 1000 do lokalnych lub równorzędnych sieci wirtualnych.

  • Zapoznaj się ze wskazówkami dotyczącymi łączności między sieciami wirtualnymi za pośrednictwem usługi ExpressRoute.

Praca z programem Azure PowerShell

Kroki i przykłady w tym artykule korzystają z modułów Az programu Azure PowerShell. Aby zainstalować moduły Az lokalnie na komputerze, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się więcej na temat nowego modułu Az, zobacz Wprowadzenie do nowego modułu Az programu Azure PowerShell. Polecenia cmdlet programu PowerShell są często aktualizowane. Jeśli nie używasz najnowszej wersji, wartości określone w instrukcjach mogą zakończyć się niepowodzeniem. Aby znaleźć zainstalowane wersje programu PowerShell w systemie, użyj Get-Module -ListAvailable Az polecenia cmdlet .

Za pomocą usługi Azure Cloud Shell można uruchamiać większość poleceń cmdlet programu PowerShell i poleceń interfejsu wiersza polecenia zamiast instalować program Azure PowerShell lub interfejs wiersza polecenia lokalnie. Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, która ma wstępnie zainstalowane typowe narzędzia platformy Azure i jest skonfigurowana do używania z kontem. Aby uruchomić dowolny kod zawarty w tym artykule w usłudze Azure Cloud Shell, otwórz sesję usługi Cloud Shell, użyj przycisku Kopiuj w bloku kodu, aby skopiować kod i wklej go do sesji usługi Cloud Shell za pomocą klawiszy Ctrl+Shift+V w systemach Windows i Linux lub Cmd+Shift+V w systemie macOS. Wklejony tekst nie jest automatycznie wykonywany, naciśnij klawisz Enter , aby uruchomić kod.

Istnieje kilka sposobów uruchomienia usługi Cloud Shell:

Opcja Link
Kliknij przycisk Wypróbuj w prawym górnym rogu bloku kodu. Cloud Shell in this article
Otwórz usługę Cloud Shell w swojej przeglądarce. https://shell.azure.com/powershell
Kliknij przycisk Cloud Shell w menu w prawym górnym rogu witryny Azure Portal. Cloud Shell in the portal

Połączenie sieci wirtualnej w tej samej subskrypcji obwodu

Bramę sieci wirtualnej można połączyć z obwodem usługi ExpressRoute przy użyciu następującego polecenia cmdlet. Przed uruchomieniem polecenia cmdlet upewnij się, że brama sieci wirtualnej została utworzona i jest gotowa do łączenia:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName "MyRG" -Location "East US" -VirtualNetworkGateway1 $gw -PeerId $circuit.Id -ConnectionType ExpressRoute

Połączenie sieci wirtualnej w innej subskrypcji z obwodem

Obwód usługi ExpressRoute można udostępnić w wielu subskrypcjach. Na poniższej ilustracji przedstawiono prosty schemat działania udostępniania obwodów usługi ExpressRoute w wielu subskrypcjach.

Uwaga

Połączenie sieci wirtualnych między suwerennych chmur platformy Azure i chmurą publiczną platformy Azure nie jest obsługiwana. Sieci wirtualne można łączyć tylko z różnych subskrypcji w tej samej chmurze.

Każda z mniejszych chmur w dużej chmurze jest używana do reprezentowania subskrypcji należących do różnych działów w organizacji. Każdy z działów w organizacji używa własnej subskrypcji do wdrażania swoich usług — ale może udostępnić jeden obwód usługi ExpressRoute, aby połączyć się z powrotem z siecią lokalną. Jeden dział (w tym przykładzie: DZIAŁ IT) może być właścicielem obwodu usługi ExpressRoute. Inne subskrypcje w organizacji mogą używać obwodu usługi ExpressRoute.

Uwaga

Połączenie ivity i przepustowość opłat za obwód usługi ExpressRoute zostaną zastosowane do właściciela subskrypcji. Wszystkie sieci wirtualne mają taką samą przepustowość.

Cross-subscription connectivity

Administracja istration — właściciele obwodów i użytkownicy obwodu

Właściciel obwodu jest autoryzowanym użytkownikiem zasilania zasobu obwodu usługi ExpressRoute. Właściciel obwodu może tworzyć autoryzacje, które mogą być zrealizowane przez "użytkowników obwodu". Użytkownicy obwodu są właścicielami bram sieci wirtualnej, które nie należą do tej samej subskrypcji co obwód usługi ExpressRoute. Użytkownicy obwodu mogą zrealizować autoryzacje (jedną autoryzację na sieć wirtualną).

Właściciel obwodu ma uprawnienia do modyfikowania i odwoływanie autoryzacji w dowolnym momencie. Odwołanie autoryzacji powoduje usunięcie wszystkich połączeń linków z subskrypcji, do której dostęp został odwołany.

Uwaga

Właściciel obwodu nie jest wbudowaną rolą RBAC ani zdefiniowaną w zasobie usługi ExpressRoute. Definicja właściciela obwodu jest dowolną rolą z następującym dostępem:

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

Obejmuje to wbudowane role, takie jak Współautor, Właściciel i Współautor sieci. Szczegółowy opis różnych ról wbudowanych.

Operacje właściciela obwodu

Aby utworzyć autoryzację

Właściciel obwodu tworzy autoryzację, która tworzy klucz autoryzacji używany przez użytkownika obwodu w celu połączenia bram sieci wirtualnej z obwodem usługi ExpressRoute. Autoryzacja jest prawidłowa tylko dla jednego połączenia.

Poniższy fragment kodu polecenia cmdlet pokazuje, jak utworzyć autoryzację:

$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"

Odpowiedź na poprzednie polecenia zawiera klucz autoryzacji i stan:

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

Aby przejrzeć autoryzacje

Właściciel obwodu może przejrzeć wszystkie autoryzacje wystawione w określonym obwodzie, uruchamiając następujące polecenie cmdlet:

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

Aby dodać autoryzacje

Właściciel obwodu może dodać autoryzacje przy użyciu następującego polecenia cmdlet:

$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

Aby usunąć autoryzacje

Właściciel obwodu może odwołać/usunąć autoryzacje dla użytkownika, uruchamiając następujące polecenie cmdlet:

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

Operacje użytkownika obwodu

Użytkownik obwodu potrzebuje identyfikatora elementu równorzędnego i klucza autoryzacji od właściciela obwodu. Klucz autoryzacji jest identyfikatorem GUID.

Identyfikator elementu równorzędnego można sprawdzić za pomocą następującego polecenia:

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

Aby zrealizować autoryzację połączenia

Użytkownik obwodu może uruchomić następujące polecenie cmdlet, aby zrealizować autoryzację linku:

$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 "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

Aby zwolnić autoryzację połączenia

Autoryzację można zwolnić, usuwając połączenie łączące obwód usługi ExpressRoute z siecią wirtualną.

Modyfikowanie połączenia sieci wirtualnej

Niektóre właściwości połączenia sieci wirtualnej można zaktualizować.

Aby zaktualizować wagę połączenia

Sieć wirtualną można połączyć z wieloma obwodami usługi ExpressRoute. Możesz otrzymać ten sam prefiks z więcej niż jednego obwodu usługi ExpressRoute. Aby wybrać połączenie do wysyłania ruchu przeznaczonego dla tego prefiksu, możesz zmienić wartość RoutingWeight połączenia. Ruch jest wysyłany w połączeniu z największą wagę routingu.

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

Zakres wartości RoutingWeight wynosi od 0 do 32000. Wartość domyślna to 0.

Konfigurowanie usługi ExpressRoute — FastPath

Możesz włączyć usługę ExpressRoute FastPath , jeśli brama sieci wirtualnej to Ultra Performance lub ErGw3AZ. FastPath poprawia wydajność ścieżki danych, takich jak pakiety na sekundę i połączenia na sekundę między siecią lokalną a siecią wirtualną.

Konfigurowanie programu FastPath w nowym połączeniu

$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" 

Aktualizowanie istniejącego połączenia w celu włączenia funkcji FastPath

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

Dzięki obsłudze komunikacji równorzędnej sieci wirtualnych i trasy zdefiniowanej przez użytkownika funkcja FastPath będzie wysyłać ruch bezpośrednio do maszyn wirtualnych wdrożonych w sieciach wirtualnych szprych (połączonych za pośrednictwem komunikacji równorzędnej sieci wirtualnych) i honoruje wszystkie trasy zdefiniowane przez użytkownika skonfigurowane w podsieci GatewaySubnet. W przypadku połączeń FastPath i Private Link ruch usługi Private Link wysyłany za pośrednictwem usługi ExpressRoute pomija bramę sieci wirtualnej usługi ExpressRoute w ścieżce danych. Po włączeniu obu tych funkcji program FastPath będzie bezpośrednio wysyłać ruch do prywatnego punktu końcowego wdrożonego w sieci wirtualnej szprychy.

Te scenariusze są ogólnie dostępne w przypadku ograniczonych scenariuszy z połączeniami skojarzonymi z obwodami 100 GB usługi ExpressRoute Direct. Aby włączyć tę funkcję, postępuj zgodnie z poniższymi wskazówkami:

  1. Wypełnij ten formularz firmy Microsoft, aby poprosić o zarejestrowanie subskrypcji.
  2. Po otrzymaniu potwierdzenia z kroku 1 uruchom następujące polecenie programu Azure PowerShell w docelowej subskrypcji platformy Azure.
$connection = Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <resource-group> -ResourceName <connection-name>
$connection.ExpressRouteGatewayBypass = $true
$connection.EnablePrivateLinkFastPath = $true
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Uwaga

Możesz użyć monitora Połączenie ion, aby sprawdzić, czy ruch dociera do miejsca docelowego przy użyciu funkcji FastPath.

Uwaga

Włączenie obsługi usługi FastPath Private Link dla ograniczonych scenariuszy ga może potrwać do 2 tygodni. Zaplanuj wdrożenia z wyprzedzeniem.

Obsługa funkcji FastPath dla komunikacji równorzędnej sieci wirtualnych i tras zdefiniowanych przez użytkownika jest dostępna tylko dla połączeń ExpressRoute Direct.

Uwaga

Wszystkie połączenia skonfigurowane dla usługi FastPath w subskrypcji docelowej zostaną zarejestrowane w wybranej wersji zapoznawczej. Nie zalecamy włączania tych wersji zapoznawczych w subskrypcjach produkcyjnych. Jeśli masz już skonfigurowaną aplikację FastPath i chcesz zarejestrować się w funkcji w wersji zapoznawczej, należy wykonać następujące czynności:

  1. Zarejestruj się w jednej z funkcji fastpath w wersji zapoznawczej za pomocą poleceń programu Azure PowerShell.
  2. Wyłącz, a następnie ponownie włącz opcję FastPath w połączeniu docelowym.
  3. Aby przełączać się między funkcjami w wersji zapoznawczej, zarejestruj subskrypcję przy użyciu docelowego polecenia programu PowerShell w wersji zapoznawczej, a następnie wyłącz i ponownie włącz program FastPath w połączeniu.

Czyszczenie zasobów

Jeśli połączenie usługi ExpressRoute nie jest już potrzebne, z subskrypcji, w której znajduje się brama, użyj Remove-AzVirtualNetworkGatewayConnection polecenia , aby usunąć połączenie między bramą a obwodem.

Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"

Następne kroki

W tym samouczku przedstawiono sposób łączenia sieci wirtualnej z obwodem w tej samej subskrypcji i w innej subskrypcji. Aby uzyskać więcej informacji na temat bram usługi ExpressRoute, zobacz: Bramy sieci wirtualnej usługi ExpressRoute.

Aby dowiedzieć się, jak skonfigurować filtry tras dla komunikacji równorzędnej firmy Microsoft przy użyciu programu PowerShell, przejdź do następnego samouczka.