Создание и настройка gRPC-ресурсов

Описание создания и настройки gRPC-ресурсов

gRPC — это высокопроизводительный фреймворк, разработанный для вызов удаленных процедур (от англ. Remote Procedure Call), работает поверх HTTP/2. gRPC-ресурс является аналогом веб-ресурса, но с возможностью поддержки одноимённого фреймворка.
Прим.: gRPC-ресурс может быть привязан к HTTP-порталу у которого активен параметр Use HTTP/2 .
  1. Откройте страницу конфигурации в кластере:
    Clusters > <Имя кластера> > All configuration затем выберите нужную конфигурацию кликнув на наименовании.


  2. Перейдите на вкладку Resources и создайте новый gRPC-ресурс: кнопка gRPC resource.


  3. Введите основные параметры защищаемого ресурса. Описание возможных настроек для Web-ресурса указано в таблице:
    Наименование Пример значения Описание

    Enabled

    / Опция показа доступности ресурса на портале

    Name

    gRPC-resource Название ресурса, которое будет отображаться в конфигурации (доступны любые символы unicode)

    Description

    Описание ресурса Описание ресурса в конфигурации (доступны любые символы unicode)

    Suffix

    • / – если данный ресурс будет использоваться в качестве единственного на портале (параметр Single WEB/gRPC-Resource активен в настройках портала), то в данном поле нужно проставить просто слеш
    Часть URL-ресурса, которую будут использовать пользователи для обращения к данному ресурсу
    Важное замечание: Может содержать только буквенно-цифровые символы и символы «/», «-», «_», «.»

    Remote resource URI

    • grpc://
    • grpcs://
    example.com : 443
    Протокол, адрес или имя хоста, к которому будет производиться доступ, и порт
    Прим.: Обратите внимание, что «:» уже есть в форме URI
  4. Установите балансировку бэкендов. Нажмите кнопку Set backends balance для перехода в меню настройки.
    Наименование Пример значения Описание
    Remote resource URI
    • grpc://
    • grpcs://
    example.com : 443
    Вы можете редактировать основное доменное имя и порт. Название апстрима будет сгенерировано автоматически
    Табл. 1. Параметры балансировки
    Наименование Пример значения Описание
    Balancing algorithm
    • Round-Robin
    • Hash
    • IP Hash
    • Least Connection
    • Random
    Выбор алгоритма балансировки
    Keep-alive cached connections: 1000 Установка количества кэшируемых соединений
    Address
    • Address — адрес конечной точки (backend address);
    • Weight — влияет на распределение подключений между конечными точками в пропорции;
    • Backupвкл./выкл. в качестве резервного;
    • Downотключить / включить;
    • Max Connections — задаёт максимальное количество одновременных подключений к данной конечной точке;
    • Max Fails — максимальное количество попыток, после которых данная конечная точка признаётся нерабочей;
    • Fail Timeout — период времени для которого идёт расчёт времени неудачных попыток подключения, сек
    Адрес может быть введён как доменное имя или IP-адрес (указание порта не обязательно) или в качестве пути сокета Unix Domain, указанного после префикса «Unix:»

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

  5. При необходимости введите продвинутые настройки веб-ресурса. Для открытия списка расширенных настроек нажмите кнопку Advanced settings:
    Наименование Пример значения Описание
    Require trusted HTTPS
    • No
    • Ordinary TLS
    • CSP TLS
    • Ordinary TLS + Certificate
    • CSP TLS + Certificate
    Выбор типа аутентификации удалённого сервера:
    • No – доверие https отсутствует;
    • Ordinary TLS, CSP TLS – используется только Протокол защиты транспортного уровня (TLS);
    • Ordinary / CSP TLS + Certificate – используется протокол TLS вместе с проверкой подлинности клиентского сертификата
    См. подробнее о настройке Require trusted HTTPS.
    Enable SNI usage / Включить передачу имени сервера через TLS SNI при установлении соединения с прокси-сервером HTTPS
    Suppress host header / Отключить передачу заголовка хоста при установлении соединения с прокси-сервером
    Only use local CRL / При активации данной функции при аутентификации будет использоваться только локальные CRL
    Buffer size 8192 Размер буфера при чтении ответа gRPC-сервера
    Write timeout 60 Ограничение времени запросов на запись, в секундах
    Read timeout 60 Ограничение времени запросов на чтение, в секундах
    Connect timeout 75 Ограничение времени на подключение к gRPC-серверу, в секундах
    Client send timeout 60 Время передачи ответа клиенту, в секундах
    Keep-alive timeout 75 Время без активности, по прошествии которого соединение следует закрыть, в секундах
    Intercept errors / Отметьте, чтобы не отправлять клиенту сообщения с кодом 300 и больше
  6. Сохраните настройки gRPC-ресурса Save. Выйти без сохранения – Go back without saving changes. Созданный ресурс отобразится на странице списка ресурсов данной конфигурации.
  7. Если задано требование доверия для соединения HTTPS (Require trusted HTTPS) задано активным, то необходимо выполнить привязку сертификатов PKI к созданным gRPC-ресурсам в зависимости от выбранного типа аутентификации:
    1. Разверните дополнительное меню gRPC-ресурса при помощи кнопки Expand.


    2. В случае использования Ordinary / CSP TLS выполните привязку сертификата доверенного УЦ (Trusted CA), использующегося для установки соединения TLS. Нажмите Assign в поле Trusted CA.


    3. Выберите сертификат(-ы) из списка CA Certificates, отметив нужные , сохраните Save.


    4. В случае использования Ordinary / CSP TLS + Certificate выполните привязку сертификата доверенного УЦ (Trusted CA), УЦ проверки подлинности корневой (Credentials CA) и при необходимости промежуточного (Intermediate CA), мандат шлюза (Gateway credentials). Нажмите Assign в поле Trusted CA.


      • Credentials CA нажмите Assign, в списке сертификатов CA Certificates установите переключатель для привязки УЦ к данному ресурсу. Сохраните Save.
      • Intermediate CA нажмите Assign, в списке промежуточных сертификатов CA Certificates отметьте нужные промежуточные сертификаты УЦ , сохраните Save.
      • Client Credentials нажмите Assign, в списке клиентских мандатов установите переключатель , чтобы привязать мандат клиента к ресурсу, сохраните Save.
  8. Выполните привязку наборов динамических или статических заголовков:
    1. Нажмите Assign в соответствующей графе для Static HeaderSet или Dynamic HeaderSet:


    2. Установите в поле Assign переключатель для выбора нужного набора заголовков из списка. При необходимости можно отредактировать параметры набора заголовков: Edit.