Verknüpfen eines virtuellen Netzwerks mit einer ExpressRoute-Verbindung mithilfe von Azure PowerShell

Dieser Artikel unterstützt Sie beim Verknüpfen virtueller Netzwerke (VNETs) mit Azure ExpressRoute-Verbindungen über das Resource Manager-Bereitstellungsmodell und PowerShell. Virtuelle Netzwerke können Teil desselben Abonnements sein oder zu einem anderen Abonnement gehören. In diesem Tutorial erfahren Sie auch, wie eine Verknüpfung mit einem virtuellen Netzwerk aktualisiert wird.

Diagramm eines virtuellen Netzwerks, das an eine ExpressRoute-Leitung angeschlossen ist.

Voraussetzungen

  • Lesen Sie, bevor Sie mit der Konfiguration beginnen, die Seiten Voraussetzungen, Routinganforderungen und Workflows.

  • Sie benötigen eine aktive ExpressRoute-Verbindung.

    • Führen Sie die Schritte zum Erstellen einer ExpressRoute-Verbindung aus, und lassen Sie sie vom Konnektivitätsanbieter aktivieren.
    • Stellen Sie sicher, dass privates Azure-Peering für die Verbindung konfiguriert ist. Informationen zum Routing finden Sie unter Konfigurieren des Routings .
    • Stellen Sie sicher, dass das private Azure-Peering konfiguriert wird und das BGP-Peering zwischen Ihrem Netzwerk und Microsoft einrichtet, damit End-to-End-Konnektivität bereitgestellt werden kann.
    • Vergewissern Sie sich, dass ein virtuelles Netzwerk und ein virtuelles Netzwerkgateway erstellt und vollständig bereitgestellt wurden. Befolgen Sie die Anweisungen zum Erstellen eines virtuellen Netzwerkgateways für ExpressRoute. Für ein virtuelles Netzwerkgateway für ExpressRoute wird der GatewayType ExpressRoute und nicht „VPN“ verwendet.
  • Sie können bis zu zehn virtuelle Netzwerke mit einer ExpressRoute-Standardverbindung verknüpfen. Alle virtuellen Netzwerke müssen sich in der gleichen geopolitischen Region befinden, wenn Sie eine ExpressRoute-Standardverbindung verwenden.

  • Ein einzelnes virtuelles Netzwerk kann mit bis zu 16 ExpressRoute-Leitungen verknüpft werden. Erstellen Sie anhand der Schritte in diesem Artikel ein neues Verbindungsobjekt für jede ExpressRoute-Leitung, mit der Sie eine Verbindung herstellen. Die ExpressRoute-Leitungen können sich im gleichen Abonnement, in verschiedenen Abonnements oder in einer Kombination aus beidem befinden.

  • Wenn Sie das ExpressRoute-Premium-Add-On aktivieren, können Sie virtuelle Netzwerke außerhalb der geopolitischen Region der ExpressRoute-Leitung verknüpfen. Über das Premium-Add-On können Sie je nach ausgewählter Bandbreite auch mehr als zehn virtuelle Netzwerke mit Ihrer ExpressRoute-Verbindung verknüpfen. Weitere Informationen zum Premium-Add-On finden Sie in den häufig gestellten Fragen .

  • Um die Verbindung von der ExpressRoute-Verbindung zum Zielgateway des virtuellen ExpressRoute-Netzwerks herzustellen, muss die Anzahl der von den lokalen oder virtuellen Netzwerken mit Peering angekündigten Adressräume gleich oder kleiner als 200 sein. Nachdem die Verbindung erfolgreich erstellt wurde, können Sie den lokalen oder den virtuellen Peernetzwerken weitere Adressräume hinzufügen (bis zu 1.000).

  • Sehen Sie sich den Leitfaden für Konnektivität zwischen virtuellen Netzwerken über ExpressRoute an.

Arbeiten mit Azure PowerShell

Die Schritte und Beispiele in diesem Artikel verwenden Azure PowerShell Az-Module. Informationen zur lokalen Installation von Az-Modulen auf Ihrem Computer finden Sie unter Installieren von Azure PowerShell. Weitere Informationen zum neuen Az-Modul finden Sie unter Einführung in das neue Azure PowerShell Az-Modul. PowerShell-Cmdlets werden regelmäßig aktualisiert. Wenn Sie nicht die neueste Version verwenden, können die in den Anweisungen angegebenen Werte fehlschlagen. Um die installierten Versionen von PowerShell auf Ihrem System zu suchen, verwenden Sie das Get-Module -ListAvailable Az-Cmdlet.

Sie können Azure Cloud Shell verwenden, um die meisten PowerShell-Cmdlets und CLI-Befehle auszuführen, anstatt Azure PowerShell oder die Befehlszeilenschnittstelle lokal zu installieren. Azure Cloud Shell ist eine kostenlose interaktive Shell, in der häufig verwendete Azure-Tools vorinstalliert sind und die für die Verwendung mit Ihrem Konto konfiguriert wurde. Um in Azure Cloud Shell Code aus diesem Artikel auszuführen, öffnen Sie eine Cloud Shell-Sitzung, verwenden Sie für einen Codeblock die Schaltfläche Kopieren, um Code zu kopieren, und fügen Sie ihn mit STRG+UMSCHALT+V (Windows und Linux) oder BEFEHL+UMSCHALT+V (macOS) in die Cloud Shell-Sitzung ein. Eingefügter Code wird nicht automatisch ausgeführt. Sie müssen zum Ausführen von Code die EINGABETASTE drücken.

Cloud Shell kann auf mehrere Arten gestartet werden:

Option Link
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren. Cloud Shell in diesem Artikel
Öffnen Sie Cloud Shell in Ihrem Browser. https://shell.azure.com/powershell
Klicken Sie auf die Schaltfläche Cloud Shell im Menü oben rechts im Azure-Portal. Cloud Shell im Portal

Verbinden mit einem virtuellen Netzwerk

Maximale Resilienz (Empfohlen): Diese Option bietet die höchste Resilienzstufe für Ihr virtuelles Netzwerk. Sie stellt zwei redundante Verbindungen vom virtuellen Netzwerkgateway zu zwei verschiedenen ExpressRoute-Verbindungen an verschiedenen ExpressRoute-Standorten bereit.

Klonen des Skripts

Um Verbindungen mit maximaler Resilienz zu erstellen, klonen Sie das Setupskript von 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/

Führen Sie das Skript New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 aus, um Hochverfügbarkeitsverbindungen zu erstellen. Das folgende Beispiel zeigt, wie zwei neue Verbindungen mit zwei ExpressRoute-Leitungen erstellt werden.

$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

Wenn Sie eine neue Verbindung erstellen und eine vorhandene Verbindung verwenden möchten, können Sie das folgende Beispiel nutzen. In diesem Beispiel wird eine neue Verbindung mit einer zweiten ExpressRoute-Leitung erstellt und eine vorhandene Verbindung mit der ersten ExpressRoute-Leitung verwendet.

$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

Herstellen einer Verbindung zwischen einem virtuellen Netzwerk in einem anderen Abonnement und einer Verbindung

Sie können eine ExpressRoute-Verbindung für mehrere Abonnements freigeben. Die folgende Abbildung zeigt eine einfache schematische Darstellung der Freigabe von Lasten für ExpressRoute-Verbindungen für mehrere Abonnements.

Hinweis

Das Verbinden virtueller Netzwerke zwischen Azure Sovereign Clouds und der öffentlichen Azure-Cloud wird nicht unterstützt. Sie können nur virtuelle Netzwerke aus verschiedenen Abonnements in derselben Cloud verknüpfen.

Jede der kleineren Clouds innerhalb der großen Cloud stellt Abonnements dar, die zu verschiedenen Abteilungen innerhalb einer Organisation gehören. Jede Abteilung in der Organisation verwendet ihr eigenes Abonnement zum Bereitstellen von Diensten. Für die Verbindung mit dem lokalen Netzwerk kann jedoch eine einzelne ExpressRoute-Leitung gemeinsam genutzt werden. Eine einzelne Abteilung (in diesem Beispiel: IT) kann die ExpressRoute-Verbindung besitzen. Andere Abonnements innerhalb der Organisation können die ExpressRoute-Leitung ebenfalls nutzen.

Hinweis

Konnektivitäts- und Bandbreitengebühren für die ExpressRoute-Verbindung werden dem Abonnementbesitzer in Rechnung gestellt. Alle virtuellen Netzwerke verwenden gemeinsam dieselbe Bandbreite.

Abonnementübergreifende Konnektivität

Verwaltung – Leitungsbesitzer und Leitungsbenutzer

Der „Leitungsbesitzer“ (Verbindungsbesitzer) ist ein autorisierter Poweruser der ExpressRoute-Leitungsressource. Der Verbindungsbesitzer kann Autorisierungen erstellen, die durch „Verbindungsbenutzer“ eingelöst werden können. Leitungsbenutzer sind Besitzer virtueller Netzwerkgateways, die sich nicht im selben Abonnement wie die ExpressRoute-Leitung befinden. Verbindungsbenutzer können Autorisierungen einlösen (eine Autorisierung für jedes virtuelle Netzwerk).

Der Besitzer der Verbindung hat die Möglichkeit, Autorisierungen jederzeit zu ändern und aufzuheben. Das Aufheben einer Autorisierung führt dazu, dass alle Verbindungen aus dem Abonnement gelöscht werden, dessen Zugriff aufgehoben wurde.

Hinweis

Der Leitungsbesitzer ist keine integrierte RBAC-Rolle oder in der ExpressRoute-Ressource definiert. Als Leitungsbesitzer kann jede Rolle mit den folgenden Zugriffsrechten definiert werden:

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

Dies schließt die integrierten Rollen „Mitwirkender“, „Besitzer“ und „Netzwerkmitwirkender“ ein. Eine ausführliche Beschreibung der verschiedenen integrierten Rollen finden Sie hier.

Aktionen als Verbindungsbesitzer

So erstellen Sie eine Autorisierung

Der Leitungsbesitzer erstellt eine Autorisierung, die wiederum einen Autorisierungsschlüssel erstellt. Mit diesem kann ein Leitungsbenutzer seine virtuellen Netzwerkgateways mit der ExpressRoute-Leitung verbinden. Eine Autorisierung gilt nur für jeweils eine Verbindung.

Der folgende Cmdlet-Ausschnitt veranschaulicht das Erstellen einer Autorisierung:

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

Die Antwort auf die oben genannten Befehle enthält den Autorisierungsschlüssel und -status:

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

So überprüfen Sie Autorisierungen

Mit dem folgenden Cmdlet kann der Besitzer einer Verbindung alle für eine bestimmte Verbindung ausgestellten Autorisierungen überprüfen:

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

So fügen Sie Autorisierung hinzu

Mit dem folgenden Cmdlet kann der Verbindungsbesitzer Autorisierungen hinzufügen:

$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

So löschen Sie Autorisierungen

Mit dem folgenden Cmdlet kann der Besitzer einer Verbindung Autorisierungen für einen Benutzer widerrufen oder löschen:

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

Aktionen als Verbindungsbenutzer

Der Verbindungsbenutzer benötigt die Peer-ID und einen Autorisierungsschlüssel vom Verbindungsbesitzer. Der Autorisierungsschlüssel ist eine GUID.

Die Peer-ID kann mithilfe des folgenden Befehls überprüft werden:

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

So lösen Sie eine Verbindungsautorisierung ein

Mit dem folgenden Cmdlet können Benutzer einer Verbindung eine Verknüpfungsautorisierung abrufen:

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

So geben Sie eine Verbindungsautorisierung frei

Sie können eine Autorisierung durch das Löschen der Verbindung freigeben, die die ExpressRoute-Verbindung mit dem virtuellen Netzwerk verknüpft.

Ändern einer Verbindung mit einem virtuellen Netzwerk

Sie können bestimmte Eigenschaften einer Verbindung mit einem virtuellen Netzwerk aktualisieren.

So aktualisieren Sie die Verbindungsgewichtung

Das virtuelle Netzwerk kann mit mehreren ExpressRoute-Verbindungen verbunden werden. Möglicherweise erhalten Sie von mehreren ExpressRoute-Verbindungen dasselbe Präfix. Um auszuwählen, an welche Verbindung Datenverkehr für dieses Präfix gesendet werden soll, ändern Sie die Eigenschaft RoutingWeight einer Verbindung. Datenverkehr wird an die Verbindung mit dem höchsten RoutingWeight-Wert gesendet.

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

Der Bereich von RoutingWeight liegt zwischen 0 und 32.000. Der Standardwert ist 0.

Konfigurieren von ExpressRoute FastPath

Sie können ExpressRoute FastPath aktivieren, wenn Ihr virtuelles Netzwerkgateway den Typ „Höchstleistung“ oder „ErGw3AZ“ hat. FastPath verbessert die Leistung von Datenpfaden (Pakete pro Sekunde und Verbindungen pro Sekunde) zwischen Ihrem lokalen und Ihrem virtuellen Netzwerk.

Konfigurieren von FastPath für eine neue Verbindung

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

Aktualisieren einer vorhandenen Verbindung zum Aktivieren von FastPath

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

Mit der Unterstützung des Peerings virtueller Netzwerke und von UDR sendet FastPath den Datenverkehr direkt an virtuelle Computer, die in virtuellen „Spoke“-Netzwerken (über Peering virtueller Netzwerke verbunden) bereitgestellt werden, und berücksichtigt FastPath alle UDRs, die im GatewaySubnet konfiguriert sind. Diese Funktionalität ist jetzt allgemein verfügbar (GA).

Bei FastPath und Private Link umgeht der über ExpressRoute gesendete Private Link-Datenverkehr das Gateway des virtuellen ExpressRoute-Netzwerks im Datenpfad. Wenn diese beiden Features aktiviert sind, sendet FastPath den Datenverkehr direkt an einen privaten Endpunkt, der in einem virtuellen „Spoke“-Netzwerk bereitgestellt wird.

Diese Szenarien sind für begrenzte Szenarien mit Verbindungen, die ExpressRoute Direct-Leitungen mit 10 GBit/s oder 100 GBit/s zugeordnet sind, allgemein verfügbar. Gehen Sie für die Aktivierung wie folgt vor:

  1. Füllen Sie dieses Microsoft-Formular aus, um die Registrierung Ihres Abonnements anzufordern. Die Bearbeitung von Anforderungen kann bis zu 4 Wochen dauern, daher sollten Sie Ihre Bereitstellungen entsprechend planen.
  2. Nachdem Sie eine Bestätigung von Schritt 1 erhalten haben, führen Sie den folgenden Azure PowerShell-Befehl im Azure-Zielabonnement aus.
$connection = Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <resource-group> -ResourceName <connection-name>
$connection.ExpressRouteGatewayBypass = $true
$connection.EnablePrivateLinkFastPath = $true
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Hinweis

Sie können den Verbindungsmonitor verwenden, um mithilfe von FastPath zu überprüfen, ob Ihr Datenverkehr das Ziel erreicht.

Hinweis

Die Aktivierung der FastPath Private Link-Unterstützung für eingeschränkte GA-Szenarien kann bis zu 4 Wochen dauern. Planen Sie Ihre Bereitstellung(en) im Voraus.

FastPath-Unterstützung für Peering virtueller Netzwerke und UDRs ist nur für ExpressRoute Direct-Verbindungen verfügbar.

Hinweis

Wenn Sie FastPath bereits konfiguriert haben und sich für die Funktionen mit begrenzter allgemeiner Verfügbarkeit (GA) registrieren möchten, müssen Sie folgende Schritte ausführen:

  1. Registrieren Sie sich mit den Azure PowerShell-Befehlen für eine der FastPath-Funktionen.
  2. Deaktivieren Sie FastPath für die Zielverbindung, und aktivieren Sie es dann erneut.
  3. Um zwischen Funktionen mit begrenzter allgemeiner Verfügbarkeit (GA) zu wechseln, registrieren Sie das Abonnement mit dem PowerShell-Befehl für die gewünschte Vorschauversion. Deaktivieren Sie dann FastPath für die Verbindung, und aktivieren Sie es erneut.

Bereinigen von Ressourcen

Wenn Sie die ExpressRoute-Verbindung nicht mehr benötigen, entfernen Sie die Verknüpfung zwischen dem Gateway und der Leitung, indem Sie in dem Abonnement, in dem sich das Gateway befindet, den Befehl Remove-AzVirtualNetworkGatewayConnection verwenden.

Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"

Nächste Schritte

In diesem Tutorial haben Sie gelernt, wie Sie ein virtuelles Netzwerk mit einer Leitung in demselben und in einem anderen Abonnement verbinden. Weitere Informationen zu ExpressRoute-Gateways finden Sie unter Informationen zu ExpressRoute-Gateways für virtuelle Netzwerke.

Um zu erfahren, wie Sie Routenfilter für Microsoft-Peering mithilfe von PowerShell konfigurieren, fahren Sie mit dem nächsten Tutorial fort.