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


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

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

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

Эта функция позволяет приложениям получать доступ к ресурсам в любой операционной системе, если это конечная точка TCP. Функция гибридных подключений не распознаёт и не учитывает протокол приложения или ресурсы, к которым вы получаете доступ. Они просто предоставляют доступ к сети.

Принцип работы

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

Схема высокоуровневого потока гибридного подключения.

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

Примечание.

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

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

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

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

Действия, которые нельзя сделать с гибридными подключениями

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

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

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

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

  1. В портал Azure выберите свое приложение. Щелкните Параметры>Сети.

  2. Рядом с гибридными подключениями выберите ссылку "Не настроено ". Здесь можно увидеть гибридные подключения, которые были настроены для приложения.

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

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

    Снимок экрана: страница гибридного подключения, на которой можно добавить подключение.

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

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

Снимок экрана: диалоговое окно

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

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

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

Снимок экрана: подробности гибридных подключений.

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

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

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

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

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

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

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

Снимок экрана свойств плана App Service.

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

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

Цены

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

Hybrid Connection Manager

Примечание.

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

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

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

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

Снимок экрана: Диспетчер гибридных подключений.

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

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

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

  2. Выберите Добавить новое гибридное подключение.

    Снимок экрана: настройка новых гибридных подключений.

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

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

  5. Выберите гибридные подключения, которые HCM должен передавать.

    Снимок экрана: подключения в диспетчере гибридных подключений.

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

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

Снимок экрана: сведения о гибридном подключении.

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

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

Примечание.

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

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

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

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

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

Снимок экрана: диалоговое окно, в котором вы вручную добавляете гибридное подключение.

Обновление

Для Диспетчера гибридных подключений выпускаются периодические обновления, предназначенные для устранения проблем или предоставления улучшений. При выпуске обновлений диалоговое окно отображается в пользовательском интерфейсе 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 Service Bus, может добавить существующее гибридное подключение для этого ретранслятора к другим веб-приложениям в Azure App Service. Чтобы запретить другим пользователям повторно использовать то же гибридное подключение, заблокируйте доступ к ретранслятору Azure Service Bus. Эта ситуация может произойти, когда целевой ресурс является службой, которая не имеет других мер безопасности, чтобы предотвратить несанкционированный доступ.

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

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

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

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

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

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

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

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

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

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

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

      Снимок экрана конечной точки гибридного подключения Service Bus.

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

    • Если можно использовать подстановочный знак, список разрешений *.servicebus.windows.net.

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

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

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

      В этом примере метка имеет значение 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, то гибридное подключение не работает.
  • Убедитесь, что DNS-имя, используемое в гибридном подключении, может разрешаться с узла HCM. Проверьте разрешение с помощью nslookup EndpointDNSname, где EndpointDNSname — точное совпадение со значением, которое используется в определении гибридного подключения.
  • Тестирование доступа с узла HCM к конечной точке с помощью команды Test-NetConnection EndpointDNSname -P PortPowerShell. Если вы не можете связаться с конечной точкой с узла HCM, проверьте брандмауэры между двумя узлами, включая брандмауэры на основе узлов на конечном узле.
  • Если вы используете Служба приложений в Linux, убедитесь, что вы не используете localhost в качестве узла конечной точки. Вместо этого используйте имя компьютера, если вы пытаетесь создать подключение к ресурсу на локальном компьютере.

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

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