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

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

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

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

Работа с Azure PowerShell

В шагах и примерах в этой статье используются модули Az для Azure PowerShell. Чтобы установить модули Az локально, см. статью Установка Azure PowerShell. Чтобы узнать о модуле Az, см. статью Знакомство с новым модулем Az для Azure PowerShell. Командлеты 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 in this article
Откройте Cloud Shell в браузере. https://shell.azure.com/powershell
Нажмите кнопку меню Cloud Shell в правом верхнем углу окна портала Azure. Cloud Shell in the portal

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

  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. Определите пиринг, который требуется включить или отключить. Пиринг является массивом. В следующем примере Peerings[0] — это частный пиринг Azure, а Peerings[1] — это пиринг корпорации Майкрософт.

    Name                             : ExpressRouteARMCircuit
    ResourceGroupName                : ExpressRouteResourceGroup
    Location                         : westus
    Id                               : /subscriptions/########-####-####-####-############/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
    Etag                             : W/"cd011bef-dc79-49eb-b4c6-81fb6ea5d178"
    ProvisioningState                : Succeeded
    Sku                              : {
                                      "Name": "Standard_MeteredData",
                                      "Tier": "Standard",
                                      "Family": "MeteredData"
                                    }
    CircuitProvisioningState         : Enabled
    ServiceProviderProvisioningState : Provisioned
    ServiceProviderNotes             :
    ServiceProviderProperties        : {
                                      "ServiceProviderName": "Coresite",
                                      "PeeringLocation": "Los Angeles",
                                      "BandwidthInMbps": 50
                                    }
    ServiceKey                       : ########-####-####-####-############
    Peerings                         : [
                                      {
                                        "Name": "AzurePrivatePeering",
                                        "Etag": "W/\"cd011bef-dc79-49eb-b4c6-81fb6ea5d178\"",
                                        "Id": "/subscriptions/########-####-####-####-############/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/\"cd011bef-dc79-49eb-b4c6-81fb6ea5d178\"",
                                        "Id": "/subscriptions/########-####-####-####-############/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 см. в следующих статьях.