Настройка подключения VPN-шлюза между виртуальными сетями с помощью PowerShellConfigure a VNet-to-VNet VPN gateway connection using PowerShell

Эта статья поможет установить подключение "виртуальная сеть — виртуальная сеть" между виртуальными сетями.This article helps you connect virtual networks by using the VNet-to-VNet connection type. Виртуальные сети могут относиться к одному или разным регионам и к одной или разным подпискам.The virtual networks can be in the same or different regions, and from the same or different subscriptions. При подключении виртуальных сетей из разных подписок подписки не обязательно должны быть связаны с одним и тем же клиентом Active Directory.When connecting VNets from different subscriptions, the subscriptions do not need to be associated with the same Active Directory tenant.

Приведенные в этой статье инструкции относятся к модели развертывания с помощью Resource Manager и PowerShell.The steps in this article apply to the Resource Manager deployment model and use PowerShell. Эту конфигурацию также можно создать с помощью разных средств или моделей развертывания, выбрав вариант из следующего списка:You can also create this configuration using a different deployment tool or deployment model by selecting a different option from the following list:

Сведения о подключении виртуальных сетейAbout connecting VNets

Подключить виртуальные сети можно несколькими способами.There are multiple ways to connect VNets. В следующих разделах описаны различные способы подключения виртуальных сетей.The sections below describe different ways to connect virtual networks.

Виртуальная сеть — виртуальная сетьVNet-to-VNet

Чтобы легко подключать виртуальные сети, рекомендуем настроить подключение "виртуальная сеть — виртуальная сеть".Configuring a VNet-to-VNet connection is a good way to easily connect VNets. Подключение "виртуальная сеть — виртуальная сеть" (VNet2VNet) между виртуальными сетями похоже на создание подключения "сеть — сеть" (IPsec) к локальному расположению.Connecting a virtual network to another virtual network using the VNet-to-VNet connection type (VNet2VNet) is similar to creating a Site-to-Site IPsec connection to an on-premises location. В обоих типах подключений применяется VPN-шлюз для создания защищенного туннеля, использующего IPsec/IKE. При обмене данными оба типа подключений работают одинаково.Both connectivity types use a VPN gateway to provide a secure tunnel using IPsec/IKE, and both function the same way when communicating. Различие между этими типами заключается в способе настройки шлюза локальной сети.The difference between the connection types is the way the local network gateway is configured. При создании подключения "виртуальная сеть — виртуальная сеть" диапазон адресов для шлюза локальной сети не отображается.When you create a VNet-to-VNet connection, you do not see the local network gateway address space. Он создается и заполняется автоматически.It is automatically created and populated. Если вы обновите диапазон адресов для одной виртуальной сети, другая виртуальная сеть автоматически определит маршрут к обновленному диапазону адресов.If you update the address space for one VNet, the other VNet automatically knows to route to the updated address space. Как правило, намного проще и быстрее создать подключение "виртуальная сеть — виртуальная сеть", чем подключение "сеть — сеть" между виртуальными сетями.Creating a VNet-to-VNet connection is typically faster and easier than creating a Site-to-Site connection between VNets.

Подключение "сеть — сеть" (IPsec)Site-to-Site (IPsec)

При работе со сложной конфигурацией сети можно подключить виртуальные сети с помощью подключения сеть — сеть, а не "виртуальная сеть — виртуальная сеть".If you are working with a complicated network configuration, you may prefer to connect your VNets using the Site-to-Site steps, instead the VNet-to-VNet steps. Используя подключение "сеть — сеть", вы вручную создаете и настраиваете локальные сетевые шлюзы.When you use the Site-to-Site steps, you create and configure the local network gateways manually. Шлюз локальной сети для каждой виртуальной сети воспринимает другую виртуальную сеть как локальный сайт.The local network gateway for each VNet treats the other VNet as a local site. Это позволит вам указать дополнительный диапазон адресов для шлюза локальной сети, чтобы маршрутизировать трафик.This lets you specify additional address space for the local network gateway in order to route traffic. Если диапазон адресов для виртуальной сети изменится, вам потребуется обновить соответствующий шлюз локальной сети, чтобы отразить эти изменения.If the address space for a VNet changes, you need to update the corresponding local network gateway to reflect the change. Он не обновляется автоматически.It does not automatically update.

Пиринг VNetVNet peering

Вы можете подключить виртуальные сети с помощью пиринга виртуальных сетей.You may want to consider connecting your VNets using VNet Peering. При пиринге виртуальных сетей не используется VPN-шлюз и применяются другие ограничения.VNet peering does not use a VPN gateway and has different constraints. Кроме того, цены на пиринг виртуальных сетей рассчитываются не так, как цены на VPN-шлюз "виртуальная сеть — виртуальная сеть".Additionally, VNet peering pricing is calculated differently than VNet-to-VNet VPN Gateway pricing. Дополнительную информацию см. в статье Пиринговая связь между виртуальными сетями.For more information, see VNet peering.

Зачем создавать подключение "виртуальная сеть — виртуальная сеть"Why create a VNet-to-VNet connection?

Возможно, вам потребуется подключить виртуальные сети с помощью подключения "виртуальная сеть — виртуальная сеть" по следующим причинам.You may want to connect virtual networks using a VNet-to-VNet connection for the following reasons:

  • Межрегиональная географическая избыточность и географическое присутствиеCross region geo-redundancy and geo-presence

    • Вы можете настроить собственную георепликацию или синхронизацию с безопасной связью без прохождения трафика через конечные точки с выходом в Интернет.You can set up your own geo-replication or synchronization with secure connectivity without going over Internet-facing endpoints.
    • С помощью Azure Load Balancer и диспетчера трафика можно настроить высокодоступную рабочую нагрузку с геоизбыточностью в нескольких регионах Azure.With Azure Traffic Manager and Load Balancer, you can set up highly available workload with geo-redundancy across multiple Azure regions. Одним из важных примеров является настройка SQL Always On с группами доступности, распределенными между несколькими регионами Azure.One important example is to set up SQL Always On with Availability Groups spreading across multiple Azure regions.
  • Региональные многоуровневые приложения с изоляцией или административной границейRegional multi-tier applications with isolation or administrative boundary

    • В одном регионе можно настроить многоуровневые приложения с несколькими виртуальными сетями, которые связаны друг с другом из-за требований к изоляции или административных требований.Within the same region, you can set up multi-tier applications with multiple virtual networks connected together due to isolation or administrative requirements.

Подключение типа "виртуальная сеть — виртуальная сеть" можно комбинировать с многосайтовыми конфигурациями.VNet-to-VNet communication can be combined with multi-site configurations. Это позволяет настраивать топологии сети, совмещающие распределенные подключения с подключениями между виртуальными сетями.This lets you establish network topologies that combine cross-premises connectivity with inter-virtual network connectivity.

Какие действия по созданию подключения "виртуальная сеть — виртуальная сеть" следует использовать?Which VNet-to-VNet steps should I use?

В этой статье приведены два разных набора действий.In this article, you see two different sets of steps. Один предназначен для виртуальных сетей в одной подписке, а другой — для виртуальных сетей в разных подписках.One set of steps for VNets that reside in the same subscription and one for VNets that reside in different subscriptions. Основное различие между этими наборами заключается том, что во втором случае вам нужно использовать отдельные сеансы PowerShell при настройке подключений к виртуальным сетям, которые принадлежат к разным подпискам.The key difference between the sets is that you must use separate PowerShell sessions when configuring the connections for VNets that reside in different subscriptions.

Для этого вы можете объединить конфигурации или выбрать ту, с которой предпочитаете работать.For this exercise, you can combine configurations, or just choose the one that you want to work with. Во всех конфигурациях используется подключение "виртуальная сеть — виртуальная сеть".All of the configurations use the VNet-to-VNet connection type. Сетевой трафик передается между виртуальными сетями, которые напрямую подключены друг к другу.Network traffic flows between the VNets that are directly connected to each other. В этом руководстве трафик не перенаправляется из TestVNet4 в TestVNet5.In this exercise, traffic from TestVNet4 does not route to TestVNet5.

Подключение виртуальных сетей из одной подпискиHow to connect VNets that are in the same subscription

Перед началом работыBefore you begin

Примечание

Эта статья была изменена и теперь содержит сведения о новом модуле Az для Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Вы по-прежнему можете использовать модуль AzureRM, исправления ошибок для которого будут продолжать выпускаться как минимум до декабря 2020 г.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Дополнительные сведения о совместимости модуля Az с AzureRM см. в статье Introducing the new Azure PowerShell Az module (Знакомство с новым модулем Az для Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Инструкции по установке модуля Az см. в статье об установке Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

  • Так как создание шлюза занимает до 45 минут, время ожидания в Azure Cloud Shell периодически истекает в этом руководстве.Because it takes up to 45 minutes to create a gateway, Azure Cloud Shell will timeout periodically during this exercise. Вы можете перезапустить Cloud Shell, щелкнув в левом верхнем углу терминала.You can restart Cloud Shell by clicking in the upper left of the terminal. Обязательно повторно объявите любые переменные при перезапуске терминала.Be sure to redeclare any variables when you restart the terminal.

  • Если вы предпочитаете устанавливать последнюю версию модуля Azure PowerShell локально, см. статью Общие сведения об Azure PowerShell.If you would rather install latest version of the Azure PowerShell module locally, see How to install and configure Azure PowerShell.

Шаг 1. Планирование диапазонов IP-адресовStep 1 - Plan your IP address ranges

Далее мы создадим две виртуальные сети с соответствующими конфигурациями и подсетями шлюзов.In the following steps, you create two virtual networks along with their respective gateway subnets and configurations. Затем мы создадим VPN-подключение между двумя виртуальными сетями.You then create a VPN connection between the two VNets. В конфигурации сети важно задать диапазоны IP-адресов.It’s important to plan the IP address ranges for your network configuration. Имейте в виду, необходимо убедиться в том, что ни один из диапазонов виртуальных сетей или диапазонов локальных сетей никак не перекрываются.Keep in mind that you must make sure that none of your VNet ranges or local network ranges overlap in any way. В этих примерах мы не включаем DNS-сервер.In these examples, we do not include a DNS server. Сведения о разрешении имен виртуальных машин см. в этой статье.If you want name resolution for your virtual networks, see Name resolution.

В примерах мы используем следующие значения:We use the following values in the examples:

Значения для TestVNet1:Values for TestVNet1:

  • Имя виртуальной сети: TestVNet1VNet Name: TestVNet1
  • Группа ресурсов: TestRG1Resource Group: TestRG1
  • Расположение: East USLocation: East US
  • TestVNet1: 10.11.0.0/16 и 10.12.0.0/16TestVNet1: 10.11.0.0/16 & 10.12.0.0/16
  • Внешний интерфейс: 10.11.0.0/24FrontEnd: 10.11.0.0/24
  • Серверная часть: 10.12.0.0/24BackEnd: 10.12.0.0/24
  • Подсеть шлюза: 10.12.255.0/27GatewaySubnet: 10.12.255.0/27
  • Имя шлюза: VNet1GWGatewayName: VNet1GW
  • Общедоступный IP-адрес: VNet1GWIPPublic IP: VNet1GWIP
  • Тип VPN: RouteBasedVPNType: RouteBased
  • Подключение (1–4): VNet1toVNet4Connection(1to4): VNet1toVNet4
  • Подключение (1–5): VNet1toVNet5 (для виртуальных сетей в разных подписках)Connection(1to5): VNet1toVNet5 (For VNets in different subscriptions)
  • Тип подключения: VNet2VNetConnectionType: VNet2VNet

Значения для TestVNet4:Values for TestVNet4:

  • Имя виртуальной сети: TestVNet4VNet Name: TestVNet4
  • TestVNet2: 10.41.0.0/16 и 10.42.0.0/16TestVNet2: 10.41.0.0/16 & 10.42.0.0/16
  • Внешний интерфейс: 10.41.0.0/24FrontEnd: 10.41.0.0/24
  • Серверная часть: 10.42.0.0/24BackEnd: 10.42.0.0/24
  • Подсеть шлюза: 10.42.255.0/27GatewaySubnet: 10.42.255.0/27
  • Группа ресурсов: TestRG4Resource Group: TestRG4
  • Расположение: Западная часть СШАLocation: West US
  • Имя шлюза: VNet4GWGatewayName: VNet4GW
  • Общедоступный IP-адрес: VNet4GWIPPublic IP: VNet4GWIP
  • Тип VPN: RouteBasedVPNType: RouteBased
  • Подключение: VNet4toVNet1Connection: VNet4toVNet1
  • Тип подключения: VNet2VNetConnectionType: VNet2VNet

Шаг 2. Создание и настройка TestVNet1Step 2 - Create and configure TestVNet1

  1. Проверьте параметры подписки.Verify your subscription settings.

    Подключитесь к своей учетной записи, если вы используете PowerShell локально на компьютере.Connect to your account if you are running PowerShell locally on your computer. Если вы используете Azure Cloud Shell, подключение произойдет автоматически.If you are using Azure Cloud Shell, you are connected automatically.

    Connect-AzAccount
    

    Просмотрите подписки учетной записи.Check the subscriptions for the account.

    Get-AzSubscription
    

    При наличии нескольких подписок укажите подписку, которую вы хотите использовать.If you have more than one subscription, specify the subscription that you want to use.

    Select-AzSubscription -SubscriptionName nameofsubscription
    
  2. Объявите переменные.Declare your variables. В этом примере объявлены переменные со значениями для этого упражнения.This example declares the variables using the values for this exercise. В большинстве случаев эти значения вам нужно заменить собственными.In most cases, you should replace the values with your own. Но вы можете использовать указанные переменные, чтобы ознакомиться с этим типом конфигурации.However, you can use these variables if you are running through the steps to become familiar with this type of configuration. Измените переменные (при необходимости), а затем скопируйте и вставьте их в консоль PowerShell.Modify the variables if needed, then copy and paste them into your PowerShell console.

    $RG1 = "TestRG1"
    $Location1 = "East US"
    $VNetName1 = "TestVNet1"
    $FESubName1 = "FrontEnd"
    $BESubName1 = "Backend"
    $VNetPrefix11 = "10.11.0.0/16"
    $VNetPrefix12 = "10.12.0.0/16"
    $FESubPrefix1 = "10.11.0.0/24"
    $BESubPrefix1 = "10.12.0.0/24"
    $GWSubPrefix1 = "10.12.255.0/27"
    $GWName1 = "VNet1GW"
    $GWIPName1 = "VNet1GWIP"
    $GWIPconfName1 = "gwipconf1"
    $Connection14 = "VNet1toVNet4"
    $Connection15 = "VNet1toVNet5"
    
  3. Создайте группу ресурсов.Create a resource group.

    New-AzResourceGroup -Name $RG1 -Location $Location1
    
  4. Создайте конфигурации подсети для TestVNet1.Create the subnet configurations for TestVNet1. В этом примере создается виртуальная сеть с именем TestVNet1 и три подсети: GatewaySubnet, FrontEnd и Backend.This example creates a virtual network named TestVNet1 and three subnets, one called GatewaySubnet, one called FrontEnd, and one called Backend. При замене значений важно, чтобы вы назвали подсеть шлюза именем GatewaySubnet.When substituting values, it's important that you always name your gateway subnet specifically GatewaySubnet. Если вы используете другое имя, создание шлюза завершится сбоем.If you name it something else, your gateway creation fails. По этой причине она не назначается с помощью переменной ниже.For this reason, it is not assigned via variable below.

    В следующем примере используются переменные, заданные ранее.The following example uses the variables that you set earlier. В этом примере в подсети шлюза используется длина префикса /27.In this example, the gateway subnet is using a /27. Хотя можно создать подсеть шлюза размером /29, рекомендуется создать подсеть большего размера, включающую несколько адресов, выбрав по крайней мере значение /28 или /27.While it is possible to create a gateway subnet as small as /29, we recommend that you create a larger subnet that includes more addresses by selecting at least /28 or /27. Таким образом, у вас будет достаточно адресов, чтобы добавить дополнительные конфигурации в будущем.This will allow for enough addresses to accommodate possible additional configurations that you may want in the future.

    $fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
    $besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
    $gwsub1 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix1
    
  5. Создайте TestVNet1.Create TestVNet1.

    New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 `
    -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1
    
  6. Запросите выделение общедоступного IP-адреса для шлюза, который будет создан для виртуальной сети.Request a public IP address to be allocated to the gateway you will create for your VNet. Учтите, что параметр AllocationMethod является динамическим.Notice that the AllocationMethod is Dynamic. Указать необходимый IP-адрес нельзя.You cannot specify the IP address that you want to use. Он выделяется для шлюза динамически.It's dynamically allocated to your gateway.

    $gwpip1 = New-AzPublicIpAddress -Name $GWIPName1 -ResourceGroupName $RG1 `
    -Location $Location1 -AllocationMethod Dynamic
    
  7. Создайте конфигурацию шлюза.Create the gateway configuration. Конфигурация шлюза определяет используемые подсеть и общедоступный IP-адрес.The gateway configuration defines the subnet and the public IP address to use. Используйте следующий пример, чтобы создать конфигурацию шлюза.Use the example to create your gateway configuration.

    $vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
    $subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
    $gwipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName1 `
    -Subnet $subnet1 -PublicIpAddress $gwpip1
    
  8. Создайте шлюз для TestVNet1.Create the gateway for TestVNet1. На этом шаге вы создадите шлюз для виртуальной сети TestVNet1.In this step, you create the virtual network gateway for your TestVNet1. Для подключений типа VNet-to-VNet необходимо использовать тип VPN RouteBased.VNet-to-VNet configurations require a RouteBased VpnType. Создание шлюза часто занимает 45 минут и более, в зависимости от выбранного SKU шлюза.Creating a gateway can often take 45 minutes or more, depending on the selected gateway SKU.

    New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 `
    -Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn `
    -VpnType RouteBased -GatewaySku VpnGw1
    

После создания команды, создание этого шлюза займет до 45 минут.After you finish the commands, it will take up to 45 minutes to create this gateway. Если вы используете Azure Cloud Shell, вы можете перезапустить сеанс CloudShell, нажав кнопку в верхнем левом углу терминала Cloud Shell, а затем настроить TestVNet4.If you are using Azure Cloud Shell, you can restart your CloudShell session by clicking in the upper left of the Cloud Shell terminal, then configure TestVNet4. Нет необходимости ждать завершения шлюза TestVNet1.You don't need to wait until the TestVNet1 gateway completes.

Шаг 3. Создание и настройка TestVNet4Step 3 - Create and configure TestVNet4

После настройки TestVNet1 создайте TestVNet4.Once you've configured TestVNet1, create TestVNet4. Следуйте инструкциям ниже, заменив при необходимости значения своими.Follow the steps below, replacing the values with your own when needed.

  1. Подключите и объявите переменные.Connect and declare your variables. Не забудьте заменить значения теми, которые вы хотите использовать для конфигурации.Be sure to replace the values with the ones that you want to use for your configuration.

    $RG4 = "TestRG4"
    $Location4 = "West US"
    $VnetName4 = "TestVNet4"
    $FESubName4 = "FrontEnd"
    $BESubName4 = "Backend"
    $VnetPrefix41 = "10.41.0.0/16"
    $VnetPrefix42 = "10.42.0.0/16"
    $FESubPrefix4 = "10.41.0.0/24"
    $BESubPrefix4 = "10.42.0.0/24"
    $GWSubPrefix4 = "10.42.255.0/27"
    $GWName4 = "VNet4GW"
    $GWIPName4 = "VNet4GWIP"
    $GWIPconfName4 = "gwipconf4"
    $Connection41 = "VNet4toVNet1"
    
  2. Создайте группу ресурсов.Create a resource group.

    New-AzResourceGroup -Name $RG4 -Location $Location4
    
  3. Создайте конфигурации подсети для TestVNet4.Create the subnet configurations for TestVNet4.

    $fesub4 = New-AzVirtualNetworkSubnetConfig -Name $FESubName4 -AddressPrefix $FESubPrefix4
    $besub4 = New-AzVirtualNetworkSubnetConfig -Name $BESubName4 -AddressPrefix $BESubPrefix4
    $gwsub4 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix4
    
  4. Создайте TestVNet4.Create TestVNet4.

    New-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4 `
    -Location $Location4 -AddressPrefix $VnetPrefix41,$VnetPrefix42 -Subnet $fesub4,$besub4,$gwsub4
    
  5. Запросите общедоступный IP-адрес.Request a public IP address.

    $gwpip4 = New-AzPublicIpAddress -Name $GWIPName4 -ResourceGroupName $RG4 `
    -Location $Location4 -AllocationMethod Dynamic
    
  6. Создайте конфигурацию шлюза.Create the gateway configuration.

    $vnet4 = Get-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4
    $subnet4 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet4
    $gwipconf4 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName4 -Subnet $subnet4 -PublicIpAddress $gwpip4
    
  7. Создание шлюза TestVNet4Create the TestVNet4 gateway. Создание шлюза часто занимает 45 минут и более, в зависимости от выбранного SKU шлюза.Creating a gateway can often take 45 minutes or more, depending on the selected gateway SKU.

    New-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4 `
    -Location $Location4 -IpConfigurations $gwipconf4 -GatewayType Vpn `
    -VpnType RouteBased -GatewaySku VpnGw1
    

Шаг 4. Создание подключенийStep 4 - Create the connections

Подождите, пока создание обоих шлюзов будет завершено.Wait until both gateways are completed. Перезапустите сеанс Azure Cloud Shell, скопируйте и вставьте переменные с начала шага 2 и шага 3 в консоль, чтобы повторно объявить значения.Restart your Azure Cloud Shell session and copy and paste the variables from the beginning of Step 2 and Step 3 into the console to redeclare values.

  1. Получите оба шлюза для виртуальных сетей.Get both virtual network gateways.

    $vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
    $vnet4gw = Get-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4
    
  2. Создайте подключение между TestVNet1 и TestVNet4.Create the TestVNet1 to TestVNet4 connection. На этом шаге вы создадите подключение между TestVNet1 и TestVNet4.In this step, you create the connection from TestVNet1 to TestVNet4. Вы увидите ссылки на общий ключ в примерах.You'll see a shared key referenced in the examples. Можно использовать собственные значения для общего ключа.You can use your own values for the shared key. Важно, чтобы общий ключ в обоих подключениях был одинаковым.The important thing is that the shared key must match for both connections. Создание подключения может занять некоторое время.Creating a connection can take a short while to complete.

    New-AzVirtualNetworkGatewayConnection -Name $Connection14 -ResourceGroupName $RG1 `
    -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet4gw -Location $Location1 `
    -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  3. Создайте подключение между TestVNet4 и TestVNet1.Create the TestVNet4 to TestVNet1 connection. Этот шаг аналогичен приведенному выше, за исключением того, что создается подключение из сети TestVNet4 в сеть TestVNet1.This step is similar to the one above, except you are creating the connection from TestVNet4 to TestVNet1. Убедитесь, что общие ключи совпадают.Make sure the shared keys match. Подключение установится через несколько минут.The connection will be established after a few minutes.

    New-AzVirtualNetworkGatewayConnection -Name $Connection41 -ResourceGroupName $RG4 `
    -VirtualNetworkGateway1 $vnet4gw -VirtualNetworkGateway2 $vnet1gw -Location $Location4 `
    -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  4. Проверьте подключение.Verify your connection. См. раздел о проверке подключения.See the section How to verify your connection.

Подключение виртуальных сетей из разных подписокHow to connect VNets that are in different subscriptions

В этом сценарии мы создадим подключение между TestVNet1 и TestVNet5.In this scenario, you connect TestVNet1 and TestVNet5. TestVNet1 и TestVNet5 находятся в разных подписках.TestVNet1 and TestVNet5 reside in different subscriptions. Подписки не обязательно должны быть связаны с одним и тем же клиентом Active Directory.The subscriptions do not need to be associated with the same Active Directory tenant.

Разница между этими действиями и предыдущими заключается в том, что часть настройки нужно выполнить в отдельном сеансе PowerShell в контексте второй подписки,The difference between these steps and the previous set is that some of the configuration steps need to be performed in a separate PowerShell session in the context of the second subscription. особенно если две подписки используются разными организациями.Especially when the two subscriptions belong to different organizations.

Благодаря изменению контекста подписки в этом руководстве, вам может показаться, что использование PowerShell локально на компьютере намного проще, чем использование Azure Cloud Shell, при переходе на шаг 8.Due to changing subscription context in this exercise, you may find it easier to use PowerShell locally on your computer, rather than using the Azure Cloud Shell, when you get to Step 8.

Шаг 5. Создание и настройка TestVNet1Step 5 - Create and configure TestVNet1

Чтобы создать и настроить сеть TestVNet1 и VPN-шлюз для нее, необходимо выполнить шаг 1 и шаг 2 из предыдущего раздела.You must complete Step 1 and Step 2 from the previous section to create and configure TestVNet1 and the VPN Gateway for TestVNet1. В этой конфигурации не нужно создавать TestVNet4 из предыдущего раздела. Но если вы создадите эту виртуальную сеть, она не помешает при выполнении этих шагов.For this configuration, you are not required to create TestVNet4 from the previous section, although if you do create it, it will not conflict with these steps. Выполнив шаг 1 и 2, перейдите к шагу 6, чтобы создать сеть TestVNet5.Once you complete Step 1 and Step 2, continue with Step 6 to create TestVNet5.

Шаг 6. Проверка диапазонов IP-адресовStep 6 - Verify the IP address ranges

Важно проследить, чтобы пространство IP-адресов для новой виртуальной сети TestVNet5 не пересекалось с диапазонами других виртуальных сетей или диапазонами шлюзов локальной сети.It is important to make sure that the IP address space of the new virtual network, TestVNet5, does not overlap with any of your VNet ranges or local network gateway ranges. В этом примере виртуальные сети могут принадлежать разным организациям.In this example, the virtual networks may belong to different organizations. В этом упражнении используйте следующие значения для сети TestVNet5.For this exercise, you can use the following values for the TestVNet5:

Значения для TestVNet5:Values for TestVNet5:

  • Имя виртуальной сети: TestVNet5VNet Name: TestVNet5
  • Группа ресурсов: TestRG5Resource Group: TestRG5
  • Расположение: Восточная ЯпонияLocation: Japan East
  • TestVNet5: 10.51.0.0/16 и 10.52.0.0/16TestVNet5: 10.51.0.0/16 & 10.52.0.0/16
  • Внешний интерфейс: 10.51.0.0/24FrontEnd: 10.51.0.0/24
  • Серверная часть: 10.52.0.0/24BackEnd: 10.52.0.0/24
  • Подсеть шлюза: 10.52.255.0.0/27GatewaySubnet: 10.52.255.0.0/27
  • Имя шлюза: VNet5GWGatewayName: VNet5GW
  • Общедоступный IP-адрес: VNet5GWIPPublic IP: VNet5GWIP
  • Тип VPN: RouteBasedVPNType: RouteBased
  • Подключение: VNet5toVNet1Connection: VNet5toVNet1
  • Тип подключения: VNet2VNetConnectionType: VNet2VNet

Шаг 7. Создание и настройка TestVNet5Step 7 - Create and configure TestVNet5

Это действие необходимо выполнить в контексте новой подписки.This step must be done in the context of the new subscription. Эту часть может выполнить администратор в другой организации, которой принадлежит подписка.This part may be performed by the administrator in a different organization that owns the subscription.

  1. Объявите переменные.Declare your variables. Не забудьте заменить значения теми, которые вы хотите использовать для конфигурации.Be sure to replace the values with the ones that you want to use for your configuration.

    $Sub5 = "Replace_With_the_New_Subscription_Name"
    $RG5 = "TestRG5"
    $Location5 = "Japan East"
    $VnetName5 = "TestVNet5"
    $FESubName5 = "FrontEnd"
    $BESubName5 = "Backend"
    $GWSubName5 = "GatewaySubnet"
    $VnetPrefix51 = "10.51.0.0/16"
    $VnetPrefix52 = "10.52.0.0/16"
    $FESubPrefix5 = "10.51.0.0/24"
    $BESubPrefix5 = "10.52.0.0/24"
    $GWSubPrefix5 = "10.52.255.0/27"
    $GWName5 = "VNet5GW"
    $GWIPName5 = "VNet5GWIP"
    $GWIPconfName5 = "gwipconf5"
    $Connection51 = "VNet5toVNet1"
    
  2. Подключитесь к подписке 5.Connect to subscription 5. Откройте консоль PowerShell и подключитесь к своей учетной записи.Open your PowerShell console and connect to your account. Для подключения используйте следующий пример.Use the following sample to help you connect:

    Connect-AzAccount
    

    Просмотрите подписки учетной записи.Check the subscriptions for the account.

    Get-AzSubscription
    

    Укажите подписку, которую нужно использовать.Specify the subscription that you want to use.

    Select-AzSubscription -SubscriptionName $Sub5
    
  3. Создайте новую группу ресурсов.Create a new resource group.

    New-AzResourceGroup -Name $RG5 -Location $Location5
    
  4. Создайте конфигурации подсети для TestVNet5.Create the subnet configurations for TestVNet5.

    $fesub5 = New-AzVirtualNetworkSubnetConfig -Name $FESubName5 -AddressPrefix $FESubPrefix5
    $besub5 = New-AzVirtualNetworkSubnetConfig -Name $BESubName5 -AddressPrefix $BESubPrefix5
    $gwsub5 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName5 -AddressPrefix $GWSubPrefix5
    
  5. Создайте TestVNet5.Create TestVNet5.

    New-AzVirtualNetwork -Name $VnetName5 -ResourceGroupName $RG5 -Location $Location5 `
    -AddressPrefix $VnetPrefix51,$VnetPrefix52 -Subnet $fesub5,$besub5,$gwsub5
    
  6. Запросите общедоступный IP-адрес.Request a public IP address.

    $gwpip5 = New-AzPublicIpAddress -Name $GWIPName5 -ResourceGroupName $RG5 `
    -Location $Location5 -AllocationMethod Dynamic
    
  7. Создайте конфигурацию шлюза.Create the gateway configuration.

    $vnet5 = Get-AzVirtualNetwork -Name $VnetName5 -ResourceGroupName $RG5
    $subnet5  = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet5
    $gwipconf5 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName5 -Subnet $subnet5 -PublicIpAddress $gwpip5
    
  8. Создайте шлюз TestVNet5.Create the TestVNet5 gateway.

    New-AzVirtualNetworkGateway -Name $GWName5 -ResourceGroupName $RG5 -Location $Location5 `
    -IpConfigurations $gwipconf5 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1
    

Шаг 8. Создание подключенийStep 8 - Create the connections

Так как шлюзы из нашего примера находятся в разных подписках, мы разделили этот шаг на два сеанса PowerShell, обозначенные как [подписка 1] и [подписка 5].In this example, because the gateways are in the different subscriptions, we've split this step into two PowerShell sessions marked as [Subscription 1] and [Subscription 5].

  1. [Подписка 1] . Получите шлюз виртуальной сети для подписки 1[Subscription 1] Get the virtual network gateway for Subscription 1. Войдите в систему и подключитесь к подписке 1, а затем выполните указанную ниже команду.Sign in and connect to Subscription 1 before running the following example:

    $vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
    

    Скопируйте выходные данные следующих элементов и отправьте их администратору подписки 5 по электронной почте или другим способом.Copy the output of the following elements and send these to the administrator of Subscription 5 via email or another method.

    $vnet1gw.Name
    $vnet1gw.Id
    

    Эти два элемента будут иметь значения, похожие на выходные данные в нашем примере:These two elements will have values similar to the following example output:

    PS D:\> $vnet1gw.Name
    VNet1GW
    PS D:\> $vnet1gw.Id
    /subscriptions/b636ca99-6f88-4df4-a7c3-2f8dc4545509/resourceGroupsTestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW
    
  2. [Подписка 5] . Получите шлюз виртуальной сети для подписки 5.[Subscription 5] Get the virtual network gateway for Subscription 5. Войдите в систему и подключитесь к подписке 5, а затем выполните указанную ниже команду.Sign in and connect to Subscription 5 before running the following example:

    $vnet5gw = Get-AzVirtualNetworkGateway -Name $GWName5 -ResourceGroupName $RG5
    

    Скопируйте выходные данные следующих элементов и отправьте их администратору подписки 1 по электронной почте или другим способом.Copy the output of the following elements and send these to the administrator of Subscription 1 via email or another method.

    $vnet5gw.Name
    $vnet5gw.Id
    

    Эти два элемента будут иметь значения, похожие на выходные данные в нашем примере:These two elements will have values similar to the following example output:

    PS C:\> $vnet5gw.Name
    VNet5GW
    PS C:\> $vnet5gw.Id
    /subscriptions/66c8e4f1-ecd6-47ed-9de7-7e530de23994/resourceGroups/TestRG5/providers/Microsoft.Network/virtualNetworkGateways/VNet5GW
    
  3. [Подписка 1] . Создайте подключение между TestVNet1 и TestVNet5.[Subscription 1] Create the TestVNet1 to TestVNet5 connection. На этом шаге вы создадите подключение между TestVNet1 и TestVNet5.In this step, you create the connection from TestVNet1 to TestVNet5. Разница здесь заключается в том, что вы не можете напрямую получить $vnet5gw, так как это значение используется в другой подписке.The difference here is that $vnet5gw cannot be obtained directly because it is in a different subscription. Вам необходимо создать новый объект PowerShell с помощью значений, переданных из подписки 1 на предыдущих этапах.You will need to create a new PowerShell object with the values communicated from Subscription 1 in the steps above. Используйте пример ниже.Use the example below. Замените имя, идентификатор и общий ключ своими значениями.Replace the Name, Id, and shared key with your own values. Важно, чтобы общий ключ в обоих подключениях был одинаковым.The important thing is that the shared key must match for both connections. Создание подключения может занять некоторое время.Creating a connection can take a short while to complete.

    Подключитесь к подписке 1, а затем выполните следующую команду:Connect to Subscription 1 before running the following example:

    $vnet5gw = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
    $vnet5gw.Name = "VNet5GW"
    $vnet5gw.Id   = "/subscriptions/66c8e4f1-ecd6-47ed-9de7-7e530de23994/resourceGroups/TestRG5/providers/Microsoft.Network/virtualNetworkGateways/VNet5GW"
    $Connection15 = "VNet1toVNet5"
    New-AzVirtualNetworkGatewayConnection -Name $Connection15 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet5gw -Location $Location1 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  4. [Подписка 5] . Создайте подключение между TestVNet5 и TestVNet1.[Subscription 5] Create the TestVNet5 to TestVNet1 connection. Этот шаг аналогичен приведенному выше, за исключением того, что создается подключение из сети TestVNet5 в сеть TestVNet1.This step is similar to the one above, except you are creating the connection from TestVNet5 to TestVNet1. На этом шаге процесс создания объекта PowerShell аналогичный, но с использованием значений, полученных из подписки 1.The same process of creating a PowerShell object based on the values obtained from Subscription 1 applies here as well. Проследите на этом шаге, чтобы общие ключи совпадали.In this step, be sure that the shared keys match.

    Подключитесь к подписке 5, а затем выполните следующую команду:Connect to Subscription 5 before running the following example:

    $vnet1gw = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
    $vnet1gw.Name = "VNet1GW"
    $vnet1gw.Id = "/subscriptions/b636ca99-6f88-4df4-a7c3-2f8dc4545509/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW "
    $Connection51 = "VNet5toVNet1"
    New-AzVirtualNetworkGatewayConnection -Name $Connection51 -ResourceGroupName $RG5 -VirtualNetworkGateway1 $vnet5gw -VirtualNetworkGateway2 $vnet1gw -Location $Location5 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    

Проверка подключенияHow to verify a connection

Важно!

При работе с подсетями шлюза не связывайте группу безопасности сети (NSG) с подсетью шлюза.When working with gateway subnets, avoid associating a network security group (NSG) to the gateway subnet. Связывание группы безопасности сети (NSG) с этой подсетью приведет к тому, что VPN-шлюз перестанет правильно функционировать.Associating a network security group to this subnet may cause your VPN gateway to stop functioning as expected. Дополнительные сведения о группах безопасности сети см. в статье Группа безопасности сети.For more information about network security groups, see What is a network security group?

Убедиться в успешном выполнении подключения можно с помощью командлета Get-AzVirtualNetworkGatewayConnection с параметром -Debug или без него.You can verify that your connection succeeded by using the 'Get-AzVirtualNetworkGatewayConnection' cmdlet, with or without '-Debug'.

  1. Используйте командлет из следующего примера, подставив свои значения.Use the following cmdlet example, configuring the values to match your own. При появлении запроса выберите "A", чтобы выполнить команду All (Все).If prompted, select 'A' in order to run 'All'. В примере параметр --name — это имя подключения, которое требуется проверить.In the example, '-Name' refers to the name of the connection that you want to test.

    Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
    
  2. После завершения работы командлета просмотрите результаты.After the cmdlet has finished, view the values. В следующем примере показано, что подключение установлено (состояние "Подключено"), а также указан объем полученных и отправленных данных в байтах.In the example below, the connection status shows as 'Connected' and you can see ingress and egress bytes.

    "connectionStatus": "Connected",
    "ingressBytesTransferred": 33509044,
    "egressBytesTransferred": 4142431
    

Часто задаваемые вопросы о подключениях типа "виртуальная сеть — виртуальная сеть"VNet-to-VNet FAQ

Сведения из раздела "Часто задаваемые вопросы о подключениях типа "виртуальная сеть – виртуальная сеть" применяются к соединениям VPN-шлюза.The VNet-to-VNet FAQ applies to VPN gateway connections. Подробнее о пиринге виртуальной сети см. в разделе Пиринг виртуальной сети.For information about VNet peering, see Virtual network peering.

Взимает ли Azure плату за трафик между виртуальными сетями?Does Azure charge for traffic between VNets?

Трафик между виртуальными сетями в одном регионе предоставляется бесплатно в обоих направлениях при использовании подключения через VPN-шлюз.VNet-to-VNet traffic within the same region is free for both directions when you use a VPN gateway connection. Межрегиональный исходящий трафик между виртуальными сетями оплачивается с учетом внешней скорости передачи данных в зависимости от исходных регионов.Cross-region VNet-to-VNet egress traffic is charged with the outbound inter-VNet data transfer rates based on the source regions. Дополнительные сведения см. на Странице цен на VPN-шлюз.For more information, see VPN Gateway pricing page. При подключении с помощью пиринговой связи между виртуальными сетями, а не VPN-шлюза см. Страницу цен на виртуальные сети.If you're connecting your VNets by using VNet peering instead of a VPN gateway, see Virtual network pricing.

Трафик между виртуальными сетями проходит через Интернет?Does VNet-to-VNet traffic travel across the internet?

No. Трафик между виртуальными сетями проходит через магистральную сеть Microsoft Azure, а не через Интернет.VNet-to-VNet traffic travels across the Microsoft Azure backbone, not the internet.

Можно ли установить подключение "виртуальная сеть – виртуальная сеть" между клиентами Azure Active Directory (AAD)?Can I establish a VNet-to-VNet connection across Azure Active Directory (AAD) tenants?

Да, подключения "виртуальная сеть – виртуальная сеть" с использованием VPN-шлюзов Azure работают между клиентами AAD.Yes, VNet-to-VNet connections that use Azure VPN gateways work across AAD tenants.

Защищен ли трафик между двумя виртуальными сетями?Is VNet-to-VNet traffic secure?

Да. Он защищен шифрованием IPsec/IKE.Yes, it's protected by IPsec/IKE encryption.

Требуется ли VPN-устройство для подключения виртуальных сетей друг к другу?Do I need a VPN device to connect VNets together?

No. Для подключения нескольких виртуальных сетей Azure друг к другу не нужно VPN-устройство, если только не требуется распределенное подключение.Connecting multiple Azure virtual networks together doesn't require a VPN device unless cross-premises connectivity is required.

Должны ли мои виртуальные сети находиться в одном регионе?Do my VNets need to be in the same region?

No. Виртуальные сети могут быть в одном или разных регионах (расположениях) Azure.The virtual networks can be in the same or different Azure regions (locations).

Если виртуальные сети находятся в разных подписках, нужно ли связывать подписки с одним клиентом Active Directory?If the VNets aren't in the same subscription, do the subscriptions need to be associated with the same Active Directory tenant?

No.

Можно ли использовать подключение между виртуальными сетями для виртуальных сетей в разных экземплярах Azure?Can I use VNet-to-VNet to connect virtual networks in separate Azure instances?

No. Подключения между виртуальными сетями поддерживаются только в пределах одного экземпляра Azure.VNet-to-VNet supports connecting virtual networks within the same Azure instance. Например, невозможно создать подключение между общедоступным облаком Azure и экземплярами Azure для государственных организаций Китая, Германии или США.For example, you can’t create a connection between global Azure and Chinese/German/US government Azure instances. В этих сценариях рекомендуется использовать VPN-подключение типа "сеть – сеть".Consider using a Site-to-Site VPN connection for these scenarios.

Можно ли одновременно использовать подключение типа "виртуальная сеть — виртуальная сеть" и многосайтовые подключения?Can I use VNet-to-VNet along with multi-site connections?

Да.Yes. Подключение к виртуальной сети можно использовать одновременно с многосайтовыми VPN-подключениями.Virtual network connectivity can be used simultaneously with multi-site VPNs.

К какому количеству локальных сайтов и виртуальных сетей может подключаться одна виртуальная сеть?How many on-premises sites and virtual networks can one virtual network connect to?

См. таблицу Требования к шлюзу.See the Gateway requirements table.

Можно ли использовать подключение типа "виртуальная сеть — виртуальная сеть" для подключения виртуальных машин или облачных служб за пределами виртуальной сети?Can I use VNet-to-VNet to connect VMs or cloud services outside of a VNet?

No. Подключения между виртуальными сетями поддерживают подключение нескольких виртуальных сетей.VNet-to-VNet supports connecting virtual networks. Не поддерживается подключение виртуальных машин или облачных служб, размещенных не в виртуальной сети.It doesn't support connecting virtual machines or cloud services that aren't in a virtual network.

Может ли облачная служба или конечная точка балансировки нагрузки охватывать несколько виртуальных сетей?Can a cloud service or a load-balancing endpoint span VNets?

No. Облачная служба или конечная точка балансировки нагрузки не может распространяться на виртуальные сети, даже если они соединены друг с другом.A cloud service or a load-balancing endpoint can't span across virtual networks, even if they're connected together.

Можно ли использовать VPN типа PolicyBased для подключений типа "виртуальная сеть – виртуальная сеть" и многосайтовых подключений?Can I use a PolicyBased VPN type for VNet-to-VNet or Multi-Site connections?

No. Для подключений типа "виртуальная сеть – виртуальная сеть" и многосайтовых подключений необходимы VPN-шлюзы Azure с VPN типа RouteBased (этот тип раньше назывался динамической маршрутизацией).VNet-to-VNet and Multi-Site connections require Azure VPN gateways with RouteBased (previously called dynamic routing) VPN types.

Могу ли я подключить виртуальную сеть с типом VPN RouteBased к другой виртуальной сети с типом VPN PolicyBased?Can I connect a VNet with a RouteBased VPN Type to another VNet with a PolicyBased VPN type?

Нет, обе виртуальные сети ДОЛЖНЫ использовать VPN-шлюзы на основе маршрутов (этот тип раньше назывался динамической маршрутизацией).No, both virtual networks MUST use route-based (previously called dynamic routing) VPNs.

Используют ли VPN-туннели пропускную способность совместно?Do VPN tunnels share bandwidth?

Да.Yes. Все туннели VPN виртуальной сети совместно используют доступную пропускную способность VPN-шлюза Azure и одно соглашение об уровне обслуживания VPN-шлюзов в Azure.All VPN tunnels of the virtual network share the available bandwidth on the Azure VPN gateway and the same VPN gateway uptime SLA in Azure.

Поддерживаются ли избыточные туннели?Are redundant tunnels supported?

Если один шлюз виртуальной сети работает в режиме "активный — активный", между парой виртуальных сетей поддерживаются избыточные туннели.Redundant tunnels between a pair of virtual networks are supported when one virtual network gateway is configured as active-active.

Могут ли перекрываться адресные пространства для конфигураций типа "виртуальная сеть — виртуальная сеть"?Can I have overlapping address spaces for VNet-to-VNet configurations?

No. Нельзя, чтобы диапазоны IP-адресов перекрывались.You can't have overlapping IP address ranges.

Существуют ли пересекающиеся адресные пространства между подключенными виртуальными сетями и локальными сайтами?Can there be overlapping address spaces among connected virtual networks and on-premises local sites?

No. Нельзя, чтобы диапазоны IP-адресов перекрывались.You can't have overlapping IP address ranges.

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