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


Как настроить пиринг подсети

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

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

Следующие ограничения применяются при использовании пиринга подсети:

  • Список разрешений подписки. Чтобы использовать эту функцию, необходимо зарегистрировать подписку, в которой требуется настроить пиринг подсети. Заполните эту форму , чтобы зарегистрировать подписку.

  • Доступность: эта функция доступна во всех регионах. Однако его можно настроить только с помощью Terraform, PowerShell, API, ИНТЕРФЕЙСА командной строки и шаблона ARM.

Предпосылки

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

  • Чтобы предоставить доступ к этой функции, зарегистрируйте подписку через процесс внесения в белый список.

Настройка пиринга подсети

  • Для этой статьи требуется версия 2.31.0 или более поздняя версия Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

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

Новые необязательные параметры

  • --peer-complete-vnet
    Выберите пиринг подсети. По умолчанию для этого параметра задано значение true, что означает, что все виртуальные сети пиринговые (все адресные пространства и подсети). Чтобы использовать пиринг подсети, задайте для этого параметра значение false.
    Принятые значения: 0, 1, f, false, n, no, t, true, y, да
    Значение по умолчанию: True

  • --local-subnet-names
    Введите имена локальных подсетей для пиринга с удаленными подсетями при условии, что пиринг подсети включен, установив параметр peer-complete-vnet на 0.

  • --remote-subnet-names
    Введите имена удаленных подсетей, которые будут подключены в одноранговом режиме к локальным подсетям при включении пиринга подсетей, установив параметр peer-complete-vnet равным 0.

  • --enable-only-ipv6
    Настройте пиринг подсети только через адресное пространство IPv6 (для двух подсетей стека). По умолчанию для этого параметра задано значение false. Пиринг выполняется по протоколу IPv4 по умолчанию. Если задано значение true, пиринг выполняется через IPv6 в двух подсетях стека.
    Принятые значения: 0, 1, f, false, n, no, t, true, y, да

az network vnet peering create --name
                               --remote-vnet
                               --resource-group
                               --vnet-name
                               [--allow-forwarded-traffic {0, 1, f, false, n, no, t, true, y, yes}]
                               [--allow-gateway-transit {0, 1, f, false, n, no, t, true, y, yes}]
                               [--allow-vnet-access {0, 1, f, false, n, no, t, true, y, yes}]
                               [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]
                               [--use-remote-gateways {0, 1, f, false, n, no, t, true, y, yes}]
	                           [--peer-complete-vnet {0, 1(default), f, false, n, no, t, true, y, yes}]
                               [--enable-only-ipv6 {0(default), 1, f, false, n, no, t, true, y, yes}]  
                               [--local-subnet-names] 
                               [--remote-subnet-names] 

  1. Используйте az group create для создания группы ресурсов с именем test-rg в расположении eastus2 .

    az group create \
        --name test-rg \
        --location eastus2
    
  2. Используйте az network vnet create для создания двух виртуальных сетей с именем vnet-1 и vnet-2.

    az network vnet create \
        --name vnet-1 \
        --resource-group test-rg \
        --location eastus2 \
        --address-prefix 10.0.0.0/16 && \
    az network vnet create \
        --name vnet-2 \
        --resource-group test-rg \
        --location eastus2 \
        --address-prefix 10.1.0.0/16
    
  3. Используйте az network vnet subnet create для создания подсети с несколькими префиксами.

    az network vnet subnet create \
    --name subnet-1 \
    --resource-group test-rg \
    --vnet-name vnet-1 \
    --address-prefix 10.0.1.0/24 && \
    az network vnet subnet create \
        --name subnet-2 \
        --resource-group test-rg \
        --vnet-name vnet-1 \
        --address-prefix 10.0.2.0/24 && \
    az network vnet subnet create \
        --name subnet-3 \
        --resource-group test-rg \
        --vnet-name vnet-2 \
        --address-prefix 10.1.1.0/24 && \
    az network vnet subnet create \
        --name subnet-4 \
        --resource-group test-rg \
        --vnet-name vnet-2 \
        --address-prefix 10.1.2.0/24
    
  4. После создания необходимых подсетей может потребоваться подключить только подсеть-1 из виртуальной сети-1 и подсеть-3 из виртуальной сети-2 вместо пиринга всей виртуальной сети. Чтобы достичь этой конфигурации, используйте необязательные параметры, описанные ранее.
    Выполните команду для создания пиринга виртуальной сети с необязательными параметрами.

    az network vnet peering create --name vnet-1_to_vnet-2
                                   --resource-group test-rg
                                   --vnet-name vnet-1
                                   --remote-vnet vnet-2
                                   --allow-forwarded-traffic 
                                   --allow-gateway-transit 
                                   --allow-vnet-access 
                                   --peer-complete-vnet false
                                   --local-subnet-names subnet-1
                                   --remote-subnet-names subnet-3
    az network vnet peering create --name vnet-2_to_vnet-1
                                   --resource-group test-rg
                                   --vnet-name vnet-2
                                   --remote-vnet vnet-1
                                   --allow-forwarded-traffic 
                                   --allow-gateway-transit 
                                   --allow-vnet-access 
                                   --peer-complete-vnet false
                                   --local-subnet-names subnet-3
                                   --remote-subnet-names subnet-1
    

    Добавление новой подсети в пиринг

    az network vnet peering update --name vnet-1_to_vnet-2
                                   --resource-group test-rg
                                   --vnet-name vnet-1
                                   --local-subnet-names subnet-1 subnet-2
    az network vnet peering update --name vnet-2_to_vnet-1
                                   --resource-group test-rg
                                   --vnet-name vnet-2
                                   --remote-subnet-names subnet-3 subnet-4
    

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

    az network vnet peering update --name vnet-1_to_vnet-2
                                   --resource-group test-rg
                                   --vnet-name vnet-1
                                   --local-subnet-names subnet-1
    az network vnet peering update --name vnet-2_to_vnet-1
                                   --resource-group test-rg
                                   --vnet-name vnet-2
                                   --remote-subnet-names subnet-3
    

    Синхронизация пирингов

    az network vnet peering sync --name vnet-1_to_vnet-2
                                 --resource-group test-rg
                                 --vnet-name vnet-1
    az network vnet peering sync --name vnet-2_to_vnet-1
                                 --resource-group test-rg
                                 --vnet-name vnet-2
    

    Показать пеиринги

    az network vnet peering show --name vnet-1_to_vnet-2
                                 --resource-group test-rg
                                 --vnet-name vnet-1
    az network vnet peering show --name vnet-2_to_vnet-1
                                 --resource-group test-rg
                                 --vnet-name vnet-2
    

Проверки и ограничения пиринговых подключений подсети

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

Схема с пирингом подсети.

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

    • Например, в пиринге виртуальной сети A и виртуальной сети C (показан на рисунке черной стрелкой) виртуальная сеть A не может устанавливать пиринговые соединения через подсети 1, 2 и 3 с любой из подсетей в виртуальной сети C, так как эти подсети виртуальной сети A принадлежат к адресному пространству 10.1.0.0/16, которое также присутствует в виртуальной сети C.
    • Однако подсеть 4 виртуальной сети A (10.0.1.0/24) может взаимодействовать по схеме одноранговой сети с подсетью 5 в виртуальной сети C (10.6.1.0/24), так как эти подсети уникальны в различных виртуальных сетях, и они принадлежат к уникальным адресным пространствам. Подсеть 4 принадлежит 10.0.0.0/16 адресного пространства в виртуальной сети А и подсети 5 принадлежит 10.6.0.0/16 в виртуальной сети C.
  2. Между двумя виртуальными сетями может быть только одна пиринговая связь. Если вы хотите добавить или удалить подсети из пиринговой ссылки, необходимо обновить ту же ссылку пиринга. Несколько эксклюзивных пиринговых соединений между набором подсетей невозможны.
    Нельзя изменить заданный тип ссылки пиринга. Если существует пиринг между виртуальной сетью A и виртуальной сетью B, и вы хотите заменить его на пиринг подсетей, необходимо удалить существующую связь и создать новый пиринг с требуемыми параметрами для пиринга подсетей. Для обратной операции выполните те же действия, чтобы перейти от пиринга подсетей к пирингу виртуальных сетей.

  3. Количество подсетей, участвующих в одной пиринговой связи, ограничено 200 на сторону (200 из локальной виртуальной сети и 200 из удаленной виртуальной сети). Кроме того, общее количество подсетей, которые могут быть объединены через все пиринговые соединения для данной виртуальной сети, не должно превышать 1000.

    • Например, в пиринговом соединении виртуальной сети A и виртуальной сети B (как показано синей стрелкой), общее количество подсетей, участвующих в пиринге из виртуальной сети A, должно быть <=200 и аналогично со стороны виртуальной сети B должно быть <= 200.
    • Общее количество подсетей на всех спицах (VNET B и VNET C), которые могут быть подключены к виртуальной сети A, должно составлять <= 1000. На диаграмме выше указано, что всего 3 (2 со стороны VNET B, 1 из стороны VNET C).
  4. В текущем выпуске (функция остается за флагом подписки), маршрут от не-пиринговой подсети к пиринговой подсети существует. В текущем сценарии существует пиринг между виртуальной сетью A и виртуальной сетью B, несмотря на то, что подсеть 2 из виртуальной сети A не является пиринговой, подсеть B по-прежнему имеет маршрут для подсети 1 и подсети 2.

    • В пиринге подсетей для виртуальной сети A и виртуальной сети B ожидается, что только подсеть 1 и подсеть 3 из виртуальной сети A будут иметь маршруты для подсети 1 и подсети 2 в удалённой виртуальной сети B. Однако подсеть 2 и подсеть 4 (из локальной виртуальной сети A, которая не пиринговая) также имеют маршруты для подсети 1 и подсети 2 на удалённой стороне (виртуальная сеть B), что означает, что непиринговые подсети могут отправлять пакеты на конечный узел в пиринговой подсети, хотя пакет отбрасывается и не достигает виртуальной машины.

    • Рекомендуется применить группы безопасности сети (NSG) к активно используемым подсетям, чтобы разрешить трафик только из подключенных подсетей и адресных пространств. Это ограничение будет снято в версии, выпущенной после общедоступного релиза.

  5. Пиринг подсетей и AVNM

    • Подключенная группа
      Если две виртуальные сети подключены в 'Подключенной группе', и если вы настроите пиринг подсети через эти две виртуальные сети, пиринг подсети имеет приоритет и подключение между не сопряженных подсетей прекращается.
    • Конфигурация подключения AVNM
      AVNM сегодня не может различать соединение между виртуальными сетями и соединение между подсетями. Если пиринг подсети существует между виртуальной сетью A и виртуальной сетью B, а затем пользователь AVNM пытается установить пиринг между виртуальной сетью A и виртуальной сетью B с помощью некоторых конфигураций подключения AVNM (концентратора и периферийного развертывания), AVNM предполагает, что пиринг между виртуальной сетью A и виртуальной сетью B уже существует и игнорирует новый запрос пиринга. Соблюдайте осторожность в таких конфликтующих сценариях при использовании пиринга AVNM и подсети.
  6. Жесткое ограничение: Если вы планируете использовать функцию в рабочей среде, вы должны использовать SKU V5 на базе Intel (5-го поколения виртуальных машин) или перейти на SKU V5 на базе AMD Genoa или Cobalt 100, чтобы избежать возможного сбоя из-за ошибки, обнаруженной в более старых поколениях SKU.

Дальнейшие действия

Пиринг подсети помогает сохранять пространство IPv4, позволяя повторно использовать адресные пространства между подсетями, которые не нужно подключать. Кроме того, он предотвращает ненужную экспозицию всего адресного пространства виртуальной сети через шлюзы в локальных средах. С помощью пиринга только IPv6 можно настроить пиринг по протоколу IPv6 только для подсетей с двумя стеками или подсетей только IPv6. Изучите эти возможности и поделитесь своими отзывами и предложениями.

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