Гид по технологиям

Пиринговое подключение VNet в Azure через PowerShell

4 min read Azure Обновлено 29 Oct 2025
Пиринговое подключение VNet в Azure через PowerShell
Пиринговое подключение VNet в Azure через PowerShell

Логотип Microsoft Azure

Краткие ссылки

  • Подключение виртуальных машин через пиранговые виртуальные сети

  • Демонстрация соединения пиринговых виртуальных сетей

  • Заключение

Что такое пиринг виртуальных сетей (одно предложение)

Пиринговое подключение виртуальных сетей (VNet Peering) — это механизм Azure, который объединяет две или более виртуальных сетей так, что ресурсы в них видят друг друга как находящиеся в одной сети, а трафик идет по частной сети Microsoft.

Важно: пиринг не маршрутизирует трафик через публичный интернет; он использует внутреннюю инфраструктуру Azure.

Почему использовать VNet Peering — ключевые преимущества

  • Низкая задержка и высокая пропускная способность между ресурсами в разных VNet.
  • Возможность передачи данных между подписками, тенантами и регионами (с помощью глобального пиринга).
  • Отсутствие простоев при конфигурации пиринга.

Факт-бокс: пиринг подходит, когда нужно обеспечить приватную, быструю и простую связность между разделёнными сетями при сохранении изоляции управления и политик.

Требования и определения (одно предложение каждое)

  • VNet: программно определяемая сеть в Azure со своими адресными префиксами и подсетями.
  • Пиринговое соединение: двунаправленный логический маршрут между двумя VNet.
  • Az-модуль: официальный модуль PowerShell для управления ресурсами Azure.

Подключение виртуальных машин через пиринговые виртуальные сети

В этом разделе показан рабочий пример: создаём две группы ресурсов, две виртуальные сети, две ВМ и настраиваем пиринг между сетями. Команды выполняются в PowerShell с модулем Az.

Сначала импортируйте модуль и аутентифицируйтесь:

Import-Module -Name 'Az'  
Connect-AzAccount  

Далее создадим две группы ресурсов для примера:

New-AzResourceGroup -Name 'TestLocation1' -Location "Central US"  
New-AzResourceGroup -Name 'TestLocation2' -Location "Central US"

Создание групп ресурсов для этого руководства

Перед развёртыванием ВМ создаём виртуальные сети, которые будем пиринговать:

$Params = @{  
  "Name"              = 'TestVirtualNetwork1'  
  "ResourceGroupName" = 'TestLocation1'  
  "Location"          = 'Central US'  
  "AddressPrefix"     = '10.0.0.0/16'  
  "Subnet"            = (New-AzVirtualNetworkSubnetConfig -Name 'VMSubnet' -AddressPrefix '10.0.1.0/24')  
}  
  
New-AzVirtualNetwork @Params  
$Params = @{  
  "Name"              = 'TestVirtualNetwork2'  
  "ResourceGroupName" = 'TestLocation2'  
  "Location"          = 'Central US'  
  "AddressPrefix"     = '10.1.0.0/16'  
  "Subnet"            = (New-AzVirtualNetworkSubnetConfig -Name 'VMSubnet' -AddressPrefix '10.1.1.0/24')  
}  
  
New-AzVirtualNetwork @Params  

Проверить создание VNet можно командлетом Get-AzVirtualNetwork.

Чтобы протестировать связность, создадим по одной стандартной виртуальной машине в каждой сети:

$Params = @{  
  'Name'                = 'LCWin2019-01'  
  'ResourceGroupName'   = 'TestLocation1'  
  'Location'            = 'centralus'  
  'VirtualNetworkName'  = 'TestVirtualNetwork1'  
  'SubnetName'          = 'VMSubnet'  
  'AddressPrefix'       = '10.0.1.0/24'  
  'PublicIpAddressName' = 'TestVM01PublicIP'  
  'OpenPorts'           = 3389  
  'Image'               = 'MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest'  
  'Size'                = 'Standard_D2_v3'  
  'Credential'          = $VMCredential  
}  
  
$VM1 = New-AzVM @Params  
  
$Params = @{  
  'Name'                = 'LCWin2019-02'  
  'ResourceGroupName'   = 'TestLocation2'  
  'Location'            = 'centralus'  
  'VirtualNetworkName'  = 'TestVirtualNetwork2'  
  'SubnetName'          = 'VMSubnet'  
  'AddressPrefix'       = '10.1.1.0/24'  
  'PublicIpAddressName' = 'TestVM02PublicIP'  
  'OpenPorts'           = 3389  
  'Image'               = 'MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest'  
  'Size'                = 'Standard_D2_v3'  
  'Credential'          = $VMCredential  
}  
  
$VM2 = New-AzVM @Params  

Настройка пиринга (важно — двунаправленный пиринг)

Пиринговое соединение нужно создать в обе стороны. Это даёт гибкость в маршрутизации, но часто его забывают настроить с обеих сторон.

Получаем объекты VNet и создаём пиринг:

$VNet1 = Get-AzVirtualNetwork -Name 'TestVirtualNetwork1' -ResourceGroupName 'TestLocation1'  
$VNet2 = Get-AzVirtualNetwork -Name 'TestVirtualNetwork2' -ResourceGroupName 'TestLocation2'  
  
$Params = @{  
'Name'                   = 'TestVirtualNetwork1peerTestVirtualNetwork2'  
'VirtualNetwork'         =  $VNet1  
'RemoteVirtualNetworkId' =  $VNet2.Id  
}  
  
Add-AzVirtualNetworkPeering @Params  
  
$Params = @{  
'Name'                   = 'TestVirtualNetwork2peerTestVirtualNetwork1'  
'VirtualNetwork'         =  $VNet2  
'RemoteVirtualNetworkId' =  $VNet1.Id  
}  
  
Add-AzVirtualNetworkPeering @Params  

Проверить состояние пиринга можно через Get-AzVirtualNetworkPeering.

Подтверждение создания пиринга

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

Теперь проверим связность между ВМ. Перед проверкой убедитесь, что сетевой профиль адаптера в ОС установлен как «Частная сеть», а в брандмауэре включено правило File and Printer Sharing (Echo Request - ICMPv4-In). Без этих настроек ping, даже при корректном пиринге, скорее всего не пройдёт.

Проверка настроек брандмауэра

На скриншотах видно успешную передачу ICMP-пакетов в обе стороны:

Отправка ICMP-пакетов с первой ВМ на вторую

Отправка ICMP-пакетов со второй ВМ на первую

Когда пиринг не подходит

  • Если вам нужна централизованная маршрутизация через виртуальную машину (NVA), то стоит использовать UDR (User-Defined Routes) и VPN/ExpressRoute, а не только пиринг.
  • Если требуется сегментация трафика на уровне L7 с фильтрацией — комбинируйте пиринг с сервисами безопасности или Azure Firewall.
  • Пиринговые соединения не заменяют VPN для подключения локальной сети к Azure.

Альтернативные подходы

  • VPN Gateway: для безопасного шифрования между VNet и внешними сетями.
  • Azure Virtual WAN: для централизованной сетевой архитектуры и управления несколькими подключениями.
  • ExpressRoute: для частного подключения с выделенной пропускной способностью и SLA.

Контрольный чек-лист для ролей

Администратор сети:

  • Проверил адресные диапазоны на отсутствие пересечений.
  • Настроил двунаправленный пиринг.
  • Проверил UDR и NSG — не блокируют ли они нужный трафик.

DevOps-инженер:

  • Интегрировал команды в IaC-скрипты (ARM/Bicep/Terraform/PowerShell).
  • Проверил автоматизированное создание публичных IP и правил брандмауэра.

Владелец приложения:

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

Мини-методология: быстрый план внедрения (шаги)

  1. Спроектировать адресное пространство с учётом будущего роста.
  2. Создать группы ресурсов и VNet в тестовой подписке.
  3. Развернуть ВМ/ресурсы и включить необходимые правила брандмауэра.
  4. Настроить пиринг в обе стороны и проверить Get-AzVirtualNetworkPeering.
  5. Выполнить тесты (ping, приложение) и перенести конфигурацию в прод через IaC.

Критерии приёмки

  • Пиринговые соединения созданы и видимы в выводе Get-AzVirtualNetworkPeering.
  • ВМ из разных VNet успешно обмениваются трафиком (ping/приложение).
  • NSG и UDR не препятствуют нужному трафику.
  • Документация и IaC-скрипты обновлены.

Безопасность и конфигурация брандмауэра

  • NSG по умолчанию защищает подсети; убедитесь, что правила разрешают внутренний трафик между адресными префиксами пиринга.
  • Рассмотрите Azure Firewall или NVA, если нужен централизованный инспектор трафика.

Короткий глоссарий (1 строка каждый)

  • VNet: виртуальная сеть Azure.
  • Peering: логическое соединение между двумя VNet.
  • NSG: Network Security Group — фильтрует сетевой трафик на уровне подсети или интерфейса.
  • UDR: пользовательские маршруты (User-Defined Routes).

Заключение

Пиринговые подключения VNet в Azure позволяют просто и быстро объединять изолированные виртуальные сети, сохраняя приватность и высокую пропускную способность. PowerShell и модуль Az упрощают автоматизацию процесса и интеграцию в CI/CD-пайплайны. Следуйте чек-листам, проверьте брандмауэр и помните о двунаправленном пиринге.

Важно: планируйте адресное пространство заранее и включайте проверку NSG/UDR в сценарии приёмки.


Если хотите, могу сгенерировать пример Bicep/ARM/Terraform конфигурации на основе этого сценария или добавить блок автоматических тестов для пайплайна.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Herodotus: механизм и защита Android‑трояна
Кибербезопасность

Herodotus: механизм и защита Android‑трояна

Включить новое меню «Пуск» в Windows 11
Windows руководство

Включить новое меню «Пуск» в Windows 11

Панель полей сводной таблицы в Excel — руководство
Excel

Панель полей сводной таблицы в Excel — руководство

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

История просмотров Reels в Instagram — как найти
Instagram

История просмотров Reels в Instagram — как найти