Гибридные подключения Службы приложений Azure

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

В Службе приложений гибридные подключения можно использовать для доступа к ресурсам приложения в любой сети, которая может выполнять исходящие вызовы к Azure через порт 443. Гибридные подключения предоставляют доступ из приложения к конечной точке TCP и не обеспечивают новый способ доступа к приложению. При использовании в службе приложений каждое гибридное подключение сопоставляется с одной комбинацией узла TCP и TCP-порта. Эта функция позволяет приложениям получать доступ к ресурсам в любой ОС, если это конечная точка TCP. Гибридным подключениям не важен используемый протокол приложения или ресурсы, к которым вы обращаетесь. Они просто предоставляют доступ к сети.

Как это работает

Для гибридных Подключение ions требуется развернуть агент ретрансляции, где он может достичь как нужной конечной точки, так и Azure. Агент ретрансляции, Диспетчер гибридных подключений (HCM), вызывает Azure Relay через порт 443. С сайта веб-приложения инфраструктура Службы приложений также подключается к Azure Relay от имени приложения. Через объединенные подключения приложение может получить доступ к нужной конечной точке. Это подключение использует протокол TLS 1.2 для обеспечения безопасности и ключи подписанного URL-адреса (SAS) для аутентификации и авторизации.

Diagram of Hybrid Connection high-level flow.

Когда приложение выполняет DNS-запрос, соответствующий настроенной конечной точке гибридной Подключение ion, исходящий TCP-трафик перенаправляется через гибридное Подключение.

Примечание.

Это означает, что для гибридного подключения следует всегда использовать DNS-имя. Некоторые клиентские программы не выполняют поиск DNS, если конечная точка использует IP-адрес, а не DNS-имя.

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

Существует множество преимуществ для возможностей гибридных Подключение ions, в том числе:

  • Приложения безопасно могут обращаться к локальным службам и системам.
  • Для них не требуется конечная точка с доступом к Интернету.
  • Их можно быстро и легко настроить. Шлюзы не требуются.
  • Каждое гибридное подключение соответствует отдельной комбинации "узел:порт", что удобно с точки зрения безопасности.
  • Для них обычно не требуются бреши в брандмауэре. Все подключения исходят через стандартные веб-порты.
  • Так как гибридные подключения работают на уровне сети, они не зависят ни от языка, используемого приложением, ни от технологии, используемой конечной точкой.
  • Их можно использовать для доступа к нескольким сетям из одного приложения.
  • Поддерживается в общедоступной версии для приложений Windows и приложений Linux. Они не поддерживаются для пользовательских контейнеров Windows.

Вещи, которые нельзя сделать с гибридными Подключение

В том, что нельзя сделать с гибридными Подключение, включают:

  • подключение диска;
  • использование протокола UDP;
  • доступ к службам на основе протокола TCP, использующим динамические порты (таким как пассивный режим FTP или расширенный пассивный режим FTP);
  • поддержка протокола LDAP, так как он иногда требует наличие протокола UDP;
  • Поддержка Active Directory, так как вы не можете присоединиться к домену Служба приложений рабочей роли.

Добавление и создание гибридных подключений в приложении

Чтобы создать гибридное подключение, перейдите на портал Azure и выберите свое приложение. Выберите Сети>Настройте конечные точки гибридного подключения. Здесь можно увидеть гибридные подключения, которые были настроены для приложения.

Screenshot of Hybrid Connection list.

Чтобы добавить новое гибридное подключение, нажмите кнопку [+] Добавить гибридное подключение. Вы увидите список уже созданных гибридных Подключение. Чтобы добавить одно или несколько из них в приложение, выберите соответствующие подключения, затем щелкните Добавление выбранного гибридного подключения.

Screenshot of Hybrid Connection portal.

Если вы хотите создать гибридное подключение, щелкните Создать гибридное подключение. Укажите:

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

Screenshot of Create new hybrid connection dialog box.

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

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

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

Screenshot of Hybrid connections details.

Создание гибридного подключения на портале ретранслятора Azure

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

  • требовать авторизации клиентов;
  • Укажите элемент метаданных и именованную конечную точку, содержащую сочетание host:port в качестве значения.

Гибридные подключения и планы службы приложений

Гибридные подключения к службе приложений доступны только для ценовых категорий (SKU) "Базовый", "Стандартный", "Премиум" и "Изолированный". Гибридные подключения недоступны для приложений функций в планах потребления. С каждым тарифным планом связаны определенные ограничения.

Ценовой план Количество гибридных подключений в плане
Базовая 5 на план
Стандартные 25 на план
Премиум (версия 1–3) 220 на приложение
Изолированный (версия 1–2) 220 на приложение

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

Screenshot of App Service plan properties.

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

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

Цены

Помимо требования SKU Служба приложений плана, существует дополнительная стоимость использования гибридных Подключение. Плата взимается за каждый прослушиватель, используемый гибридным подключением. Прослушиватель — это Диспетчер гибридных подключений (HCM). Если у вас пять гибридных подключений, поддерживаемых двумя Диспетчерами гибридных подключений, в результате у вас 10 прослушивателей. Дополнительные сведения см. на странице цен на служебную шину.

Hybrid Connection Manager

Для работы гибридных подключений в сети, в которой размещена конечная точка гибридного подключения, необходим агент ретрансляции. Он называется Hybrid Connection Manager (HCM). Чтобы скачать HCM из приложения на портале Azure, выберите Сети>Настройте конечные точки гибридного подключения.

Данный инструмент работает в Windows Server 2012 и более поздних версиях. HCM работает как служба и устанавливает исходящее подключение к Azure Relay на порту 443.

После установки HCM можно запустить HybridConnectionManagerUi.exe, чтобы использовать пользовательский интерфейс этого инструмента. Этот файл расположен в каталоге установки диспетчера гибридных подключений. В Windows 10 можно также просто выполнить поиск пользовательского интерфейса диспетчера гибридных подключений в поле поиска.

Screenshot of Hybrid Connection Manager.

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

Вот как можно добавить одно или несколько гибридных подключений в HCM.

  1. Запустите пользовательский интерфейс HCM.

  2. Выберите Добавить новое гибридное подключение. Screenshot of Configure New Hybrid Connections.

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

  4. Выберите подписку.

  5. Щелкните гибридные подключения, которые HCM должен транслировать. Screenshot of Hybrid Connections.

  6. Выберите Сохранить.

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

Screenshot of Hybrid Connection Details.

Чтобы HCM мог обслуживать настроенные для него гибридные подключения, ему требуется:

  • доступ к Azure по протоколу TCP через порт 443;
  • доступ к конечной точке гибридного подключения по протоколу TCP;
  • возможность поиска DNS на узле конечной точки и в пространстве имен служебной шины Azure. Иными словами, имя узла в подключении ретранслятора Azure должно быть разрешимо на компьютере, на котором размещен HCM.

Примечание.

Ретранслятор Azure использует для подключения веб-сокеты. Эта возможность доступна только в Windows Server 2012 и более поздних версиях. Поэтому HCM не поддерживается в версиях, предшествующих Windows Server 2012.

Избыточность

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

Добавление гибридного подключения вручную

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

Manually add a Hybrid Connection.

Обновление

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

Добавление гибридного подключения к приложению программным способом

Azure CLI поддерживает гибридные подключения. Предоставленные команды работают как на уровне приложения, так и на уровне плана службы приложений. Команды уровня приложения

az webapp hybrid-connection

Group
    az webapp hybrid-connection : Methods that list, add and remove hybrid-connections from webapps.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    add    : Add a hybrid-connection to a webapp.
    list   : List the hybrid-connections on a webapp.
    remove : Remove a hybrid-connection from a webapp.

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

az appservice hybrid-connection --help

Group
    az appservice hybrid-connection : A method that sets the key a hybrid-connection uses.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    set-key : Set the key that all apps in an appservice plan use to connect to the hybrid-
                connections in that appservice plan.

Защита гибридных подключений

Добавить существующее гибридное подключение в другие веб-приложения службы приложений может любой пользователь, у которого есть достаточные разрешения для ретранслятора Служебной шины Azure. Это означает, что если вы должны запретить другим пользователям повторно использовать то же гибридное Подключение ion (например, если целевой ресурс является службой, которая не имеет других мер безопасности, чтобы предотвратить несанкционированный доступ), необходимо заблокировать доступ к ретранслятору Служебная шина Azure.

Любой пользователь с Reader доступом к Ретранслятору может видеть гибридное Подключение при попытке добавить его в веб-приложение в портал Azure, но они не могут добавить его, так как они не имеют разрешений на получение строка подключения, который используется для установления подключения ретранслятора. Чтобы успешно добавить гибридное подключение, у пользователя должно быть разрешение listKeys (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). Роль Contributor или любая другая роль, включающая это разрешение на ретранслятор, позволяет пользователям использовать гибридную Подключение и добавлять ее в свои собственные веб-приложения.

Управление гибридными подключениями

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

  1. Удалите гибридное подключение из Диспетчера гибридных подключений на локальном компьютере, выбрав подключение и нажав кнопку Удалить в верхнем левом углу окна сведений о гибридном подключении.
  2. Отключите гибридное подключение от Службы приложений, перейдя по адресу Гибридные подключения на странице Сети Службы приложений.
  3. Перейдите к Ретрансляции для конечной точки, которую необходимо обновить, и выберите Гибридные подключения в разделе Сущности в меню навигации слева.
  4. Выберите гибридное подключение, которое необходимо обновить, и выберите Свойства в разделе Параметры в меню навигации слева.
  5. Внесите изменения и нажмите кнопку Сохранить изменения вверху.
  6. Вернитесь к параметрам гибридных подключений для Службы приложений и добавьте гибридное подключение еще раз. Убедитесь, что конечная точка обновлена должным образом. Если гибридное подключение не отображается в списке, обновите его через 5-10 минут.
  7. Вернитесь в Диспетчер гибридных подключений на локальном компьютере и добавьте подключение еще раз.

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

Состояние "Подключено" означает, что гибридное подключение настроено по крайней мере в одном HCM и оно позволяет подключиться к Azure. Если состояние вашего гибридного подключения не Подключено, то оно не настроено в HCM с доступом к Azure. Когда В HCM отображается "Не Подключение", есть несколько вещей для проверка:

  • У вашего узла есть исходящий доступ к Azure через порт 443? Протестируйте узел HCM с помощью команды PowerShell Test-NetConnection Destination -P Port.

  • HCM потенциально находится в неисправном состоянии? Попробуйте перезапустить локальную службу "Диспетчер гибридных подключений Azure".

  • Установлено ли у вас конфликтующее программное обеспечение? Диспетчер гибридных подключений не может сосуществовать с Biztalk Диспетчер гибридных подключений или служебная шина для Windows Server. При установке HCM все версии этих пакетов должны быть удалены сначала.

  • У вас есть брандмауэр между узлом HCM и Azure? В этом случае необходимо разрешить исходящий доступ к URL-адресу конечной точки служебная шина и шлюзам служебная шина, которые обслуживают гибридные Подключение.

    • URL-адрес конечной точки служебная шина можно найти в пользовательском интерфейсе Диспетчер гибридных подключений.

    Screenshot of Hybrid Connection Service Bus endpoint.

    • Шлюзы служебная шина — это ресурсы, которые принимают запрос в гибридную Подключение и передают его через Ретранслятор Azure. Необходимо разрешить список всех 128 шлюзов. Шлюзы находятся в формате G#-prod-[stamp]-sb.servicebus.windows.net, где "#" — это число от 0 до 127 и "метка" — это имя экземпляра в центре обработки данных Azure, где существует конечная точка служебная шина.
      • Если вы можете использовать дикую карта, можно разрешить список разрешений "*.servicebus.windows.net".

      • Если вы не можете использовать дикую карта, необходимо разрешить список всех 128 шлюзов.

        Вы можете узнать метку с помощью nslookup на URL-адресе конечной точки служебная шина.

        Screenshot of terminal showing where to find the stamp name for the Service Bus.

        В этом примере метка — sn3-010. Чтобы разрешить список шлюзов служебная шина, вам потребуется следующее:

        G0-prod-sn3-010-sb.servicebus.windows.net
        G1-prod-sn3-010-sb.servicebus.windows.net
        G2-prod-sn3-010-sb.servicebus.windows.net
        G3-prod-sn3-010-sb.servicebus.windows.net
        ...
        G126-prod-sn3-010-sb.servicebus.windows.net
        G127-prod-sn3-010-sb.servicebus.windows.net

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

  • Убедитесь, что вы используете DNS-имя в гибридном Подключение. Если вы используете IP-адрес, запрос на поиск DNS клиента может не произойти. Если клиент, работающий в веб-приложении, не выполняет поиск DNS, то гибридное Подключение ion не работает.
  • Убедитесь, что DNS-имя, используемое в гибридной Подключение ion, может разрешаться с узла HCM. Проверьте разрешение с помощью nslookup EndpointDNSname, где EndpointDNSname — точное совпадение со значением, которое используется в определении гибридного подключения.
  • Проверьте доступ с узла HCM к конечной точке с помощью команды PowerShell Test-Net Подключение ion EndpointDNNname -P Port, если вы не можете связаться с конечной точкой с узла HCM, а затем проверка брандмауэры между двумя узлами, включая брандмауэры на основе узлов на конечном узле.
  • Если вы используете Служба приложений в Linux, убедитесь, что вы не используете localhost в качестве узла конечной точки. Вместо этого используйте имя компьютера, если вы пытаетесь создать подключение к ресурсу на локальном компьютере.

В службе приложений из консоли "Дополнительные инструменты (Kudu)" можно вызвать инструмент командной строки tcpping. Этот инструмент может сообщить, имеется ли доступ к конечной точке TCP, но не сообщает, имеется ли доступ к конечной точке гибридного подключения. Используя этот инструмент в консоли для конечной точки гибридного подключения, можно только подтвердить, что оно использует сочетание "узел:порт".

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