Сброс пиринга каналов ExpressRoute с помощью Azure PowerShell

В этой статье описывается, как включить и отключить пиринги канала ExpressRoute с помощью PowerShell. Пиринги включены по умолчанию при создании. При отключении пиринга, сеанс BGP разрывается как на основном, так и на вторичном подключении канала ExpressRoute. Вы теряете подключение к этому пирингу корпорации Майкрософт. При активации пиринга сеансы BGP для основного и вторичного подключения канала ExpressRoute устанавливаются. Подключение к майкрософт повторно подключается к этому пирингу. Вы можете включить и отключить пиринг для пиринга Майкрософт и частного пиринга Azure независимо от канала ExpressRoute.

Существует два сценария, в которых может быть полезно перезагрузить пиринги ExpressRoute.

  • Если вы хотите протестировать разработку и реализацию аварийного восстановления. Например, у вас есть два канала ExpressRoute. Вы можете отключить пиринговые подключения на одном канале и принудительно переключить сетевой трафик на другой канал.
  • Включите двунаправленное обнаружение пересылки (BFD) на одном из пирингов: частном пиринге Azure или пиринге Microsoft канала ExpressRoute. BFD включен по умолчанию для частного пиринга Azure, если вы создали соединение ExpressRoute после 1 августа 2018 г. и для пиринга Microsoft после 10 января 2020 г. Если ваш канал был создан до указанной даты, необходимо перезагрузить пиринг, чтобы включить BFD.

Работа с Azure PowerShell

В шагах и примерах в этой статье используются модули Az для Azure PowerShell. Чтобы установить модули Az локально на компьютере, см. статью "Установка Azure PowerShell". Чтобы узнать больше о новом модуле Az, см. статью Введение в новый модуль Azure PowerShell Az. Командлеты PowerShell обновляются с высокой частотой. Если вы не используете последнюю версию, применение значений, указанных в инструкциях, может привести к сбою. Чтобы найти установленные в системе версии PowerShell, используйте командлет Get-Module -ListAvailable Az.

Azure Cloud Shell можно использовать для выполнения большинства командлетов PowerShell и команд CLI. Это позволяет избежать локальной установки Azure PowerShell или CLI. Azure Cloud Shell — это бесплатная интерактивная оболочка, в которой предустановлены и настроены для использования с вашей учетной записью стандартные средства Azure. Для выполнения кода из этой статьи в Azure Cloud Shell откройте сеанс Cloud Shell, скопируйте блок кода с помощью кнопки Копировать и вставьте его в сеанс Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS. Вставленный текст не выполняется автоматически, поэтому нажмите клавишу ВВОД для выполнения кода.

Cloud Shell можно запустить разными способами:

Опция Ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом.               Cloud Shell в этой статье
Откройте Cloud Shell в браузере. https://shell.azure.com/powershell
Нажмите кнопку меню Cloud Shell в правом верхнем углу окна портала Azure. Cloud Shell на Портале

Сброс пиринга

  1. Если вы используете PowerShell локально, откройте консоль PowerShell с повышенными привилегиями и подключитесь к учетной записи. Используйте следующий пример, чтобы помочь вам подключиться:

    Connect-AzAccount
    
  2. Если у вас несколько подписок Azure, проверьте подписки вашей учетной записи.

    Get-AzSubscription
    
  3. Укажите подписку, которую вы хотите использовать.

    Select-AzSubscription -SubscriptionName "Replace_with_your_subscription_name"
    
  4. Выполните следующие команды, чтобы извлечь сведения о цепи ExpressRoute.

    $ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
    
  5. Определите пиринг, который требуется отключить или включить. Пиринги — это массив. В следующем примере Pиринг[0] — это частный пиринг Azure, а Pиринг[1] — пиринг Microsoft.

    Name                             : ExpressRouteARMCircuit
    ResourceGroupName                : ExpressRouteResourceGroup
    Location                         : westus
    Id                               : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
    Etag                             : W/"aaaa0000-bb11-2222-33cc-444444dddddd"
    ProvisioningState                : Succeeded
    Sku                              : {
                                      "Name": "Standard_MeteredData",
                                      "Tier": "Standard",
                                      "Family": "MeteredData"
                                    }
    CircuitProvisioningState         : Enabled
    ServiceProviderProvisioningState : Provisioned
    ServiceProviderNotes             :
    ServiceProviderProperties        : {
                                      "ServiceProviderName": "Coresite",
                                      "PeeringLocation": "Los Angeles",
                                      "BandwidthInMbps": 50
                                    }
    ServiceKey                       : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    Peerings                         : [
                                      {
                                        "Name": "AzurePrivatePeering",
                                        "Etag": "W/\"aaaa0000-bb11-2222-33cc-444444dddddd\"",
                                        "Id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit/peerings/AzurePrivatePeering",
                                        "PeeringType": "AzurePrivatePeering",
                                        "State": "Enabled",
                                        "AzureASN": 12076,
                                        "PeerASN": 123,
                                        "PrimaryPeerAddressPrefix": "10.0.0.0/30",
                                        "SecondaryPeerAddressPrefix": "10.0.0.4/30",
                                        "PrimaryAzurePort": "",
                                        "SecondaryAzurePort": "",
                                        "VlanId": 789,
                                        "MicrosoftPeeringConfig": {
                                          "AdvertisedPublicPrefixes": [],
                                          "AdvertisedCommunities": [],
                                          "AdvertisedPublicPrefixesState": "NotConfigured",
                                          "CustomerASN": 0,
                                          "LegacyMode": 0,
                                          "RoutingRegistryName": "NONE"
                                        },
                                        "ProvisioningState": "Succeeded",
                                        "GatewayManagerEtag": "",
                                        "LastModifiedBy": "Customer",
                                        "Connections": []
                                      },
                                      {
                                        "Name": "MicrosoftPeering",
                                        "Etag": "W/\"aaaa0000-bb11-2222-33cc-444444dddddd\"",
                                        "Id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit/peerings/MicrosoftPeering",
                                        "PeeringType": "MicrosoftPeering",
                                        "State": "Enabled",
                                        "AzureASN": 12076,
                                        "PeerASN": 123,
                                        "PrimaryPeerAddressPrefix": "3.0.0.0/30",
                                        "SecondaryPeerAddressPrefix": "3.0.0.4/30",
                                        "PrimaryAzurePort": "",
                                        "SecondaryAzurePort": "",
                                        "VlanId": 345,
                                        "MicrosoftPeeringConfig": {
                                          "AdvertisedPublicPrefixes": [
                                            "3.0.0.3/32"
                                          ],
                                          "AdvertisedCommunities": [],
                                          "AdvertisedPublicPrefixesState": "ValidationNeeded",
                                          "CustomerASN": 0,
                                          "LegacyMode": 0,
                                          "RoutingRegistryName": "NONE"
                                        },
                                        "ProvisioningState": "Succeeded",
                                        "GatewayManagerEtag": "",
                                        "LastModifiedBy": "Customer",
                                        "Connections": []
                                      }
                                    ]
    Authorizations                   : []
    AllowClassicOperations           : False
    GatewayManagerEtag               :
    
  6. Выполните следующие команды, чтобы изменить состояние пиринга на отключенное.

    $ckt.Peerings[0].State = "Disabled"
    Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
    

    Пиринг должен находиться в отключенном состоянии, которое вы задали.

  7. Выполните следующие команды, чтобы изменить состояние пиринга обратно в состояние "включено".

    $ckt.Peerings[0].State = "Enabled"
    Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
    

    Пиринг должен быть настроен и активирован.

Дальнейшие действия

Если вам нужна помощь по устранению неполадок ExpressRoute, ознакомьтесь со следующими статьями: