Создание связи ExpressRoute с виртуальной глобальной сетью — PowerShell

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

Предпосылки

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

  • У вас есть виртуальная сеть, к которой требуется подключиться. Убедитесь, что ни одна из подсетей локальных сетей не перекрывается с виртуальными сетями, к которым требуется подключиться. Сведения о создании виртуальной сети с помощью PowerShell см. в кратком руководстве.

  • Ваша виртуальная сеть не имеет никаких шлюзов. Если у виртуальной сети есть шлюз (VPN или ExpressRoute), необходимо удалить все шлюзы. Для этой конфигурации требуется, чтобы виртуальные сети были подключены вместо этого к шлюзу концентратора виртуальной глобальной сети.

  • Получите диапазон IP-адресов для вашего региона виртуального концентратора. Виртуальный концентратор — это виртуальная сеть, которая создается и используется виртуальной глобальной сетью. Диапазон адресов, указанный для виртуального концентратора, не может перекрываться с любыми существующими виртуальными сетями, к которым вы подключаетесь. Кроме того, он не может перекрываться с диапазонами адресов, которые вы используете для подключения к локальной инфраструктуре. Если вы не знакомы с диапазонами IP-адресов, расположенными в локальной конфигурации сети, обратитесь к кому-то, кто может предоставить эти сведения.

  • Следующие SKU контура ExpressRoute можно подключить к шлюзу концентратора: Локальный, Стандартный и Премиум.

  • Если у вас нет подписки Azure, создайте бесплатную учетную запись.

Azure PowerShell

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

Чтобы открыть Cloud Shell, просто выберите Open Cloudshell в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/powershell. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте их в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить код.

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

Войдите в систему.

Если вы используете Azure Cloud Shell , вы автоматически будете перенаправлены для входа в учетную запись после открытия CloudShell. Вам не нужно запускать Connect-AzAccount. После входа вы по-прежнему можете изменить подписки при необходимости с помощью Get-AzSubscription и Select-AzSubscription.

Если вы используете PowerShell локально, откройте консоль PowerShell с повышенными привилегиями и подключитесь к учетной записи Azure. Командлет Connect-AzAccount запрашивает учетные данные. После аутентификации будут скачаны параметры вашей учетной записи, чтобы они были доступны для Azure PowerShell. Вы можете изменить подписку с помощью Get-AzSubscription и Select-AzSubscription -SubscriptionName "Name of subscription".

Создание виртуальной глобальной сети

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

Новая группа ресурсов . В этом примере создается новая группа ресурсов с именем testRG в расположении "Западная часть США".

  1. Создайте группу ресурсов.

    New-AzResourceGroup -Location "West US" -Name "testRG" 
    
  2. Создайте виртуальную глобальную сеть WAN.

    $virtualWan = New-AzVirtualWan -ResourceGroupName testRG -Name myVirtualWAN -Location "West US"
    

Существующая группа ресурсов — выполните следующие действия, если вы хотите создать виртуальную глобальную сеть в уже существующей группе ресурсов.

  1. Задайте переменные для существующей группы ресурсов.

    $resourceGroup = Get-AzResourceGroup -ResourceGroupName "testRG" 
    
  2. Создайте виртуальную глобальную сеть WAN.

    $virtualWan = New-AzVirtualWan -ResourceGroupName testRG -Name myVirtualWAN -Location "West US"
    

Создание виртуального концентратора и шлюза

Используйте один из следующих примеров, чтобы создать шлюз ExpressRoute в новом или существующем виртуальном концентраторе.

Новый виртуальный концентратор . В этом примере создается виртуальный концентратор по умолчанию с именем westushub с указанным префиксом адреса и расположением для виртуального концентратора.

  1. Создание виртуального концентратора.

    $virtualHub = New-AzVirtualHub -VirtualWan $virtualWan -ResourceGroupName "testRG" -Name "westushub" -AddressPrefix "10.0.0.1/24"
    
  2. Создайте шлюз ExpressRoute. Шлюзы ExpressRoute подготавливаются в единицах 2 Гбит/с. 1 единица масштабирования = 2 Гбит/с поддержкой до 10 единиц масштабирования = 20 Гбит/с. Для полного создания виртуального концентратора и шлюза требуется около 30 минут.

    $expressroutegatewayinhub = New-AzExpressRouteGateway -ResourceGroupName "testRG" -Name "testergw" -VirtualHubId $virtualHub.Id -MinScaleUnits 2
    

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

$expressroutegatewayinhub = New-AzExpressRouteGateway -MaxScaleUnits <UInt32> -MinScaleUnits 2 -Name 'testExpressRoutegw' -ResourceGroupName 'testRG' -Tag @{"tag1"="value1"; "tag2"="value2"} -VirtualHubName "[hub Name]"

Создание схемы ExpressRoute

Следующий шаг — получить ID частного пиринга схемы ExpressRoute. Можно создать новый канал или получить идентификатор из существующего канала. Используйте один из следующих примеров.

Новый контур — в этом примере создается новый контур ExpressRoute, и получается его идентификатор частного пиринга.

$ExpressRouteCircuit = New-AzExpressRouteCircuit -ResourceGroupName "testRG" -Name "testExpressRouteCircuit" -Location "West Central US" -SkuTier Premium -SkuFamily MeteredData -ServiceProviderName "Equinix" -PeeringLocation "Silicon Valley" -BandwidthInMbps 200

Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ExpressRouteCircuit -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "123.0.0.0/30" -SecondaryPeerAddressPrefix "123.0.0.4/30" -VlanId 300

$ExpressRouteCircuit = Set-AzExpressRouteCircuit -ExpressRouteCircuit $ExpressRouteCircuit

$ExpressRouteCircuitPeeringId = $ExpressRouteCircuit.Peerings[0].Id

Существующая схема — в этом примере получены сведения и идентификатор частного пиринга из существующей схемы ExpressRoute.


$ExpressRouteCircuit = Get-AzExpressRouteCircuit -ResourceGroupName ["resource group name"] -Name ["expressroute circuit name"]

$ExpressRouteCircuitPeeringId = $ExpressRouteCircuit.Peerings[0].Id

Подключите вашу цепь к шлюзу

В этом разделе описано, как подключить канал ExpressRoute (ER) к шлюзу ExpressRoute виртуального концентратора.

Используйте один из следующих примеров для подключения схемы. Оба примера включают необязательные этапы авторизации.

Подключение — пример шлюза ER . В этом примере канал ExpressRoute, созданный ранее, подключается к шлюзу ExpressRoute виртуального концентратора ($expressroutegatewayinhub).

  1. Выполните следующую команду:

    $ExpressrouteConnection = New-AzExpressRouteConnection -ResourceGroupName $expressroutegatewayinhub.ResourceGroupName -ExpressRouteGatewayName $expressroutegatewayinhub.Name -Name "testConnection" -ExpressRouteCircuitPeeringId $ExpressRouteCircuitPeeringId -RoutingWeight 20
    

Необязательно. Подключение с помощью ключа авторизации канала ExpressRoute

  1. Создайте ключ авторизации для канала ExpressRoute. Инструкции см. в разделе "Создание авторизации".

  2. После создания авторизации получите авторизацию канала ER.

    $authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $ExpressRouteCircuit
    
  3. Получение ключа авторизации для первого ключа; используйте индекс для других ключей (т. е. [1]).

    $authorizationskey = $authorizationskey[0].AuthorizationKey
    
  4. Подключите канал ExpressRoute к виртуальному концентратору с помощью ключа авторизации.

    $ExpressrouteConnection = New-AzExpressRouteConnection -ResourceGroupName $expressroutegatewayinhub.ResourceGroupName -ExpressRouteGatewayName $expressroutegatewayinhub.Name -Name "testConnectionpowershellauthkey" -ExpressRouteCircuitPeeringId $ExpressRouteCircuitPeeringId -RoutingWeight 2 -AuthorizationKey $authprizationskey
    

Подключение — существующий шлюз ER . Действия, описанные в этом примере, помогут подключиться к существующему шлюзу ExpressRoute.

  1. Получение сведений о существующем шлюзе ExpressRoute виртуального концентратора.

    $expressroutegatewayinhub = Get-AzExpressRouteGateway -ResourceId "[ERgatewayinhubID]"
    
  2. Подключите канал ExpressRoute к шлюзу ExpressRoute виртуального концентратора.

    $ExpressrouteConnection = New-AzExpressRouteConnection -ResourceGroupName $expressroutegatewayinhub.ResourceGroupName -ExpressRouteGatewayName $expressroutegatewayinhub.Name -Name "testConnection" -ExpressRouteCircuitPeeringId $ExpressRouteCircuitPeeringId -RoutingWeight 20
    

Необязательно. Подключение с помощью ключа авторизации канала ExpressRoute.

  1. Создайте ключ авторизации для канала ExpressRoute. Инструкции см. в разделе "Создание авторизации".

  2. После создания авторизации получите авторизацию канала ER.

    $authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $ExpressRouteCircuit
    
  3. Получение ключа авторизации для первого ключа; используйте индекс для других ключей (т. е. [1]).

    $authorizationskey = $authorizationskey[0].AuthorizationKey
    
  4. Подключите канал ExpressRoute к шлюзу ExpressRoute виртуального концентратора.

    $ExpressrouteConnection = New-AzExpressRouteConnection -ResourceGroupName $expressroutegatewayinhub.ResourceGroupName -ExpressRouteGatewayName $expressroutegatewayinhub.Name -Name "testConnectionpowershellauthkey" -ExpressRouteCircuitPeeringId $ExpressRouteCircuitPeeringId -RoutingWeight 2 -AuthorizationKey $authprizationskey
    

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

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

Изменение размера шлюза

В следующем примере шлюз ExpressRoute изменяется на другую единицу масштабирования (3 единицы масштабирования).

Set-AzExpressRouteGateway -ResourceGroupName "testRG" -Name "testergw" -MinScaleUnits 3

Дальнейшие шаги

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