Планирование и реализация служб Приватных каналов

Завершено

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

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

Рабочий процесс

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

Настройте приложение для работы со стандартной подсистемой балансировки нагрузки в виртуальной сети. Если вы уже настроили приложение для работы со стандартной подсистемой балансировки нагрузки, этот шаг можно пропустить.

Создайте службу «Приватный канал», ссылающуюся на подсистему балансировки нагрузки. В процессе выбора подсистемы балансировки нагрузки выберите IP-конфигурацию внешнего интерфейса для получения трафика. Выберите подсеть для IP-адресов NAT для службы «Приватный канал». Рекомендуется иметь по крайней мере восемь IP-адресов NAT в подсети. Весь трафик потребителей поступает поставщику услуг из этого пула частных IP-адресов. Выберите соответствующие свойства и параметры для службы «Приватный канал».

Предоставление общего доступа к службе

После создания службы Приватный канал Azure создаст глобально уникальный моникер с именем псевдонима на основе имени, предоставленного для службы. Вы можете совместно с клиентами использовать псевдоним или универсальный код ресурса (URI) службы в автономном режиме. Объекты-получатели могут запускать подключение по приватному каналу с помощью псевдонима или URI ресурса.

Управление запросами на подключение

После того как объект-получатель инициирует подключение, поставщик услуг может принять или отклонить запрос на подключение. Все запросы на подключение будут перечислены в свойстве privateendpointconnections в службе «Приватный канал».

Удаление службы

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

Свойства

Служба «Приватный канал» имеет следующие свойства:

Свойство Описание
Состояние подготовки (provisioningState) Свойство только для чтения, которое содержит текущее состояние подготовки для службы «Приватный канал». Применимые состояния подготовки: удаление, сбой, успешное обновление. Когда состояние подготовки выполнено успешно, вы успешно подготовили службу Приватный канал.
Псевдоним (псевдоним) Псевдоним — это глобально уникальная строка службы, доступная только для чтения. Он позволяет маскировать данные клиента в службе и в то же время создает имя службы, которое удобно использовать для общего доступа. При создании службы «Приватный канал» Azure создает псевдоним для службы, предназначенный для совместного использования с клиентами. Клиенты могут использовать этот псевдоним для запроса подключения к службе.
Видимость (visibility) Видимость — это свойство, которое управляет параметрами доступа к службе «Приватный канал». Поставщики служб могут ограничить доступ к своей службе подпискам с разрешениями управления доступом на основе ролей Azure. Ограниченный набор подписок также можно использовать для ограничения воздействия.
Автоматическое утверждение (autoApproval) Автоматическое утверждение предназначено для реализации автоматического доступа к службе «Приватный канал». Подписки, указанные в списке автоматических утверждений, утверждаются автоматически при запросе соединения от частных конечных точек в этих подписках.
Конфигурация внешнего IP-адреса подсистемы балансировки нагрузки (loadBalancerFrontendIpConfigurations) Служба «Приватный канал» привязана к IP-адресу внешнего интерфейса Load Balancer (цен. категория «Стандартный»). Весь трафик, предназначенный для службы, поступит на внешний интерфейс SLB. Можно настроить правила SLB, чтобы направить этот трафик в соответствующие серверные пулы, в которых выполняются приложения. Конфигурации IP-адресов внешнего интерфейса подсистемы балансировки нагрузки отличаются от конфигураций IP-адресов NAT.
IP-конфигурация NAT (ipConfigurations) Это свойство относится к конфигурации IP-адресов NAT (преобразование сетевых адресов) для службы «Приватный канал». IP-адрес NAT можно выбрать из любой подсети в виртуальной сети поставщика услуг. Служба «Приватный канал» выполняет преобразование NAT на стороне назначения в трафике приватного канала. Этот NAT гарантирует отсутствие конфликтов IP-адресов между исходным (потребительским) и целевым адресным пространством (поставщиком услуг). На стороне назначения или поставщика услуг IP-адрес NAT отображается в качестве исходного IP-адреса для всех пакетов, полученных службой. IP-адрес назначения отображается для всех пакетов, отправляемых службой.
Подключения к частным конечным точкам (privateEndpointConnections) Это свойство содержит список частных конечных точек, подключающихся к службе приватного канала. Несколько частных конечных точек могут подключаться к одной и той же службе приватного канала, и поставщик услуг может управлять состоянием отдельных частных конечных точек.
TCP Proxy v2 (EnableProxyProtocol) Это свойство позволяет поставщику услуг использовать TCP Proxy v2 для получения сведений о подключении объекта-получателя службы. Поставщик услуг отвечает за настройку конфигураций получателей для анализа заголовка протокола прокси-сервера версии 2.

Сведения

Доступ к службе «Приватный канал» можно получить из утвержденных частных конечных точек в любом общедоступном регионе. Частную конечную точку можно получить из одной виртуальной сети и региональных одноранговых виртуальных сетей. Частная конечная точка может быть достигнута из глобальных одноранговых виртуальных сетей и локальных сетей с помощью частных VPN-подключений или ExpressRoute.

После создания службы Приватный канал сетевой интерфейс создается для жизненного цикла ресурса. Этот интерфейс не управляется клиентом.

Служба приватного канала должна быть развернута в том же регионе, что и виртуальная сеть и Load Balancer (цен. категория «Стандартный»).

Доступ к одной службе Приватный канал можно получить из нескольких частных конечных точек, принадлежащих разным виртуальным сетям, подпискам и/или клиентам Active Directory. Соединение устанавливается в рабочем процессе подключения.

На одном Load Balancer (цен. категория «Стандартный») можно создать несколько служб приватного канала, используя разные конфигурации IP-адресов внешнего интерфейса. Существует ряд ограничений на количество служб приватного канала, которые можно создать в одном Load Balancer (цен. категория «Стандартный») и в одной подписке. Дополнительные сведения см. в разделе Ограничения сети.

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

Псевдоним

Псевдоним — это глобально уникальное имя службы. Он позволяет маскировать данные клиента в службе и в то же время создает имя службы, которое удобно использовать для общего доступа. При создании службы «Приватный канал» Azure создает псевдоним для службы, предназначенный для совместного использования с клиентами. Клиенты могут использовать этот псевдоним для запроса подключения к службе.

Псевдоним состоит из трех частей: Prefix.GUID.Suffix

  • Префикс — имя службы. Вы можете выбрать собственный префикс. После создания псевдонима вы не можете изменить его, поэтому выберите префикс соответствующим образом.
  • Уникальный идентификатор предоставляется платформой. Этот GUID (глобальный уникальный идентификатор) делает имя глобально уникальным.
  • Суффикс добавляет Azure: регион.azure.privatelinkservice
  • Полный псевдоним: префикс. {GUID}.region.azure.privatelinkservice

Контроль доступа к службе

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

  • Только управление доступом на основе ролей: если служба использует частный доступ из разных виртуальных сетей, используйте управление доступом на основе ролей в подписках, связанных с тем же клиентом Active Directory. Видимость между клиентами разрешена с помощью управления доступом на основе ролей.
  • Ограничено по подписке: если ваша служба будет использоваться в разных арендаторах, вы можете ограничить доступ ограниченным набором надежных подписок. Авторизации могут быть утверждены предварительно.
  • Любой пользователь с вашим псевдонимом: если вы хотите сделать службу общедоступной и разрешить любому пользователю с псевдонимом службы "Приватный канал" запрашивать подключение. выберите этот вариант.

Контроль доступа к службе

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

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

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

Получение сведений о подключении с помощью TCP Proxy v2

В службе приватного канала исходный IP-адрес пакетов, поступающих из частной конечной точки, — это сетевой адрес, преобразованный (NAT) на стороне поставщика услуг с помощью IP-адреса NAT, выделенного из виртуальной сети поставщика. Приложения получают выделенный IP-адрес NAT вместо фактического исходного IP-адреса потребителей служб. Если приложению нужен фактический исходный IP-адрес на стороне потребителя, можно включить протокол прокси-сервера в службе и получить сведения из заголовка протокола прокси-сервера. Кроме исходного IP-адреса, заголовок протокола прокси-сервера также содержит LinkID частной конечной точки. Сочетание исходного IP-адреса и LinkID может помочь поставщикам служб однозначно идентифицировать объектов-получателей.

Эти сведения кодируются с помощью пользовательского вектора TLV следующим образом:

Пользовательские сведения о длине типа:

Поле Длина (октеты) Description
Тип 1 PP2_TYPE_AZURE (0xEE)
Length 2 Длина значения
Значение 1 PP2_SUBTYPE_AZURE_PRIVATEENDPOINT_LINKID (0x01)
4 UINT32 (4 байта), представляющее LINKID частной конечной точки. Кодировка в формате с прямым порядком байтов.

Примечание.

Поставщик услуг обязан убедиться в том, служба, лежащая в основе стандартной подсистемы балансировки нагрузки, настроена на анализ заголовка протокола прокси-сервера согласно спецификации, если в службе приватного канала включен протокол прокси-сервера. Запрос завершится ошибкой, если в службе приватного канала включен параметр протокола прокси-сервера, но в службе поставщика служб не настроен анализ заголовка. Запрос завершится ошибкой, если служба поставщика услуг ожидает заголовок протокола прокси-сервера, но в службе приватного канала этот параметр не включен. После включения параметра протокола прокси-сервера заголовок протокола прокси-сервера также будет включен в пробы работоспособности HTTP/TCP с узла на серверные виртуальные машины. В заголовке отсутствует информация о клиенте.

Сопоставление LINKID , которое является частью протокола PROXYv2 (TLV), можно найти в PrivateEndpointConnectionкачестве свойства linkIdentifier.

Ограничения

Ниже перечислены известные ограничения для использования службы «Приватный канал»:

  • Поддерживается только в Load Balancer (цен. категория «Стандартный»). Не поддерживается в Load Balancer (цен. категория «Базовый»).
  • Поддерживается только в Load Balancer (цен. категория , где серверный пул настраивается сетевым адаптером. Не поддерживается в Load Balancer (цен. категория , где серверный пул настраивается ПО IP-адресу.
  • Поддерживает только трафик IPv4
  • Поддерживает только трафик TCP и UDP
  • Служба Приватный канал имеет тайм-аут простоя около 5 минут (300 секунд). Чтобы избежать достижения этого ограничения, приложения, подключающиеся через службу Приватный канал, должны использовать протоколы ХРАНЕНИЯ TCP ниже этого времени.