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


Настройка интеграции виртуальной сети, необходимой для шлюза

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

Интеграция с виртуальной сетью на базе шлюза:

  • позволяет приложению в один момент времени подключаться только к одной виртуальной сети;
  • позволяет интегрировать до пяти виртуальных сетей в рамках плана службы приложений;
  • позволяет нескольким приложениям использовать одну виртуальную сеть в рамках плана службы приложений, не влияя на общее количество, доступное плану службы приложений (если у вас шесть приложений используют одну виртуальную сеть в рамках одного плана службы приложений, считается, что вы используете одну виртуальную сеть);
  • позволяет соглашению об уровне обслуживания на шлюзе влиять на общее соглашение об уровне обслуживания;
  • позволяет вашим приложениям использовать параметры DNS, настроенные для виртуальной сети;
  • требует настройки сети VPN "точка — сеть" на базе SSTP для шлюза на основе маршрутов перед подключением к приложению.

Вы не можете использовать интеграцию с виртуальной сети на базе шлюза:

  • с виртуальной сетью, подключенной к ExpressRoute;
  • для приложений Linux;
  • для контейнеров Windows;
  • для доступа к защищенным ресурсам конечной точки службы;
  • для разрешения параметров приложений, ссылающихся на защищенный сетью Key Vault;
  • в режиме сосуществования со шлюзом, который поддерживает как ExpressRoute, так и VPN типа "точка — сеть" или "сеть — сеть".

Интеграция региональной виртуальной сети устраняет указанные выше упоминание ограничения.

Настройка шлюза в виртуальной сети Azure

Создание шлюза:

  1. Создайте VPN-шлюз и подсеть. Выберите тип сети VPN на основе маршрутов.

  2. Задайте адреса для подключения "точка — сеть". Если шлюз не входит в базовый SKU, то в конфигурации подключения "точка — сеть" необходимо отключить IKEV2 и выбрать SSTP. Диапазон адресов подключения "точка — сеть" должен находиться в блоках адресов RFC 1918 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16.

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

Как работает интеграция с виртуальной сетью на базе шлюза

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

Diagram that shows how gateway-required virtual network integration works.

Доступ к локальным ресурсам

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

Маршруты BGP из локальной среды не будут передаваться в Службу приложений автоматически. Их необходимо вручную передать в конфигурации "точка — сеть", выполнив действия, описанные в документе Объявление пользовательских маршрутов для VPN-клиентов P2S.

Примечание.

Функция интеграции виртуальной сети на базе шлюза не интегрирует приложение с виртуальной сетью, имеющей шлюз ExpressRoute. Даже если шлюз ExpressRoute настроен в режиме сосуществования, функция интеграции c виртуальной сетью работать не будет. Если требуется получить доступ к ресурсам через соединение ExpressRoute, используйте интеграцию с региональной виртуальной сетью или Среду службы приложений, которая работает в виртуальной сети.

Пиринг

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

  1. Добавьте пиринговое подключение в виртуальную сеть, к которой подключается приложение. Добавляя пиринговое подключение, включите параметр Разрешить доступ к виртуальным сетям, а также установите флажки Разрешить перенаправленный трафик и Разрешить транзит шлюзов.
  2. Добавьте пиринговое подключение в виртуальной сети, соединенной посредством пиринга с той виртуальной сетью, к которой вы подключены. Добавляя пиринговое подключение к целевой виртуальной сети, включите параметр Разрешить доступ к виртуальным сетям, а также установите флажки Разрешить перенаправленный трафик и Разрешить удаленные шлюзы.
  3. Перейдите в раздел План службы приложений>Сеть>Интеграция виртуальной сети на портале. Выберите виртуальную сеть, к которой подключается приложение. В разделе маршрутизации добавьте диапазон адресов виртуальной сети, для которой установлен пиринг с виртуальной сетью, к которой подключается ваше приложение.

Управление интеграцией с виртуальной сетью

Подключение к виртуальной сети и отключение от нее совершается на уровне приложений. Операции, которые могут повлиять на интеграцию нескольких приложений с виртуальной сетью, выполняются на уровне плана службы приложений. Открыв в приложении раздел >Сеть>Интеграция виртуальной сети, вы можете просмотреть подробные сведения о своей виртуальной сети. Аналогичную информацию можно увидеть на уровне плана службы приложений в разделе План службы приложений>Сеть>Интеграция виртуальной сети.

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

В пользовательском интерфейсе "Интеграция с виртуальной сетью" плана службы приложений показаны все интеграции с виртуальными сетями, которые ваши приложения используют в рамках вашего плана службы приложений. Чтобы просмотреть сведения о той или иной виртуальной сети, выберите ее. Для интеграции с виртуальной сетью на базе шлюза в этом интерфейсе можно выполнить две операции:

  • Синхронизировать сеть. Операция синхронизации сети используется только при интеграции с виртуальной сетью на базе шлюза. Эта операция гарантирует, что сертификаты и сведения о сети будут синхронизированы. Если вы добавите или измените DNS виртуальной сети, необходимо выполнить операцию "Синхронизировать сеть". При ее выполнении перезапускаются все приложения, которые используют данную виртуальную сеть. Эта операция не работает для приложения и виртуальной сети, которые относятся к разным подпискам.
  • Добавить маршруты. При добавлении маршрутов исходящий трафик направляется в вашу виртуальную сеть.

Частный IP-адрес, назначенный экземпляру, предоставляется через переменную среды WEBSITE_PRIVATE_IP. В пользовательском интерфейсе консоли Kudu также отображается список переменных среды, доступных для веб-приложения. Этот IP-адрес является IP-адресом из диапазона адресов типа "точка — сеть", настроенного на шлюзе виртуальной сети. Это IP-адрес веб-приложение будет использовать для подключения к ресурсам через виртуальную сеть Azure.

Примечание.

Значение WEBSITE_PRIVATE_IP привязано к изменению. Однако он будет IP-адресом в диапазоне адресов типа "точка — сеть", поэтому вам потребуется разрешить доступ из всего диапазона адресов.

Маршрутизация интеграции с виртуальной сетью на базе шлюза

Маршруты, определенные в виртуальной сети, используются для направления трафика в виртуальную сеть из вашего приложения. Если вам нужно отправлять в виртуальную сеть дополнительный исходящий трафик, добавьте здесь соответствующие блоки адресов. Эта функция поддерживается только при интеграции с виртуальной сетью на базе шлюза. Таблицы маршрутизации не влияют на трафик приложения при использовании интеграции виртуальной сети, необходимой для шлюза.

Сертификаты интеграции с виртуальной сетью на базе шлюза

После включения интеграции с виртуальной сетью на базе шлюза необходимо произвести обмен сертификатами, который позволяет обеспечить безопасность соединения. Одновременно с сертификатами передаются конфигурация DNS, маршруты и другая полезная информация о сети.

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

Обновление сертификатов

Сертификат, используемый интеграцией виртуальной сети, необходимой для шлюза, имеет срок действия 8 лет. Если у вас есть приложения с интеграцией виртуальных сетей, необходимых для шлюза, которые живут дольше, потребуется продлить сертификат. Вы можете проверить, истек ли срок действия сертификата или срок действия менее 6 месяцев, перейдя на страницу интеграции с виртуальной сетью в портал Azure.

Screenshot that shows a near expiry gateway-required virtual network integration certificate.

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

Сведения о тарифах

С интеграцией с виртуальной сетью на базе шлюза связано три вида дополнительных расходов:

  • Расходы в рамках ценовой категории плана службы приложений. Приложение должно относиться к одному из следующих планов службы приложений: "Базовый", "Стандартный", "Премиум", "Премиум v2" или "Премиум v3". Дополнительные сведения об этих ценах см. в разделе Цены для Службы приложений.
  • Расходы, связанные с передачей данных. За исходящий трафик взимается плата, даже если виртуальная сеть находится в том же центре обработки данных. Эти тарифы описаны в сведениях о ценах за передачу данных.
  • Стоимость VPN-шлюза: для VPN-подключения типа "точка — сеть" требуется стоимость шлюза виртуальной сети. Дополнительные сведения см. на странице цен на VPN-шлюз.

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

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

  • Брандмауэр блокирует доступ. Если используется брандмауэр, может быть превышено время ожидания для протокола TCP. В нашем случае это 21 секунда. Проверьте подключение с помощью средства tcpping. Время ожидания для протокола TCP может быть превышено и по многим другим причинам, но начать стоит именно с этой.
  • Служба DNS недоступна. Время ожидания для DNS составляет 3 секунды на каждый DNS-сервер. Если у вас два DNS-сервера, то время ожидания составляет 6 секунд. Используйте средство nameresolver для проверки работы DNS. Инструмент nslookup нельзя использовать, так как он игнорирует настройки DNS для виртуальной сети. Если DNS-сервер недоступен, возможно, что он либо заблокирован брандмауэром или NSG, либо не работает.

Если эти рекомендации не помогут вам решить проблему, проверьте еще несколько факторов:

  • Находится ли диапазон адресов "точка — сеть" в диапазонах, предусмотренных требованиями RFC 1918 (10.0.0.0-10.255.255.255 / 172.16.0.0-172.31.255.255 / 192.168.0.0-192.168.255.255)?
  • Отображается ли на портале шлюз как работающий? Если шлюз не работает, восстановите его работоспособность.
  • Отображаются ли сертификаты как синхронизированные или можно предположить, что конфигурация сети была изменена? Если сертификаты не синхронизированы или вы предполагаете, что в конфигурацию виртуальной сети были внесены изменения, не синхронизированные с планами ASP, выберите Синхронизировать сеть.
  • Если вы работаете через VPN, настроена ли на вашем локальном шлюзе обратная маршрутизация трафика для Azure? Если к конечным точкам в виртуальной сети вы можете получить доступ, а в локальной среде нет, то следует проверить настройку маршрутов.
  • Вы используете шлюз с реализацией совместной работы, поддерживающий сразу два таких варианта, как "точка — сеть" и ExpressRoute? Шлюзы с режимом сосуществования не поддерживаются при интеграции с виртуальной сетью.

Отладка сетевых проблем является сложной задачей, так как не видно, что блокирует доступ к определенной комбинации "узел: порт". К некоторым причинам относятся следующие:

  • На узле запущен брандмауэр, который блокирует доступ к порту приложения для диапазона IP-адресов "точка — сеть". Для реализации подключения между подсетями часто требуется разрешить общий доступ.
  • Целевой узел не работает.
  • Приложение не работает.
  • Указан неверный IP-адрес или неверное имя узла.
  • Приложение ожидает передачи данных не по тому порту, который предполагается. Вы можете сопоставить ИД процесса с портом прослушивания при помощи команды "netstat -aon" в узле конечной точки.
  • Группы безопасности сети настроены на блокирование доступа к узлу и порту приложения для диапазона IP-адресов "точка — сеть".

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

Можно выполнить дополнительные действия по отладке:

  • Войдите на виртуальную машину в вашей виртуальной сети и попробуйте из нее обратиться к нужной комбинации "узел: порт". Чтобы проверить доступ TCP, используйте команду PowerShell Test-NetConnection. Синтаксис:
Test-NetConnection hostname [optional: -Port]
  • Откройте приложение на виртуальной машине и проверьте из консоли приложения доступ к узлу и порту с помощью инструмента tcpping.

Локальные ресурсы

Если приложение не может перейти к ресурсу локально, проверьте, можно ли перейти к ресурсу через виртуальную сеть. Чтобы проверить доступ по протоколу TCP, используйте команду PowerShell Test-NetConnection. Если виртуальная машина не может подключиться к локальному ресурсу, возможно, неправильно настроено подключение VPN или ExpressRoute.

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

  • Не настроена маршрутизация для подсети или для диапазонов адресов подключений "точка — сеть" в локальном шлюзе.
  • Группы безопасности сети блокируют доступ к диапазону IP-адресов подключений "точка — сеть".
  • Локальные брандмауэры блокируют трафик из диапазона IP-адресов подключений "точка — сеть".
  • Вы пытаетесь обратиться к адресу, не соответствующему требованиям RFC 1918, используя возможности интеграции с региональной виртуальной сетью.

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