Что такое Azure Relay?

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

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

  • Традиционная односторонняя связь, связь на основе запроса и ответа и связь в одноранговых сетях.
  • Распространение событий по сети Интернет для поддержки сценариев публикации/подписки.
  • Двунаправленный обмен данными без буферизации в пределах сети.

Служба Azure Relay отличается от технологий интеграции сетевого уровня (например, VPN). Эту службу можно использовать для одной конечной точки приложения на одном компьютере. Влияние технологии VPN гораздо сильнее, ведь она основана на изменении сетевой среды.

Базовый поток действий

Ниже приведены основные шаги передачи данных путем ретрансляции по шаблону.

  1. Локальная служба подключается к службе ретрансляции через исходящий порт.
  2. Эта служба создает сокет для двунаправленного обмена данными с привязкой к конкретному адресу.
  3. После этого клиент может обмениваться данными с локальной службой, отправляя трафик в службу ретрансляции, которая перенаправит его по нужному адресу.
  4. Затем служба ретрансляции ретранслирует данные в локальную службу через созданный двунаправленный сокет, выделенный клиенту. Клиенту не нужно настраивать прямое подключение к локальной службе. Ему не нужно знать расположение службы. При работе в локальной службе не нужно открывать в брандмауэре какие-либо входящие порты.

Функции

Ретранслятор Azure предоставляет две функции:

  • Гибридные подключения. Используются веб-сокеты на основе открытых стандартов, что обеспечивает реализацию многоплатформенных сценариев.
  • Ретрансляторы WCF. Используется Windows Communication Foundation (WCF), чтобы обеспечить возможность удаленно вызывать процедуры (RPC). Ретранслятор WCF — это устаревшее предложение для ретрансляции, которое многие клиенты уже используют в своих моделях программирования WCF.

Гибридные подключения

Функция службы Azure Relay, называемая "Гибридные подключения", представляет собой безопасный открытый протокол возможностей ретрансляции, существовавших ранее. Его можно использовать на любой платформе и на любом языке. Функция Azure Relay "Гибридные подключения" основана на протоколах HTTP и WebSocket. Она позволяет отправлять запросы и получать ответы через веб-сокеты или по протоколу HTTP(S). Эта функция совместима с API WebSocket в распространенных веб-браузерах.

Дополнительные сведения о протоколе гибридного подключения см. в этой статье. Функцию "Гибридные подключения" можно использовать в любой библиотеке веб-сокетов на любом языке и в любой среде выполнения.

Примечание.

Функция "Гибридные подключения" службы Azure Relay заменяет старую функцию гибридных подключений служб BizTalk. В службах BizTalk эта функция создана на основе Ретранслятора WCF служебной шины Azure. Возможности функции "Гибридные подключения" в службе Azure Relay дополняют функции имеющегося Ретранслятора WCF. Обе возможности этих двух служб (Ретранслятор WCF и функция "Гибридные подключения") параллельно доступны в службе Azure Relay. Они совместно используют общий шлюз, но реализуются по-разному.

Чтобы приступить к работе с функцией "Гибридные подключения" в службе Azure Relay, ознакомьтесь со следующими краткими руководствами:

Больше примеров можно найти в этом разделе на GitHub.

Ретранслятор WCF

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

Чтобы приступить к работе с Ретранслятором WCF, ознакомьтесь со следующими краткими руководствами:

Больше примеров можно найти в этом разделе на GitHub.

Гибридные подключения и Ретранслятор WCF

Функция "Гибридные подключения" и Ретранслятор WCF обеспечивают безопасное подключение к ресурсам, имеющимся в корпоративной сети. При выборе одной из этих технологий необходимо учитывать следующие потребности:

Ретранслятор WCF Гибридные подключения
WCF x
.NET Core x
.NET Framework x x
JavaScript/Node.js x
Открытый протокол на основе стандартов x
Модели программирования RPC x

Архитектура: обработка входящих запросов на ретрансляцию

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

Processing of Incoming WCF Relay Requests

  1. Прослушивающий клиент отправляет запрос на прослушивание в службу Azure Relay. Подсистема балансировки нагрузки Azure направляет запрос на один из узлов шлюза.
  2. Служба Azure Relay создает ретрансляцию в хранилище шлюза.
  3. Отправляющий клиент отправляет запрос на подключение к службе прослушивания.
  4. Шлюз, получающий запрос, ищет ретрансляцию в хранилище шлюза.
  5. Шлюз перенаправляет запрос подключения на необходимый шлюз, упомянутый в хранилище шлюза.
  6. Этот шлюз отправляет запрос прослушивающему клиенту на создание временного канала к узлу шлюза, наиболее близкого к отправляющему клиенту.
  7. Прослушивающий клиент создает временный канал к шлюзу, наиболее близкому к отправляющему клиенту. Теперь, когда между клиентами установлено подключение через шлюз, клиенты могут обмениваться сообщениями.
  8. Шлюз перенаправляет все сообщения от отправляющего клиента к прослушивающему клиенту.
  9. Шлюз перенаправляет все сообщения от отправляющего клиента к прослушивающему клиенту.

Следующие шаги

Выполните инструкции из следующих кратких руководств или ознакомьтесь с примерами для Azure Relay на GitHub.

Список часто задаваемых вопросов и ответов см. в разделе "Вопросы и ответы ретранслятора".