Delen via


Een virtueel netwerk verbinden met een ExpressRoute-circuit met behulp van Azure PowerShell

Dit artikel helpt u bij het koppelen van VNet’s (virtuele netwerken) aan Azure ExpressRoute-circuits met behulp van het Resource Manager-implementatiemodel en PowerShell. Virtuele netwerken kunnen zich in hetzelfde abonnement bevinden of deel uitmaken van een ander abonnement. In deze zelfstudie leert u ook hoe u een koppeling naar een virtueel netwerk bijwerkt.

Diagram met een virtueel netwerk dat is gekoppeld aan een ExpressRoute-circuit.

Vereisten

  • Bekijk de vereisten, de routeringsvereisten en de werkstromen voordat u begint met de configuratie.

  • U moet een actief ExpressRoute-circuit hebben.

    • Volg de instructies voor het maken van een ExpressRoute-circuit en laat het circuit inschakelen door de connectiviteitsprovider.
    • Zorg ervoor dat u persoonlijke Azure-peering voor uw circuit hebt geconfigureerd. In het artikel Routering configureren vindt u instructies voor routering.
    • Zorg ervoor dat persoonlijke Azure-peering is geconfigureerd en dat BGP-peering tussen uw netwerk en Microsoft wordt ingesteld voor end-to-end-connectiviteit.
    • Zorg ervoor dat u een virtueel netwerk en een virtuele netwerkgateway hebt gemaakt en volledig hebt ingericht. Volg de instructies om een virtuele netwerkgateway voor ExpressRoute te maken. Een virtuele netwerkgateway voor ExpressRoute maakt gebruik van gatewaytype ExpressRoute, niet VPN.
  • U kunt tot 10 virtuele netwerken koppelen aan een standaard ExpressRoute-circuit. Alle virtuele netwerken moeten zich in dezelfde geopolitieke regio bevinden wanneer een standaard ExpressRoute-circuit wordt gebruikt.

  • Eén virtueel netwerk kan worden gekoppeld aan maximaal 16 ExpressRoute-circuits. Gebruik de stappen in dit artikel om een nieuw verbindingsobject te maken voor elk ExpressRoute-circuit waarmee u verbinding maakt. De ExpressRoute-circuits kunnen zich in hetzelfde abonnement, in verschillende abonnementen of in een combinatie van beide bevinden.

  • Als u de ExpressRoute Premium-invoegtoepassing inschakelt, kunt u virtuele netwerken koppelen die zich buiten de geopolitieke regio van het ExpressRoute-circuit bevinden. Met de Premium-invoegtoepassing kunt u meer dan 10 virtuele netwerken verbinden met uw ExpressRoute-circuit, afhankelijk van de gekozen bandbreedte. Raadpleeg de Veelgestelde vragen voor meer informatie over de Premium-invoegtoepassing.

  • Als u de verbinding wilt maken van het ExpressRoute-circuit met de doelgateway van het virtuele ExpressRoute-netwerk, moet het aantal adresruimten dat is geadverteerd vanuit de lokale of gekoppelde virtuele netwerken gelijk zijn aan of kleiner dan 200. Zodra de verbinding is gemaakt, kunt u meer adresruimten( maximaal 1000) toevoegen aan de lokale of gekoppelde virtuele netwerken.

  • Bekijk richtlijnen voor connectiviteit tussen virtuele netwerken via ExpressRoute.

Werken met Azure PowerShell

In de stappen en voorbeelden in dit artikel wordt gebruikgemaakt van Azure PowerShell Az-modules. Zie Azure PowerShell installeren als u de Az-modules lokaal op uw computer wilt installeren. Zie Introductie van de nieuwe Az-module van Azure PowerShell voor meer informatie over de Az-module. PowerShell-cmdlets worden regelmatig bijgewerkt. Als u niet de nieuwste versie uitvoert, kunnen de in de instructies opgegeven waarden mislukken. Gebruik de cmdlet Get-Module -ListAvailable Az om de geïnstalleerde versies van PowerShell op uw systeem te vinden.

U kunt Azure Cloud Shell gebruiken om de meeste PowerShell-cmdlets en CLI-opdrachten uit te voeren. U hoeft Azure PowerShell of CLI niet lokaal te installeren. Azure Cloud Shell is een gratis, interactieve shell waarop algemene Azure-hulpprogramma's vooraf zijn geïnstalleerd. Het is geconfigureerd voor gebruik met uw account. Als u een code uit dit artikel wilt uitvoeren in Azure Cloud Shell, opent u een Cloud Shell-sessie, gebruikt u de knop Kopiëren in een codeblok om de code te kopiëren en plakt u deze als volgt in de Cloud Shell-sessie: in Windows en Linux met Ctrl+Shift+V; in macOS met Cmd+Shift+V. Geplakte tekst wordt niet automatisch uitgevoerd. Druk op Enter om code uit te voeren.

U kunt Cloud Shell op verschillende manieren starten:

Optie Koppeling
Klik op Nu uitproberen in de rechterbovenhoek van een codeblok. Cloud Shell in dit artikel
Open Cloud Shell in uw browser. https://shell.azure.com/powershell
Klik op de knop Cloud Shell in het menu rechtsboven in Azure Portal. Cloud Shell in de portal

Een virtueel netwerk verbinden

Maximale tolerantie (aanbevolen): biedt het hoogste niveau van tolerantie voor uw virtuele netwerk. Het biedt twee redundante verbindingen van de virtuele netwerkgateway naar twee verschillende ExpressRoute-circuits op verschillende ExpressRoute-locaties.

Het script klonen

Als u maximale tolerantieverbindingen wilt maken, kloont u het installatiescript vanuit 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/

Voer het script New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 uit om verbindingen met hoge beschikbaarheid te maken. In het volgende voorbeeld ziet u hoe u twee nieuwe verbindingen met twee ExpressRoute-circuits maakt.

$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

Als u een nieuwe verbinding wilt maken en een bestaande verbinding wilt gebruiken, kunt u het volgende voorbeeld gebruiken. In dit voorbeeld wordt een nieuwe verbinding met een tweede ExpressRoute-circuit gemaakt en wordt een bestaande verbinding met het eerste ExpressRoute-circuit gebruikt.

$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

Een virtueel netwerk in een ander abonnement verbinden met een circuit

U kunt een ExpressRoute-circuit delen tussen meerdere abonnementen. De volgende afbeelding is een schematische weergave van hoe delen tussen meerdere abonnementen werkt voor ExpressRoute-circuits.

Notitie

Het verbinden van virtuele netwerken tussen onafhankelijke Azure-clouds en openbare Azure-cloud wordt niet ondersteund. U kunt virtuele netwerken alleen koppelen vanuit verschillende abonnementen in dezelfde cloud.

Elk van de kleinere clouds in de grote cloud staan voor abonnementen die tot verschillende afdelingen binnen een organisatie behoren. Elk van de afdelingen in de organisatie gebruikt een eigen abonnement voor het implementeren van hun services, maar ze kunnen één ExpressRoute-circuit delen om verbinding te maken terug naar uw on-premises netwerk. Eén afdeling (in dit voorbeeld: IT) kan eigenaar zijn van het ExpressRoute-circuit. Andere abonnementen binnen de organisatie kunnen gebruikmaken van het ExpressRoute-circuit.

Notitie

Kosten voor connectiviteit en bandbreedte voor het ExpressRoute-circuit worden in rekening gebracht bij de eigenaar van het abonnement. Alle virtuele netwerken delen dezelfde bandbreedte.

Connectiviteit tussen abonnementen

Beheer: circuiteigenaars en circuitgebruikers

De 'circuiteigenaar' is een geautoriseerde hoofdgebruiker van de ExpressRoute-circuitresource. De circuiteigenaar kan autorisaties maken die kunnen worden ingewisseld door 'circuitgebruikers'. Circuitgebruikers zijn eigenaren van virtuele netwerkgateways die zich niet in hetzelfde abonnement bevinden als het ExpressRoute-circuit. Circuitgebruikers kunnen autorisaties inwisselen (één autorisatie per virtueel netwerk).

De circuiteigenaar heeft de bevoegdheid om autorisaties op elk gewenst moment te wijzigen en in te trekken. Het intrekken van een autorisatie heeft tot gevolg dat alle koppelingsverbindingen uit het abonnement waarvan de toegangsrechten zijn ingetrokken, worden verwijderd.

Notitie

Circuiteigenaar is geen ingebouwde RBAC-rol of gedefinieerd in de ExpressRoute-resource. De definitie van de circuiteigenaar is een rol met de volgende toegang:

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

Dit omvat de ingebouwde rollen, zoals Inzender, Eigenaar en Netwerkbijdrager. Gedetailleerde beschrijving voor de verschillende ingebouwde rollen.

Bewerkingen door circuiteigenaars

Een autorisatie maken

De circuiteigenaar maakt een autorisatie, waarmee een autorisatiesleutel wordt gemaakt die door een circuitgebruiker moet worden gebruikt om de virtuele netwerkgateways te verbinden met het ExpressRoute-circuit. Een autorisatie is slechts voor één verbinding geldig.

In het volgende cmdlet-fragment ziet u hoe u een autorisatie kunt maken:

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

Het antwoord op de vorige opdrachten bevat de autorisatiesleutel en status:

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

Autorisaties controleren

De circuiteigenaar kan alle autorisaties controleren die voor een bepaald circuit worden uitgegeven, door de volgende cmdlet uit te voeren:

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

Autorisaties toevoegen

De circuiteigenaar kan autorisaties toevoegen met behulp van de volgende 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

Autorisaties verwijderen

De circuiteigenaar kan autorisaties intrekken/verwijderen door de volgende cmdlet uit te voeren:

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

Bewerkingen door circuitgebruikers

De circuitgebruiker heeft de peer-id en een autorisatiesleutel nodig van de circuiteigenaar. De autorisatiesleutel is een GUID.

De peer-id kan worden gecontroleerd met de volgende opdracht:

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

Een autorisatie voor een verbinding inwisselen

De circuitgebruiker kan de volgende cmdlet uitvoeren om een autorisatie voor een koppeling in te wisselen:

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

Een autorisatie voor een verbinding vrijgeven

U kunt een autorisatie vrijgeven door de verbinding waarmee het ExpressRoute-circuit aan het virtuele netwerk wordt gekoppeld, te verwijderen.

Een virtuele netwerkverbinding wijzigen

U kunt bepaalde eigenschappen van een virtuele netwerkverbinding bijwerken.

Het gewicht van de verbinding bijwerken

Uw virtuele netwerk kan worden verbonden met meerdere ExpressRoute-circuits. U kunt hetzelfde voorvoegsel van meer dan één ExpressRoute-circuit ontvangen. Als u wilt kiezen via welke verbinding verkeer voor dit voorvoegsel moet worden verzonden, kunt u RoutingWeight voor een verbinding wijzigen. Verkeer wordt verzonden op de verbinding met de hoogste RoutingWeight.

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

Het bereik van RoutingWeight is 0 tot 32.000. De standaardwaarde is 0.

ExpressRoute FastPath configureren

U kunt ExpressRoute FastPath inschakelen als uw virtuele netwerkgateway Ultra Performance of ErGw3AZ is. FastPath verbetert de prestaties van het gegevenspad, zoals pakketten per seconde en verbindingen per seconde tussen uw on-premises netwerk en het virtuele netwerk.

FastPath configureren voor een nieuwe verbinding

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

Een bestaande verbinding bijwerken om FastPath te kunnen gebruiken

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

Met peering van virtuele netwerken en UDR-ondersteuning verzendt FastPath verkeer rechtstreeks naar vm's die zijn geïmplementeerd in virtuele spoke-netwerken (verbonden via Peering van virtueel netwerk) en voldoen aan alle UDR's die zijn geconfigureerd op het GatewaySubnet. Deze mogelijkheid is nu algemeen beschikbaar (GA).

Met FastPath en Private Link wordt private link-verkeer dat via ExpressRoute wordt verzonden, de gateway van het virtuele ExpressRoute-netwerk in het gegevenspad omzeild. Als beide functies zijn ingeschakeld, verzendt FastPath rechtstreeks verkeer naar een privé-eindpunt dat is geïmplementeerd in een 'spoke'-virtueel netwerk.

Deze scenario's zijn algemeen beschikbaar voor beperkte scenario's met verbindingen die zijn gekoppeld aan 10 Gbps en 100 Gbps ExpressRoute Direct-circuits. Volg de onderstaande richtlijnen om dit in te schakelen:

  1. Vul dit Microsoft-formulier in om uw abonnement in te schrijven. Het kan tot 4 weken duren voordat aanvragen zijn voltooid, dus plan de implementaties dienovereenkomstig.
  2. Nadat u een bevestiging van stap 1 hebt ontvangen, voert u de volgende Azure PowerShell-opdracht uit in het Azure-doelabonnement.
$connection = Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <resource-group> -ResourceName <connection-name>
$connection.ExpressRouteGatewayBypass = $true
$connection.EnablePrivateLinkFastPath = $true
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Notitie

U kunt Verbindingsmonitor gebruiken om te controleren of uw verkeer de bestemming bereikt met Behulp van FastPath.

Notitie

Het inschakelen van FastPath Private Link-ondersteuning voor beperkte ALGEMENE beschikbaarheidsscenario's kan tot 4 weken duren. Plan uw implementatie(s) van tevoren.

FastPath-ondersteuning voor peering van virtuele netwerken en UDR's is alleen beschikbaar voor ExpressRoute Direct-verbindingen.

Notitie

Als u FastPath al hebt geconfigureerd en u zich wilt inschrijven voor de beperkte algemene beschikbaarheidsfuncties, moet u het volgende doen:

  1. Schrijf u in bij een van de FastPath-functies met de Azure PowerShell-opdrachten.
  2. Schakel FastPath uit en schakel deze vervolgens opnieuw in op de doelverbinding.
  3. Als u wilt schakelen tussen een beperkte GA-functie, registreert u het abonnement bij de PowerShell-opdracht doelvoorbeeld en schakelt u FastPath vervolgens uit en schakelt u deze opnieuw in voor de verbinding.

Resources opschonen

Als u de ExpressRoute-verbinding niet meer nodig hebt, gebruikt u de opdracht Remove-AzVirtualNetworkGatewayConnection om de koppeling tussen de gateway en het circuit te verwijderen uit het abonnement waar de gateway zich bevindt.

Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u een virtueel netwerk verbindt met een circuit in hetzelfde abonnement en in een ander abonnement. Zie voor meer informatie over ExpressRoute-gateways: virtuele ExpressRoute-netwerkgateways.

Voor meer informatie over het configureren, routeren van filters voor Microsoft-peering met behulp van PowerShell, gaat u verder met de volgende zelfstudie.