Создание и изменение пиринга для канала ExpressRoute с помощью PowerShell

В этой статье описано, как создать конфигурацию маршрутизации ExpressRoute и управлять ею в модели развертывания Azure Resource Manager, используя PowerShell. Вы также сможете проверить состояние, обновить, удалить и отозвать пиринги для канала ExpressRoute. Если вы хотите использовать для работы с каналом другой метод, выберите подходящую статью из списка ниже.

Эти инструкции распространяются только на каналы от поставщиков, предоставляющих услуги подключения второго уровня. Если вы используете поставщик услуг, который предлагает управляемые службы уровня 3, как правило, IPVPN, например MPLS, поставщик подключений настраивает и управляет маршрутизацией сети.

Внимание

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

Вы можете настроить частный пиринг и пиринг Майкрософт для канала ExpressRoute. Пиринги можно настраивать в любом порядке, главное, выполнять их конфигурацию по очереди. Дополнительную информацию о доменах маршрутизации и пиринге см. в статье Каналы ExpressRoute и домены маршрутизации.

Схема, показывающая локальную сеть, подключенную к облаку Майкрософт, через канал ExpressRoute.

В этом руководстве описано следующее:

  • настройка, обновление и удаление пиринга Майкрософт для канала;
  • настройка, обновление и удаление частного пиринга Azure для канала.

Необходимые компоненты

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Снимок экрана: пример открытия Azure Cloud Shell с помощью кнопки
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Снимок экрана: кнопка

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Пиринг Майкрософт

Этот раздел поможет создать, получить, обновить и (или) удалить конфигурацию пиринга Майкрософт для канала ExpressRoute.

Внимание

Пиринг Майкрософт для каналов ExpressRoute, которые были настроены до 1 августа 2017 г., позволяет объявлять все префиксы служб, даже если фильтры маршрутов не определены. Пиринг Майкрософт для каналов ExpressRoute, настроенных 1 августа 2017 г. или позднее, не будет объявлять префиксы, пока к каналу не будет присоединен фильтр маршрутов. Дополнительные сведения см. в руководстве по настройке фильтра маршрута для пиринга Майкрософт.

Создание пиринга Майкрософт

  1. Выполните вход и выберите подписку.

    Если вы установили PowerShell на локальном компьютере, выполните вход. Если вы используете Azure Cloud Shell, этот шаг можно пропустить.

    Connect-AzAccount
    

    Выберите подписку для создания канала ExpressRoute.

    Select-AzSubscription -SubscriptionId "<subscription ID>"
    
  2. Создайте канал ExpressRoute.

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

  3. Убедитесь, что канал ExpressRoute подготовлен и включен. Используйте следующий пример:

    Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
    

    Ответ будет выглядеть примерно так:

    Name                             : ExpressRouteARMCircuit
    ResourceGroupName                : ExpressRouteResourceGroup
    Location                         : westus
    Id                               : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
    Etag                             : W/"################################"
    ProvisioningState                : Succeeded
    Sku                              : {
                                        "Name": "Standard_MeteredData",
                                        "Tier": "Standard",
                                        "Family": "MeteredData"
                                      }
    CircuitProvisioningState         : Enabled
    ServiceProviderProvisioningState : Provisioned
    ServiceProviderNotes             : 
    ServiceProviderProperties        : {
                                        "ServiceProviderName": "Equinix",
                                        "PeeringLocation": "Silicon Valley",
                                        "BandwidthInMbps": 200
                                      }
    ServiceKey                       : **************************************
    Peerings                         : []
    
  4. Настройте пиринг Майкрософт для этого канала. Прежде чем продолжить, убедитесь, что у вас есть следующие сведения.

    • Пара подсетей, принадлежащих вам и зарегистрированных в RIR/IRR. Одна подсеть используется для первичной ссылки, а другая будет использоваться для вторичной ссылки. Из каждой из этих подсетей вы назначаете первый доступный ДЛЯ использования IP-адрес маршрутизатору, так как корпорация Майкрософт использует второй доступный IP-адрес для своего маршрутизатора. У вас есть три варианта для этой пары подсетей:
      • IPv4: две подсети /30. Это должны быть допустимые префиксы общедоступного адреса IPv4.
      • IPv6: две подсети /126. Это должны быть допустимые префиксы общедоступного адреса IPv6.
      • Оба: две подсети /30 и две подсети /126.
    • Пиринг Майкрософт позволяет взаимодействовать с общедоступными IP-адресами в сети Майкрософт. Таким образом, конечные точки трафика в локальной сети также должны быть общедоступными. Это часто делается с помощью SNAT.

    Примечание.

    При использовании SNAT рекомендуется использовать общедоступный IP-адрес из диапазона, назначенного первичной или вторичной ссылке. Вместо этого следует использовать другой диапазон общедоступных IP-адресов, назначенных вам и зарегистрированных в региональном реестре Интернета (RIR) или реестре маршрутизации Интернета (IRR). В зависимости от тома вызова этот диапазон может быть как небольшой, как один IP-адрес (представленный как "/32" для IPv4 или "/128" для IPv6).

    • Действительный идентификатор виртуальной локальной сети для установки пиринга. Идентификатор не должен использоваться ни одним другим пирингом в канале. Для основного и дополнительного соединений необходимо использовать тот же идентификатор виртуальной локальной сети.
    • Номер AS для пиринга. Можно использовать 2-байтовые и 4-байтовые номера AS.
    • Объявленные префиксы: предоставьте список всех префиксов, которые вы планируете объявить во время сеанса BGP. Допускаются только общедоступные префиксы IP-адресов. Если вы планируете отправить набор префиксов, их можно оформить в виде списка, разделенного запятыми. Эти префиксы должны быть зарегистрированы в RIR/IRR на ваше имя.
    • Необязательно. Клиент ASN: для объявления префиксов, не зарегистрированных с номером AS для пиринга, можно указать номер AS, с которым они зарегистрированы.
    • Имя реестра маршрутизации: можно указать RIR/IRR, в котором зарегистрированы номер AS и префиксы.
    • Необязательно. Хэш MD5, если вы решите его использовать.

Внимание

Корпорация Майкрософт проверяет, назначены ли вам указанные объявленные открытые префиксы (Advertised public prefixes) и одноранговый узел ASN (Peer ASN) или ASN клиента (Customer ASN) в реестре маршрутизации в Интернете. Если вы получаете открытые префиксы из другой сущности и если назначение не записано в реестре маршрутизации, автоматическая проверка не будет завершена и потребуется проверка вручную. Если автоматическая проверка не удалась, вы увидите для AdvertisedPublicPrefixesState значение Validation needed (Требуется проверка) в выходных данных Get-AzExpressRouteCircuitPeeringConfig (см. раздел "Получение сведений о пиринге Майкрософт" ниже).

Если вы видите это сообщение, соберите документы, подтверждающие, что открытые префиксы назначены вашей организации сущностью, указанной в качестве владельца префиксов в реестре маршрутизации. Отправьте эти документы для проверки вручную, открыв запрос в службе поддержки.

Чтобы настроить пиринг Майкрософт для своего канала, воспользуйтесь следующим примером:

Add-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv4 -PrimaryPeerAddressPrefix "123.0.0.0/30" -SecondaryPeerAddressPrefix "123.0.0.4/30" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "123.1.0.0/24" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Add-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv6 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "3FFE:FFFF:0:CD31::/120" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Получение сведений о пиринге Майкрософт

Для получения сведений о конфигурации можно использовать следующий пример:

$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"

Get-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt

Обновление конфигурации пиринга Майкрософт

С помощью следующего примера можно обновить любую часть конфигурации:

Set-AzExpressRouteCircuitPeeringConfig  -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv4 -PrimaryPeerAddressPrefix "123.0.0.0/30" -SecondaryPeerAddressPrefix "123.0.0.4/30" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "124.1.0.0/24" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Set-AzExpressRouteCircuitPeeringConfig  -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv6 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "3FFE:FFFF:0:CD31::/120" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Частный пиринг Azure

Этот раздел поможет вам создать, получить, обновить и (или) удалить конфигурацию частного пиринга Azure для канала ExpressRoute.

Создание частного пиринга Azure

  1. Импортируйте модуль PowerShell для ExpressRoute.

    Установите последнюю версию установщика PowerShell из коллекции PowerShell. Затем импортируйте модули Azure Resource Manager в сеанс PowerShell, чтобы начать использовать командлеты ExpressRoute. Необходимо запустить PowerShell от имени администратора.

    Install-Module Az
    

    Импортируйте все модули Az.* в рамках диапазона известных семантических версий.

    Import-Module Az
    

    Можно также просто импортировать выбранный модуль в рамках диапазона известных семантических версий.

    Import-Module Az.Network 
    

    Войдите в свою учетную запись.

    Connect-AzAccount
    

    Выберите подписку для создания канала ExpressRoute.

    Select-AzSubscription -SubscriptionId "<subscription ID>"
    
  2. Создайте канал ExpressRoute.

    Выполните инструкции по созданию канала ExpressRoute. Поставщик услуг подключения должен подготовить его. Если поставщик услуг подключения предоставляет управляемые службы уровня 3, он может включить для вас частный пиринг Azure. Инструкции в следующих разделах выполнять не нужно. Если же поставщик услуг подключения не управляет маршрутизацией, после создания канала сделайте следующее.

  3. Убедитесь, что канал ExpressRoute подготовлен и включен. Используйте следующий пример:

    Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
    

    Ответ будет выглядеть примерно так:

    Name                             : ExpressRouteARMCircuit
    ResourceGroupName                : ExpressRouteResourceGroup
    Location                         : westus
    Id                               : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
    Etag                             : W/"################################"
    ProvisioningState                : Succeeded
    Sku                              : {
                                        "Name": "Standard_MeteredData",
                                        "Tier": "Standard",
                                        "Family": "MeteredData"
                                      }
    CircuitProvisioningState         : Enabled
    ServiceProviderProvisioningState : Provisioned
    ServiceProviderNotes             : 
    ServiceProviderProperties        : {
                                        "ServiceProviderName": "Equinix",
                                        "PeeringLocation": "Silicon Valley",
                                        "BandwidthInMbps": 200
                                      }
    ServiceKey                       : **************************************
    Peerings                         : []
    
  4. Настройте для канала частный пиринг Azure. Прежде чем продолжить, убедитесь в наличии следующих элементов:

    • Пара подсетей, которые не являются частью какого-либо диапазона адресов, зарезервированного для виртуальных сетей. Одна подсеть используется для первичной ссылки, а другая используется для вторичной ссылки. Из каждой из этих подсетей вы назначаете первый доступный ДЛЯ использования IP-адрес маршрутизатору, так как корпорация Майкрософт использует второй доступный IP-адрес для своего маршрутизатора. У вас есть три варианта для этой пары подсетей:
      • IPv4: две подсети /30.
      • IPv6: две подсети /126;
      • Оба: две подсети /30 и две подсети /126.
    • Действительный идентификатор виртуальной локальной сети для установки пиринга. Идентификатор не должен использоваться ни одним другим пирингом в канале.
    • Номер AS для пиринга. Можно использовать 2-байтовые и 4-байтовые номера AS. Для этого пиринга можно использовать частный номер AS. Убедитесь, что вы не используете 65515.
    • Необязательный:
      • Хэш MD5, если вы решите его использовать.

    Чтобы настроить для канала частный пиринг Azure, выполните код из следующего примера:

    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "10.0.0.0/30" -SecondaryPeerAddressPrefix "10.0.0.4/30" -VlanId 200
    
    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 200 -PeerAddressType IPv6
    
    Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
    

    Если вы решили использовать MD5-хэш, используйте следующий пример:

    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "10.0.0.0/30" -SecondaryPeerAddressPrefix "10.0.0.4/30" -VlanId 200  -SharedKey "A1B2C3D4"
    
    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 200 -PeerAddressType IPv6 -SharedKey "A1B2C3D4"
    

    Внимание

    Номер AS должен быть указан в качестве ASN пиринга, а не ASN клиента.

Получение сведений о частном пиринге Azure

Для получения сведений о конфигурации можно использовать следующий пример кода:

$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"

Get-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt

Обновление конфигурации частного пиринга Azure

С помощью следующего примера можно обновить любую часть конфигурации. В следующем примере значение идентификатора виртуальной локальной сети для канала изменяется с 200 на 500:

Set-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "10.0.0.0/30" -SecondaryPeerAddressPrefix "10.0.0.4/30" -VlanId 500

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Очистка ресурсов

Удаление пиринга Майкрософт

Для удаления конфигурации пиринга выполните следующий командлет.

Remove-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Удаление частного пиринга Azure

Для удаления конфигурации пиринга выполните следующий пример кода:

Предупреждение

Перед запуском этого примера обязательно убедитесь, что все виртуальные сети и подключения Global Reach к ExpressRoute удалены.

Remove-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Следующие шаги

После настройки частного пиринга Azure можно создать шлюз ExpressRoute, чтобы связать виртуальную сеть с каналом.