Поделиться через


Краткое руководство. Создание и изменение канала ExpressRoute с помощью Azure PowerShell

В этом кратком руководстве показано, как создать канал ExpressRoute в трех разных типах устойчивости: максимальная устойчивость, высокая устойчивость и стандартная устойчивость с помощью Azure PowerShell. Вы узнаете, как проверить состояние, обновление, удаление или отмену схемы с помощью командлетов PowerShell.

Схема среды развертывания канала ExpressRoute с помощью Azure PowerShell.

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

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

Войдите в учетную запись Azure и выберите подписку.

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

Connect-AzAccount

Если у вас есть несколько подписок Azure, запросите их список.

Get-AzSubscription

укажите подписку, которую нужно использовать;

Select-AzSubscription -SubscriptionName "Name of subscription"

Получение списка поддерживаемых поставщиков, расположений и значений пропускной способности

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

Командлет PowerShell Get-AzExpressRouteServiceProvider возвращает эти сведения, которые используются в последующих шагах:

Get-AzExpressRouteServiceProvider

Проверьте, указан ли в списке поставщик услуг подключения. Запишите следующие сведения, которые потребуются позднее при создании канала:

  • Имя.
  • PeeringLocations
  • BandwidthsOffered

Теперь все готово к созданию канала ExpressRoute.

Получение списка устойчивых расположений

Если вы создаете канал ExpressRoute с типом устойчивости максимальной устойчивости, необходимо знать список устойчивых расположений. Ниже приведены действия по извлечению этих сведений:

Клонирование скрипта

# Clone the setup script from GitHub.
git clone https://github.com/Azure-Samples/azure-docs-powershell-samples/ 
# Change to the directory where the script is located.
CD azure-docs-powershell-samples/expressroute/

Запуск скрипта устойчивых расположений

Запустите скрипт Get-AzExpressRouteResilientLocations.ps1, чтобы получить список устойчивых расположений. В следующем примере показано, как получить устойчивые расположения для определенной подписки, отсортированных по расстоянию от Силиконовой долины:

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
highAvailabilitySetup/Get-AzExpressRouteResilientLocations.ps1 -SubscriptionId $SubscriptionId -RelativeLocation "silicon valley"

Если расположение не указано, вы получите список всех устойчивых расположений.

Создание канала ExpressRoute

Перед созданием канала ExpressRoute необходимо создать группу ресурсов (если вы этого еще не сделали) Для этого выполните командлет New-AzResourceGroup :

$resourceGroupName = (New-AzResourceGroup -Name "ExpressRouteResourceGroup" -Location "West US").ResourceGroupName

Если у вас уже есть группа ресурсов, можно использовать Get-AzResourceGroup , чтобы получить имя группы ресурсов в переменную:

$resourceGroupName = (Get-AzResourceGroup -Name "<ResourceGroupName>").ResourceGroupName

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

В следующем примере показано, как создать два канала ExpressRoute через Equinix с локальной избыточностью в Силиконовой долине и Вашингтоне. Если вы используете другой поставщик и другие параметры, подставьте в запрос соответствующие данные.

Примечание.

В этом примере используется скрипт New-AzHighAvailabilityExpressRouteCircuits.ps1 . Чтобы создать каналы, необходимо клонировать скрипт из GitHub. Дополнительные сведения см. в разделе "Клонирование скрипта".

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
highAvailabilitySetup/New-AzHighAvailabilityExpressRouteCircuits.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName $resourceGroupName -Location "westus" -Name1 $circuit1Name -Name2 $circuit2Name -SkuFamily1 "MeteredData" -SkuFamily2 "MeteredData" -SkuTier1 "Standard" -SkuTier2 "Standard" -ServiceProviderName1 "Equinix" -ServiceProviderName2 "Equinix" -PeeringLocation1 "Silicon Valley" -PeeringLocation2 "Washington DC" -BandwidthInMbps 1000

Схема максимальной устойчивости для подключения ExpressRoute.

Примечание.

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

Убедитесь, что указаны правильный уровень SKU и семейство SKU:

  • Уровень SKU определяет ценовую категорию канала ExpressRoute: Локальный, "Стандартный" или Премиум. Вы можете указать Локальный, *"Стандартный" или Премиум.
  • Семейство SKU определяет тип выставления счетов. Выберите MeteredData для тарифного плана с оплатой за трафик или UnlimitedData для безлимитного тарифного плана. Тип выставления счетов можно изменить с MeteredData на UnlimitedData, но не с UnlimitedData на MeteredData. Для канала уровня Локальный всегда используется UnlimitedData.

Внимание

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

Ответ будет содержать ключ службы. Подробное описание всех параметров можно получить, выполнив следующую команду.

get-help New-AzExpressRouteCircuit -detailed

Получение списка всех каналов ExpressRoute

Чтобы получить список всех созданных вами каналов ExpressRoute, выполните команду Get-AzExpressRouteCircuit.

Get-AzExpressRouteCircuit

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

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  : NotProvisioned
ServiceProviderNotes              :
ServiceProviderProperties         : {
                                    "ServiceProviderName": "Equinix",
                                    "PeeringLocation": "Silicon Valley",
                                    "BandwidthInMbps": 200
                                    }
ServiceKey                        : **************************************
Peerings                          : []

Вы можете получить эти сведения в любое время с помощью командлета Get-AzExpressRouteCircuit . Если командлет вызывается без параметров, выводится список всех каналов. Ваш ключ службы показан в поле ServiceKey:

Get-AzExpressRouteCircuit

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

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 : NotProvisioned
ServiceProviderNotes             :
ServiceProviderProperties        : {
                                    "ServiceProviderName": "Equinix",
                                    "PeeringLocation": "Silicon Valley",
                                    "BandwidthInMbps": 200
                                    }
ServiceKey                       : **************************************
Peerings                         : []

Отправка ключа службы поставщику услуг подключения для подготовки

ServiceProviderProvisioningState предоставляет сведения о текущем состоянии подготовки на стороне поставщика услуг. CircuitProvisioningState предоставляет состояние на стороне Майкрософт. Дополнительные сведения о состояниях подготовки канала см. в разделе о рабочих процессах.

Вновь созданный канал ExpressRoute будет имеет следующее состояние:

ServiceProviderProvisioningState : NotProvisioned
CircuitProvisioningState         : Enabled

Когда поставщик услуг подключения находится в процессе включения, канал переходит в следующее состояние:

ServiceProviderProvisioningState : Provisioning
CircuitProvisioningState         : Enabled

Чтобы использовать канал ExpressRoute, он должен находиться в следующем состоянии:

ServiceProviderProvisioningState : Provisioned
CircuitProvisioningState         : Enabled

Периодическая проверка состояния и статуса ключа канала

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

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                         : []

Создание конфигурации маршрутизации

Пошаговые инструкции по созданию и изменению пиринга каналов см. в статье Создание и изменение маршрутизации для канала ExpressRoute.

Внимание

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

Теперь свяжите виртуальную сеть с каналом ExpressRoute. При работе с моделью развертывания Resource Manager пользуйтесь статьей Связывание виртуальной сети с каналом ExpressRoute .

Получение состояния канала ExpressRoute

Вы можете в любой момент получить эти сведения с помощью командлета Get-AzExpressRouteCircuit. Если командлет вызывается без параметров, выводится список всех каналов.

Get-AzExpressRouteCircuit

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

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                         : []

Для получения сведений об определенном канале 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                         : []

Подробное описание всех параметров можно получить, выполнив следующую команду.

get-help Get-AzExpressRouteCircuit -detailed

Изменение канала ExpressRoute

Некоторые свойства канала ExpressRoute можно изменить, не повлияв на подключение.

Вы можете выполнять следующие задачи без простоя:

  • включать и отключать надстройку ExpressRoute "Премиум" для канала ExpressRoute;
  • Увеличивать пропускную способность канала ExpressRoute, если в порту имеется доступная емкость. Снижение уровня пропускной способности канала не поддерживается.
  • Перейдите с тарифного плана с оплатой за трафик на безлимитный тарифный план. Переход с безлимитного тарифного плана на тарифный план с оплатой за трафик не поддерживается.
  • Параметр Allow Classic Operations(Разрешить классические операции) можно включать и отключать.

Дополнительные сведения об ограничениях см. в статье Вопросы и ответы по ExpressRoute.

Включение надстройки ExpressRoute "Премиум"

Вы можете включить надстройку ExpressRoute "Премиум" для существующего канала с помощью следующего фрагмента кода PowerShell:

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

$ckt.Sku.Tier = "Premium"
$ckt.sku.Name = "Premium_MeteredData"

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

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

Отключение надстройки ExpressRoute "Премиум"

Внимание

Если использовать больше ресурсов, чем разрешено для канала "Стандартный", операция может завершиться ошибкой.

Обратите внимание на следующие сведения:

  • Прежде чем переходить с канала "Премиум" на "Стандартный", убедитесь, что к каналу привязано менее 10 виртуальных сетей. Если этого не сделать, запрос на обновление завершится ошибкой и мы будем выставлять вам счета по тарифам ценовой категории "Премиум".
  • Все связи с виртуальными сетями в других геополитических регионах необходимо разорвать. Если вы не удалите ссылку, запрос на обновление завершается сбоем, и мы продолжаем выставлять счета по тарифам premium.
  • Для частного пиринга таблица маршрутов должна содержать менее 4000 маршрутов. Если таблица маршрутов содержит больше 4000 маршрутов, сеанс BGP будет сброшен. Сеанс BGP не устанавливается до тех пор, пока число объявленных префиксов не составляет 4000.

Вы можете отключить надстройку ExpressRoute "Премиум" для существующего канала с помощью следующего командлета PowerShell:

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

$ckt.Sku.Tier = "Standard"
$ckt.sku.Name = "Standard_MeteredData"

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Обновление пропускной способности канала ExpressRoute

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

Внимание

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

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

Выберите необходимый размер и используйте следующую команду для изменения размера канала:

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

$ckt.ServiceProviderProperties.BandwidthInMbps = 1000

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

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

Перевод SKU с измеряемых на неограниченные данные

Изменить SKU канала ExpressRoute можно, используя следующий фрагмент кода PowerShell:

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

$ckt.Sku.Family = "UnlimitedData"
$ckt.sku.Name = "Premium_UnlimitedData"

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Управление доступом к классической среде и среде диспетчера ресурсов

Инструкции см. в статье Перемещение каналов ExpressRoute из классической модели развертывания в модель Resource Manager.

Отзыв канала ExpressRoute

Обратите внимание на следующие сведения:

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

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

Для удаления канала ExpressRoute выполните следующую команду:

Remove-AzExpressRouteCircuit -ResourceGroupName "ExpressRouteResourceGroup" -Name "ExpressRouteARMCircuit"

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

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