Configurare i filtri di route per il peering Microsoft con PowerShell

I filtri di route rappresentano un modo per usare un subset di servizi supportati tramite il peering Microsoft. I passaggi descritti in questo articolo consentono di configurare e gestire i filtri di route per i circuiti ExpressRoute.

I servizi di Microsoft 365, come Exchange Online, SharePoint Online e Skype for Business, e i servizi pubblici di Azure, come l'archiviazione e i database SQL, sono accessibili tramite il peering Microsoft. I servizi pubblici di Azure sono selezionabili per ogni area e non possono essere definiti per ogni servizio pubblico.

Quando il peering Microsoft viene configurato in un circuito ExpressRoute, tutti i prefissi relativi a questi servizi vengono annunciati tramite le sessioni BGP stabilite. A ogni prefisso viene associato un valore di community BGP per identificare il servizio offerto tramite il prefisso. Per un elenco dei valori della community BGP e dei servizi a cui sono associati, vedere community BGP.

Con la connettività a tutti i servizi di Azure e Microsoft 365 viene annunciato un numero elevato di prefissi tramite BGP. Questo numero elevato aumenta notevolmente le dimensioni delle tabelle di route gestite dai router all'interno della rete. Se si prevede di usare solo un subset dei servizi offerti tramite il peering Microsoft, è possibile ridurre le dimensioni delle tabelle di route in due modi. È possibile:

  • Escludere i prefissi indesiderati applicando filtri di route alle community BGP. Il filtro di route è una procedura di rete standard usata comunemente in molte reti.

  • Definire i filtri di route e applicarli al circuito ExpressRoute. Un filtro di route è una nuova risorsa che consente di selezionare l'elenco dei servizi che si prevede di usare tramite il peering Microsoft. I router ExpressRoute inviano solo l'elenco dei prefissi che appartengono ai servizi identificati nel filtro di route.

Diagram of a route filter applied to the ExpressRoute circuit to allow only certain prefixes to be broadcast to the on-premises network.

Informazioni sui filtri di route

Quando il peering Microsoft viene configurato nel circuito ExpressRoute, i router perimetrali Microsoft stabiliscono una coppia di sessioni BGP con i router perimetrali dell'utente attraverso il provider di connettività. Non viene annunciata alcuna route per la rete. Per abilitare gli annunci delle ruote per la rete, è necessario associare un filtro di route.

Un filtro di route consente di identificare i servizi da usare tramite il peering Microsoft del circuito di ExpressRoute. Si tratta fondamentalmente di un elenco elementi consentiti di tutti i valori di community BGP. Dopo aver definito una risorsa filtro di route e averla associata a un circuito ExpressRoute, tutti i prefissi corrispondenti ai valori di community BGP vengono annunciati alla rete.

Per associare i filtri di route ai servizi Microsoft 365, è necessario avere l'autorizzazione per l'utilizzo di tali servizi tramite ExpressRoute. Se non si è autorizzati a utilizzare i servizi Microsoft 365 tramite ExpressRoute, l'operazione di associazione dei filtri di route non riesce. Per altre informazioni sul processo di autorizzazione, vedere Azure ExpressRoute per Microsoft 365.

Importante

Il peering Microsoft dei circuiti ExpressRoute configurati prima del 1° agosto 2017 avrà tutti i prefissi del servizio Microsoft Office annunciati tramite peering Microsoft, anche se i filtri di route non sono definiti. Il peering Microsoft dei circuiti ExpressRoute che vengono configurati dopo il 1° agosto 2017 non avrà alcun prefisso annunciato fino a quando non viene associato un filtro di route per il circuito.

Prerequisiti

  • Prima di iniziare la configurazione, verificare i prerequisiti e i flussi di lavoro.

  • È necessario avere un circuito ExpressRoute attivo, per cui è stato effettuato il provisioning del peering Microsoft. È possibile usare le istruzioni seguenti per eseguire queste attività:

    • Creare un circuito ExpressRoute e chiedere al provider di connettività di abilitarlo prima di continuare. È necessario che sia stato effettuato il provisioning del circuito ExpressRoute e che il circuito sia in stato abilitato.
    • Creare il peering Microsoft se si gestisce direttamente la sessione BGP. In caso contrario, richiedere al provider della connettività di effettuare il provisioning del peering Microsoft per il circuito.

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare INVIO per eseguire il codice o il comando.

Accedere al proprio account Azure e selezionare la sottoscrizione

Se si usa Azure Cloud Shell, l'accesso all'account di Azure viene eseguito automaticamente quando si fa clic su 'Prova'. Per accedere in locale, aprire la console di PowerShell con privilegi elevati ed eseguire il cmdlet per connettersi.

Connect-AzAccount

Se si dispone di più sottoscrizioni, ottenere un elenco delle sottoscrizioni di Azure.

Get-AzSubscription

Specificare la sottoscrizione da usare.

Select-AzSubscription -SubscriptionName "Name of subscription"

Ottenere un elenco di prefissi e di valori di community BGP

  1. Usare il cmdlet seguente per ottenere l'elenco dei valori di community BGP e dei prefissi associati ai servizi accessibili tramite il peering Microsoft:

    Get-AzBgpServiceCommunity
    
  2. Creare un elenco dei valori di community BGP da usare nel filtro di route.

Creare un filtro di route e una regola di filtro

Un filtro di route può avere una sola regola e la regola deve essere di tipo Allow. A questa regola può essere associato un elenco di valori di community BGP. Il comando az network route-filter create crea solo una risorsa filtro di route. Dopo aver creato la risorsa, è necessario creare una regola e associarla all'oggetto filtro di route.

  1. Per creare una risorsa filtro di route, eseguire il comando seguente:

    New-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup" -Location "West US"
    
  2. Per creare una regola di filtro di route, eseguire il comando seguente:

    $rule = New-AzRouteFilterRuleConfig -Name "Allow-EXO-D365" -Access Allow -RouteFilterRuleType Community -CommunityList 12076:5010,12076:5040
    
  3. Eseguire il comando seguente per aggiungere la regola di filtro al filtro di route:

    $routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
    $routefilter.Rules.Add($rule)
    Set-AzRouteFilter -RouteFilter $routefilter
    

Associare il filtro di route a un circuito ExpressRoute

Se si usano solo peer Microsoft, eseguire questo comando per associare il filtro route al circuito ExpressRoute:

$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "MyResourceGroup"
$ckt.Peerings[0].RouteFilter = $routefilter 
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Attività comuni

Per ottenere le proprietà di un filtro di route

Per ottenere le proprietà di un filtro di route, seguire questa procedura:

  1. Eseguire il comando seguente per ottenere una risorsa filtro di route:

    $routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
    
  2. Eseguire il comando seguente per ottenere le regole di filtro di route per la risorsa filtro di route:

    $routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
    $rule = $routefilter.Rules[0]
    

Per aggiornare le proprietà di un filtro di route

Se il filtro di route è già associato a un circuito, gli aggiornamenti all'elenco di community BGP propagano automaticamente le modifiche agli annunci dei prefissi tramite la sessione BGP stabilita. È possibile aggiornare l'elenco di community BGP del filtro di route con il comando seguente:

$routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
$routefilter.rules[0].Communities = "12076:5030", "12076:5040"
Set-AzRouteFilter -RouteFilter $routefilter

Per rimuovere l'associazione di un filtro di route da un circuito ExpressRoute

Dopo aver rimosso l'associazione di un filtro di route dal circuito ExpressRoute, nessun prefisso viene annunciato tramite la sessione BGP. Usare il comando seguente per rimuovere l'associazione di un filtro di route da un circuito ExpressRoute:

$ckt.Peerings[0].RouteFilter = $null
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Pulire le risorse

Si può eliminare un filtro di route solo se non è associato a un circuito. Assicurarsi che il filtro di route non sia associato a un circuito prima di provare a eliminarlo. È possibile eliminare un filtro di route con il comando seguente:

Remove-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"

Passaggi successivi

Per informazioni su esempi di configurazione del router, vedere: