Konfigurowanie niestandardowych społeczności protokołu BGP dla prywatnej komunikacji równorzędnej usługi Azure ExpressRoute

Społeczności protokołu BGP grupują prefiksy adresów IP oznaczone wartością społeczności. Ta wartość może służyć do podejmowania decyzji dotyczących routingu w infrastrukturze routera. Filtry można stosować lub określać preferencje routingu dla ruchu wysyłanego do środowiska lokalnego z platformy Azure przy użyciu tagów społeczności protokołu BGP. W tym artykule wyjaśniono, jak zastosować niestandardową wartość społeczności protokołu BGP dla sieci wirtualnych przy użyciu Azure PowerShell. Po skonfigurowaniu można wyświetlić regionalną wartość społeczności protokołu BGP i niestandardową wartość społeczności sieci wirtualnej. Ta wartość będzie używana dla ruchu wychodzącego wysyłanego przez usługę ExpressRoute podczas przesyłania z tej sieci wirtualnej.

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 mieć obwód włączony przez dostawcę łączności.
    • Upewnij się, że masz prywatną komunikację równorzędną platformy Azure skonfigurowaną dla obwodu. Zapoznaj się z artykułem dotyczącym konfigurowania routingu , aby uzyskać instrukcje dotyczące 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 w celu zapewnienia kompleksowej łączności.

Praca z Azure PowerShell

Kroki i przykłady w tym artykule używają modułów Azure PowerShell Az. Aby zainstalować moduły Az lokalnie na komputerze, zobacz Instalowanie Azure PowerShell. Aby dowiedzieć się więcej na temat nowego modułu Az, zobacz Wprowadzenie do nowego modułu Azure PowerShell Az. Polecenia cmdlet programu PowerShell są często aktualizowane. Jeśli nie korzystasz z 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ć Azure PowerShell lub interfejs wiersza polecenia lokalnie. 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 na platformie Azure Cloud Shell, otwórz sesję Cloud Shell, użyj przycisku Kopiuj w bloku kodu, aby skopiować kod i wklej go do sesji 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. Usługa Cloud Shell w tym artykule
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 Azure Portal. Usługa Cloud Shell w portalu

Stosowanie niestandardowej wartości społeczności protokołu BGP dla nowej sieci wirtualnej

  1. Aby rozpocząć konfigurację, zaloguj się do konta platformy Azure i wybierz subskrypcję, której chcesz użyć.

    Jeśli używasz usługi Azure Cloud Shell, zaloguj się do konta platformy Azure automatycznie po kliknięciu pozycji "Wypróbuj". Aby zalogować się lokalnie, otwórz konsolę programu PowerShell z podwyższonym poziomem uprawnień i uruchom polecenie cmdlet, aby nawiązać połączenie.

    Connect-AzAccount
    

    Jeśli masz więcej niż jedną subskrypcję, pobierz listę subskrypcji platformy Azure.

    Get-AzSubscription
    

    Wskaż subskrypcję, której chcesz użyć.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. Utwórz grupę zasobów do przechowywania nowej sieci wirtualnej.

    $rg = @{
        Name = 'myERRG'
        Location = 'WestUS'
    }
    New-AzResourceGroup @rg
    
  3. Utwórz nową sieć wirtualną z -BgpCommunity flagą, aby zastosować wartość społeczności protokołu BGP.

    $vnet = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
        Location = 'WestUS'
        AddressPrefix = '10.0.0.0/16'
        BgpCommunity = '12076:20001'    
    }
    New-AzVirtualNetwork @vnet
    

    Uwaga

    Wartość jest wymagana 12076: przed wartością społeczności niestandardowej.

  4. Pobierz sieć wirtualną i przejrzyj jej właściwości. Zobaczysz sekcję BgpCommunities zawierającą wartość RegionalCommunity i wartość VirtualNetworkCommunity . Wartość RegionalCommunity jest wstępnie zdefiniowana na podstawie regionu platformy Azure sieci wirtualnej. Wartość VirtualNetworkCommunity powinna być zgodna z definicją niestandardową.

    $virtualnetwork = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
    } 
    Get-AzVirtualNetwork @virtualnetwork
    

Stosowanie lub aktualizowanie niestandardowej wartości protokołu BGP dla istniejącej sieci wirtualnej

  1. Pobierz sieć wirtualną, którą chcesz zastosować lub zaktualizować wartość społeczności protokołu BGP, i zapisz ją w zmiennej.

    $virtualnetwork = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
    } 
    $vnet = Get-AzVirtualNetwork @virtualnetwork
    
  2. VirtualNetworkCommunity Zaktualizuj wartość sieci wirtualnej.

    $vnet.BgpCommunities = @{VirtualNetworkCommunity = '12076:20002'}
    $vnet | Set-AzVirtualNetwork
    

    Uwaga

    Wartość jest wymagana 12076: przed wartością społeczności niestandardowej.

  3. Pobierz sieć wirtualną i przejrzyj zaktualizowane właściwości. Wartość RegionalCommunity jest wstępnie zdefiniowana na podstawie regionu platformy Azure sieci wirtualnej; aby wyświetlić regionalne wartości społeczności protokołu BGP dla prywatnej komunikacji równorzędnej, zobacz Wymagania dotyczące routingu usługi ExpressRoute. Wartość VirtualNetworkCommunity powinna być zgodna z definicją niestandardową.

    $virtualnetwork = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
    } 
    Get-AzVirtualNetwork @virtualnetwork
    

Następne kroki