Connessione una rete virtuale a un circuito ExpressRoute usando Azure PowerShell

Questo articolo spiega come collegare le reti virtuali ai circuiti di Azure ExpressRoute usando il modello di distribuzione di Resource Manager e PowerShell. Le reti virtuali possono essere nella stessa sottoscrizione o appartenere a un'altra sottoscrizione. Questa esercitazione illustra anche come aggiornare un collegamento di rete virtuale.

Diagram showing a virtual network linked to an ExpressRoute circuit.

Prerequisiti

  • Verificare i prerequisiti, i requisiti di routing e i flussi di lavoro.

  • È necessario avere un circuito ExpressRoute attivo.

    • Seguire le istruzioni per creare un circuito ExpressRoute e fare in modo che venga abilitato dal provider di connettività.
    • Assicurarsi di disporre del peering privato di Azure configurato per il circuito. Vedere l'articolo relativo alla configurazione del routing per istruzioni relative al routing.
    • Assicurarsi che il peering privato di Azure sia configurato e stabilisca il peering BGP tra la rete e Microsoft per la connettività end-to-end.
    • Assicurarsi di disporre di una rete virtuale e di un gateway di rete virtuale creati e con provisioning completo. Seguire le istruzioni per creare un gateway di rete virtuale per ExpressRoute. Un gateway di rete virtuale per ExpressRoute usa gatewayType ExpressRoute, non VPN.
  • È possibile collegare fino a 10 reti virtuali a un circuito ExpressRoute standard. Tutte le reti virtuali devono essere nella stessa area geopolitica quando si usa un circuito ExpressRoute standard.

  • Una singola rete virtuale può essere collegata a un massimo di 16 circuiti ExpressRoute. Seguire i passaggi di questo articolo per creare un nuovo oggetto di connessione per ogni circuito ExpressRoute a cui ci si connette. I circuiti ExpressRoute possono essere nella stessa sottoscrizione, diverse sottoscrizioni o una combinazione di entrambe le situazioni.

  • Abilitando il componente aggiuntivo ExpressRoute Premium, è possibile collegare reti virtuali esterne all'area geopolitica del circuito ExpressRoute. Il componente aggiuntivo Premium consente di connettere più di 10 reti virtuali al circuito ExpressRoute a seconda della larghezza di banda scelta. Per altre informazioni sul componente aggiuntivo Premium, vedere le domande frequenti .

  • Per creare la connessione dal circuito ExpressRoute al gateway di rete virtuale ExpressRoute di destinazione, il numero di spazi indirizzi annunciati dalle reti virtuali locali o con peering deve essere uguale o minore di 200. Dopo aver creato la connessione, è possibile aggiungere più spazi indirizzi, fino a 1.000, alle reti virtuali locali o con peering.

  • Esaminare le indicazioni per la connettività tra reti virtuali tramite ExpressRoute.

Uso di Azure PowerShell

I passaggi e gli esempi in questo articolo usano i moduli Az di Azure PowerShell. Per installare il modulo Az nel computer locale, vedere Installare Azure PowerShell. Per altre informazioni, vedere Introduzione al nuovo modulo Az di Azure PowerShell. I cmdlet di PowerShell vengono aggiornati di frequente. Se non si esegue la versione più recente, i valori specificati nelle istruzioni potrebbero generare errori. Per trovare la versione installata di PowerShell nel sistema, usare il cmdlet Get-Module -ListAvailable Az.

È possibile usare Azure Cloud Shell per eseguire la maggior parte dei cmdlet di PowerShell e dei comandi dell'interfaccia della riga di comando, invece di installare Azure PowerShell o l'interfaccia della riga di comando localmente. Azure Cloud Shell è una shell interattiva gratuita, configurata per l'uso con il proprio account, in cui sono preinstallati gli strumenti comuni di Azure. Per eseguire il codice contenuto in questo articolo in Azure Cloud Shell, aprire una sessione di Cloud Shell, usare il pulsante Copia in un blocco di codice per copiare il codice e incollarlo nella sessione di Cloud Shell con CTRL+MAIUSC+V in Windows e Linux o CMD+MAIUSC+V in macOS. Il testo incollato non viene eseguito automaticamente. Premere INVIO per eseguire il codice.

Esistono alcuni modi per avviare Cloud Shell:

Opzione Collega
Fare clic su Prova nell'angolo superiore destro di un blocco di codice. Cloud Shell in this article
Aprire Cloud Shell nel browser. https://shell.azure.com/powershell
Fare clic sul pulsante Cloud Shell nel menu in alto a destra nel portale di Azure. Cloud Shell in the portal

Collegare una rete virtuale della stessa sottoscrizione a un circuito

È possibile collegare un gateway di rete virtuale a un circuito ExpressRoute usando il cmdlet seguente. Prima di eseguire il cmdlet, assicurarsi che il gateway di rete virtuale sia stato creato e sia pronto per il collegamento.

$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

Collegare una rete virtuale di un'altra sottoscrizione a un circuito

È possibile condividere un circuito ExpressRoute tra più sottoscrizioni. La figura seguente mostra un semplice schema del funzionamento della condivisione di circuiti ExpressRoute tra più sottoscrizioni.

Nota

Connessione le reti virtuali tra cloud sovrani di Azure e cloud di Azure pubblico non sono supportate. È possibile collegare solo reti virtuali da sottoscrizioni diverse nello stesso cloud.

Ciascuno dei cloud più piccoli nel cloud di grandi dimensioni viene usato per rappresentare le sottoscrizioni appartenenti a reparti diversi di un'organizzazione. Ciascun reparto dell'organizzazione usa la propria sottoscrizione per distribuire i servizi, ma può condividere un solo circuito ExpressRoute per la connessione alla rete locale. Un singolo reparto (in questo esempio, IT) può possedere il circuito ExpressRoute. Altre sottoscrizioni all'interno dell'organizzazione possono usare il circuito ExpressRoute.

Nota

I costi relativi a connettività e larghezza di banda per il circuito ExpressRoute saranno addebitati al proprietario della sottoscrizione. Tutte le reti virtuali condividono la stessa larghezza di banda.

Cross-subscription connectivity

Amministrazione - Proprietari e utenti del circuito

Il proprietario del circuito è l'utente esperto autorizzato della risorsa circuito ExpressRoute. Il proprietario del circuito può creare le autorizzazioni che possono essere riscattate dagli "utenti del circuito". Gli utenti del circuito sono i proprietari dei gateway di rete virtuale che non sono nella stessa sottoscrizione del circuito ExpressRoute. Gli utenti del circuito possono riscattare le autorizzazioni (un'autorizzazione per ogni rete virtuale).

Il proprietario del circuito ha la facoltà di modificare e revocare le autorizzazioni in qualsiasi momento. La revoca dell'autorizzazione comporterà l'eliminazione di tutti i collegamenti dalla sottoscrizione di cui è stato revocato l'accesso.

Nota

Il proprietario del circuito non è un ruolo controllo degli accessi in base al ruolo predefinito o definito nella risorsa ExpressRoute. La definizione del proprietario del circuito è qualsiasi ruolo con l'accesso seguente:

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

Sono inclusi i ruoli predefiniti, ad esempio Collaboratore, Proprietario e Collaboratore rete. Descrizione dettagliata per i diversi ruoli predefiniti.

Operazioni del proprietario del circuito

Per creare un'autorizzazione

Il proprietario del circuito crea un'autorizzazione, che crea a sua volta una chiave di autorizzazione che può essere usata da un utente del circuito per connettere i propri gateway di rete virtuale al circuito ExpressRoute. Un'autorizzazione è valida per una sola connessione.

Il frammento di cmdlet seguente mostra come creare un'autorizzazione:

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

La risposta ai comandi precedenti contiene la chiave di autorizzazione e lo stato:

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

Per verificare le autorizzazioni

Il proprietario del circuito può esaminare tutte le autorizzazioni rilasciate in un particolare circuito eseguendo il cmdlet seguente:

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

Per aggiungere le autorizzazioni

Il proprietario del circuito può aggiungere le autorizzazioni usando il cmdlet seguente:

$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

Per eliminare le autorizzazioni

Il proprietario del circuito può revocare o eliminare le autorizzazioni dell'utente eseguendo il cmdlet seguente:

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

Operazioni dell'utente del circuito

L’utente del circuito deve richiedere l’ID peer e una chiave di autorizzazione al proprietario del circuito. La chiave di autorizzazione è un GUID.

L'ID peer può essere controllato con il comando seguente:

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

Per riscattare un'autorizzazione di connessione

L'utente del circuito può eseguire il cmdlet seguente per riscattare un'autorizzazione di collegamento:

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

Per rilasciare un'autorizzazione di connessione

È possibile rilasciare un'autorizzazione eliminando il collegamento del circuito ExpressRoute alla rete virtuale.

Modificare una connessione di rete virtuale

È possibile aggiornare alcune proprietà di una connessione di rete virtuale.

Per aggiornare il peso della connessione

La rete virtuale può essere connessa a più circuiti ExpressRoute. È possibile ricevere lo stesso prefisso da più di un circuito ExpressRoute. Per scegliere la connessione per l'invio di traffico destinato per questo prefisso, è possibile modificare il valore RoutingWeight di una connessione. Il traffico viene inviato sulla connessione con il valore RoutingWeight più alto.

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

L'intervallo di RoutingWeight va da 0 a 32.000. Il valore predefinito è 0.

Configurare ExpressRoute FastPath

È possibile abilitare ExpressRoute FastPath se il gateway di rete virtuale è Prestazioni extra o ErGw3AZ. FastPath migliora le prestazioni del percorso dati come i pacchetti al secondo e le connessioni al secondo tra la rete locale e la rete virtuale.

Configurare FastPath in una nuova connessione

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

Aggiornamento di una connessione esistente per abilitare FastPath

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

Con il supporto Rete virtuale peering e route definita dall'utente, FastPath invierà il traffico direttamente alle macchine virtuali distribuite in Rete virtuale "spoke" (connesse tramite peering Rete virtuale) e rispediranno eventuali route definite dall'utente configurate in GatewaySubnet. Con FastPath e collegamento privato, collegamento privato traffico inviato tramite ExpressRoute ignora il gateway di rete virtuale ExpressRoute nel percorso dati. Con entrambe queste funzionalità abilitate, FastPath invierà direttamente il traffico a un endpoint privato distribuito in un Rete virtuale "spoke".

Questi scenari sono disponibili a livello generale per scenari limitati con connessioni associate a circuiti ExpressRoute Direct da 100 Gb. Per abilitare, seguire le indicazioni seguenti:

  1. Completare questo Microsoft Form per richiedere la registrazione dell'abbonamento.
  2. Dopo aver ricevuto una conferma dal passaggio 1, eseguire il comando di Azure PowerShell seguente nella sottoscrizione di Azure di destinazione.
$connection = Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <resource-group> -ResourceName <connection-name>
$connection.ExpressRouteGatewayBypass = $true
$connection.EnablePrivateLinkFastPath = $true
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Nota

È possibile usare Monitoraggio connessione per verificare che il traffico raggiunga la destinazione tramite FastPath.

Nota

L'abilitazione del supporto di FastPath collegamento privato per scenari ga limitati può richiedere fino a 2 settimane. Pianificare in anticipo le distribuzioni.

Il supporto di FastPath per il peering di rete virtuale e le route definite dall'utente sono disponibili solo per le connessioni ExpressRoute Direct.

Nota

Tutte le connessioni configurate per FastPath nella sottoscrizione di destinazione verranno registrate nell'anteprima selezionata. Non è consigliabile abilitare queste anteprime nelle sottoscrizioni di produzione. Se FastPath è già configurato e si vuole eseguire la registrazione nella funzionalità di anteprima, è necessario eseguire le operazioni seguenti:

  1. Eseguire la registrazione in una delle funzionalità di anteprima di FastPath con i comandi di Azure PowerShell.
  2. Disabilitare e quindi riabilitare FastPath nella connessione di destinazione.
  3. Per passare da una funzionalità di anteprima all'altra, registrare la sottoscrizione con il comando powerShell di anteprima di destinazione e quindi disabilitare e riabilitare FastPath nella connessione.

Pulire le risorse

Se la connessione ExpressRoute non serve più, usare il comando Remove-AzVirtualNetworkGatewayConnection dalla sottoscrizione in cui si trova il the gateway per rimuovere il collegamento tra il gateway e il circuito.

Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"

Passaggi successivi

In questa esercitazione si è appreso come connettere una rete virtuale a un circuito nella stessa sottoscrizione e in una sottoscrizione diversa. Per altre informazioni sui gateway ExpressRoute, vedere Gateway di rete virtuale ExpressRoute.

Per informazioni su come configurare, indirizzare i filtri per il peering Microsoft con PowerShell, passare all'esercitazione successiva.