Планирование и реализация служб Приватных каналов
Служба Приватный канал Azure — это ссылка на вашу собственную службу, которая работает на базе приватного канала Azure. Служба, выполняющаяся на Load Balancer (цен. категория «Стандартный») 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 ниже этого времени.