В результате выполнения шагов из данного руководства ожидается, что:
|
Архитектура DION предусматривает возможность переноса части компонентов, отвечающих за обработку медиатрафика и создание/хранение записей конференции, на площадку организации. Такие компоненты называются гибридными узлами (hybrid node). Наличие гибридных узлов позволяет проводить конференции в защищенном контуре, не передавая медиатрафик в облако DION.
В гибридном сценарии связь гибридных узлов с облаком DION является обязательным условием для работы конференций, так как в облако передаются сигнальная информация и управляющие команды.
Все гибридные компоненты, доступные к установке, можно разделить на группы по функциональному назначению:
При развёртывании DION Video в гибридном варианте используется локальный экземпляр видеопортала. Все загружаемые туда видеофайлы хранятся в локальном S3-хранилище. Если развернуты сервисы записи, на портале также доступны записи гибридных конференций. На облачном видеопортале записи гибридных конференций никогда не отображаются.
В Административной панели DION можно включить параметр, позволяющий отображать весь контент, доступный на облачном видеопортале, в локальной версии Dion.Video.
Для направления локальных пользователей на локальный видеопортал, необходимо прописать соответствующие имена на корпоративном DNS-сервере.
В гибридном варианте реализации видеопортала все сопроводительные данные к видеофайлам, каналам и плейлистам, такие как название, описание, комментарии, таймкоды, хранятся в базе данных на стороне облачного DION в зашифрованном виде. Перед отправкой в облако вся информация шифруется ключом, который генерируется на основе информации из KMS (на данный момент поддерживается сервис HashiCorp Vault) на стороне компании. Все пользовательские запросы в облако могут быть перенаправлены на DLP компании.
Видеофайлы, загруженные через гибридный видеопортал, хранятся в локальном S3.
На данный момент доступ к гибридному видео порталу, включая просмотр и загрузку новых видео, возможен только внутри корпоративного контурa. Для доступа извне необходимо использовать корпоративную сеть или VPN с корректным разрешением имен гибридного видеопортала. При доступе к видеопорталу извне, будут доступны только облачные записи. |
Схема взаимодействия компонентов представлена ниже:
Категория | Наименование компонента | Описание компонента |
---|---|---|
Видео | HLS Delivery, HLS Converter, Upload Companion, API Video Gateway, Dmz Video Gateway | Компоненты, отвечающие за создание, конвертацию и скачивание видео в формате HLS для платформы DION.Видео, а также передачу управляющих команд от DION.Видео в облако DION. |
Видео | DLP adapter | Опциональный компонент, отвечающий за отправку метаданных видеозаписей на проверку в DLP. |
Прежде, чем перейти к редактированию конфигураций, убедитесь в том, что выполнены следующие шаги:
1. Изучите требования к ресурсам гибридных узлов DION для вашей инсталляции.
2. Разверните необходимое количество виртуальных машин/серверов и установите на них операционную систему Ubuntu 20.04.6 LTS.
3. Установите и запустите сервисы конференций, записи, SIP, если необходимо, по инструкции, доступной на данной странице.
4. Проверьте, что открыты все необходимые сетевые доступы.
5. Разверните S3-хранилище и получите учетные данные для доступа.
В рамках пилотной инсталляции можно воспользоваться тестовым образом S3 Minio, предоставленным DION. Для этого в явном виде сообщите вашей аккаунт-команде о намерении использовать тестовый образ. |
Обратите внимание, что на данный момент установка DION VIDEO поддерживается только на Ubuntu 20.04.6 LTS. |
Для работы сервисов DION.Video в гибридном режиме необходимо прописать ряд записей на локальном DNS-сервере:
URL | Сервер назначения |
---|---|
api-video.dion.vc | API Video Gateway |
upload-companion.dion.vc | Upload Companion |
hls-delivery.dion.vc | HLS-delivery |
Сервер Dmz Video Gateway, расположенный в DMZ, должен разрешать все имена *.dion.vc в действительные адреса DION.
На вашем доверенном УЦ необходимо выпустить ключ и серверный сертификат со следующими именами:
Формат: crt, key
Этот сертификат должен быть доверенным для всех устройств пользователей DION.
Также необходим CA-сертификат в формате pem.
Образы будут поставлены в виде deb- (rpm-) пакетов и архивов .tar.gz в следующем составе:
Допустимо разнести сервисы API Video Gateway, Upload Companion и DLP Adapter по отдельным машинам. В целях экономии ресурсов рекомендуем ставить их вместе. |
|
Для пилотной инсталляции вы можете запросить демо-образ S3 у вашей аккаунт-команды. Рекомендуем установить minio на отдельной VM. Для установки на машине требуются docker и docker-compose.
Демо-образ не подходит для продуктивной инсталляции, так как не поддерживает отказоустойчивость. |
По умолчанию контент из облачного DION.Video недоступен в гибриде. Чтобы разрешить пользователям гибрида просматривать облачный контент на локальном портале, выполните следующие действия:
Чтобы развернуть демо-образ, выполните следующее:
1. Распакуйте полученный архив на виртуальную машину.
2. Установите docker и docker-compose. Рекомендуем воспользоваться официальной инструкцией на сайте Docker.
3. В файле docker-compose.yml посмотрите и поменяйте при необходимости логин и пароль для доступа к minio. Эти учетные данные используются при входе в minio через веб-интерфейс.
environment:
MINIO_ROOT_USER: {имя пользователя}
MINIO_ROOT_PASSWORD: {пароль}
4. Выполните команду
docker load -i {/путь/minio-release-2023-01-31.docker.image}
5. Перейдите в папку, где лежит файл docker-compose.yml и выполните команду:
docker-compose up -d
6. Перейдите в веб-консоль minio по адресу http://{IP выбранной VM}:9000.
7. В веб-консоли создайте новый bucket и пару access-key и secret key. Сохраните имя бакета и ключи.
Сохраните ключи сразу же в процессе создания, позже посмотреть их невозможно. |
Если произошла перезагрузка и демо-S3 не стартовал автоматически, выполните инструкции ниже, чтобы запустить сервис заново.
Перейдите в папку, где лежит файл docker-compose.yml и выполните команду:
docker compose up -d
либо (для docker-compose v1):
docker-compose up -d
8. Перейдите в раздел Bucket и откройте созданный бакет.
9. Перейдите в настройки Lifecycle.
10. Создайте новое правило по образцу (это позволит не забивать кэш S3 копиями облачного контента).
Примеры в данном разделе приведены для ОС Ubuntu. |
На период установки гибридных нод необходимо наличие доступа в репозиторий операционной системы для установки необходимых зависимостей. При отсутствии доступа к публичному репозиторию некоторые пакеты не будут установлены корректно. |
1. Перенесите пакеты и архивы на соответствующие серверы/виртуальные машины.
2. Перенесите два комплекта сертификатов (выданные командой DION и сгенерированные вашим УЦ) на каждый из серверов/виртуальных машин.
|
nginx должен быть установлен на всех виртуальных машинах гибридного DION-Video, на которых развернуты сервисы:
Необходимо повторить шаги ниже на каждой виртуальной машине. Если все сервисы развернуты на одной машине, установка проводится на ней. |
|
Чтобы установить nginx:
1. Выполните команду (это необходимо сделать ДО установки сервисов DION):
apt update && apt install nginx
2. Удалите стандартный конфигурационный файл:
rm /etc/nginx/sites-enabled/default
3. Перезапустите nginx:
systemctl restart nginx
4. Убедитесь, что сервис запущен без ошибок:
systemctl status nginx
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
1. Установите пакет dmz-video-proxy:
sudo apt install -f /полный путь к пакету/имя файла
2. Откройте на редактирование конфигурационный файл /etc/dion/dmz-video-proxy.yml:
nano /etc/dion/dmz-video-proxy.yml
3. Заполните конфигурационный файл в соответствии с комментариями в файле.
4. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
5. Запустите сервис:
systemctl restart dion-dmz-video-proxy
6. Убедитесь, что сервис запущен без ошибок:
systemctl status dion-dmz-video-proxy
На машине необходим nginx. См раздел Установка и настройка nginx. |
1. Установите пакет dion-api-video-gateway:
sudo apt install -f /полный путь к пакету/имя файла
nano /etc/nginx/conf.d/nginx_api_gateway_frontend.conf
2. Укажите в переменных ssl_certificate и ssl_certificate_key через пробел полный путь к файлам key и crt, которые вы получили через ваш удостоверяющий центр (УЦ). В конце строки сохраните точку с запятой.
Отредактируйте конфигурационный файл до конца, сертификаты нужно указать несколько раз! |
1. Откройте на редактирование конфигурационный файл /etc/dion/api-video-gateway.yml:
nano /etc/dion/api-video-gateway.yml
Следуйте комментариям в файле и инструкции ниже.
|
2. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
# Настройки сервера grpc
отредактируйте параметр mutual_tls
:Если необходимо включить взаимную межсервисную аутентификацию mutual TLS для взаимодействия сервисов Dion.Video между собой, внесите изменения:
a. Для переменной enabled
укажите true
,
b. Для переменной whitelist_cn
укажите значение полей CN из сертификата, выданного вашим УЦ, в виде списка.
Например:
mutual_tls:
enabled: true
whitelist_cn:
- my_company.ru
- my_new_company.org
# Настройки сервера
→ # Настройки сервера grpc
→ # Указываются локальные адреса нод dmz-video-proxy
укажите локальные адреса узлов dmz-video-proxy в виде списка в переменной addresses
, через двоеточие укажите порт 9764.На данный момент не поддерживается более одного экземпляра dmz-video-proxy. Поддержка планируется в Q3 2025. |
Например:
proxy_pass:
addresses:
- 192.168.0.1:9764
# Настройки Hashicorp Vault
.В противном случае секреты для генерации ключей хранятся в конфигурационном файла Api Video Gateway.
# Шифрование данных в БД
. Для получения значений key
и iv
можно воспользоваться криптографической библиотекой OpenSSL, используя следующую команду:
openssl enc -aes-256-cbc -k secret -P -md sha1 -nosalt | grep -E '(key\=[[:alnum:]]{64})|(iv \=[[:alnum:]]{16})' -o
3. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
4. Запустите сервис:
systemctl restart dion-api-video-gateway
5. Убедитесь, что сервис запущен без ошибок:
systemctl status dion-api-video-gateway
6. Дополнительно проверьте логи на отсутствие ошибок:
journalctl -u dion-api-video-gateway -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
На подготовительном этапе на эту машину должны были быть перенесены два архива:
|
1. Перейдите в консоль виртуальной машины, на которой установлен сервис API Video Gateway.
2. Создайте каталог /app/dion/frontend/apps/player:
mkdir -p /app/dion/frontend/apps/player
2. Распакуйте архив frontend-video-player.tar.gz в каталог /app/dion/frontend/apps/player/:
tar -xzvf /<путь_к_архиву> -C /app/dion/frontend/apps/player
Данная команда не всегда актуальна и приведена для примера. Вы можете использовать любую другую утилиту на ваше усмотрение или сначала распаковать архив, а затем разместить его на машине. |
Для проверки выполните команду ls /app/dion/frontend/apps/player и сравните вывод:
ls /app/dion/frontend/apps/player/
@mf-types __types_index.json index.html remoteEntry.js remoteEntry.js.gz static version.json
3. Распакуйте архив frontend-video-app.tar.gz в каталог /app/dion/frontend/:
tar -xzvf /путь_к_вашему_архиву -C /app/dion/frontend/
Для проверки выполните команду и сравните вывод:
ls /app/dion/frontend/
apps favicon.png fonts icons images index.html mail sounds static sw.js version.json
|
1. Установите пакет ImageMagick:
В настоящее время Upload Companion совместим с версией пакета ImageMagick в диапазоне от 6.9.1-7 до 6.9.9-35. |
apt install imagemagick
2. Установите пакет dion-upload-companion:
sudo apt install -f /полный путь к пакету/имя файла
nano /etc/nginx/conf.d/nginx_upload_companion.conf
2. Укажите в переменных ssl_certificate и ssl_certificate_key через пробел полный путь к файлам key и crt, которыe вы получили через ваш удостоверяющий центр (УЦ). В конце строки необходимо сохранить точку с запятой.
1. Откройте на редактирование конфигурационный файл /etc/dion/upload-companion.yml:
sudo nano /etc/dion/upload-companion.yml
Следуйте комментариям в файле и инструкции ниже.
|
2. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
# Настройки подключения к S3
укажите IP-адрес или FQDN вашего S3-хранилища и порт доступа в переменной api_url
.Например:
api_url: 192.168.1.1:9000
или
api_url: my_s3_storage.company.ru:9000
use_ssl
укажите true
, если ваш S3 поддерживает SSL и требуется использовать SSL при подключении.ACCESS_KEY
и SECRET_KEY
для доступа к вашему S3 без кавычек через пробел: access_key: {access_key}
secret_key: {secret}
Например:
bucket_name: video
3. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
4. Запустите сервис:
systemctl restart dion-upload-companion
5. Убедитесь, что сервис запущен без ошибок:
systemctl status dion-upload-companion
6. Дополнительно проверьте логи на отсутствие ошибок:
journalctl -u dion-upload-companion -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
На машине необходим nginx. См раздел Установка и настройка nginx. |
1. Установите пакет dion-hls-delivery:
sudo apt install -f /<полный путь к пакету>/<имя файла>
nano /etc/nginx/conf.d/nginx_hls_delivery.conf
2. Укажите в переменных ssl_certificate и ssl_certificate_key через пробел полный путь к файлам key и crt, которыe вы получили через ваш удостоверяющий центр (УЦ). В конце строки сохраните точку с запятой.
sudo nano /etc/dion/hls-delivery.yml
Следуйте комментариям в файле и инструкции ниже.
|
2. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
# Подключение к hls-delivery в клауде
после строки time_between_retry: 500ms
добавьте следующую строку: grpc_enabled: true
# Настройки подключения к S3
для каждого из двух блоков (dion-conferences
, dion-video
) укажите значения переменных:api_url
— IP-адрес или FQDN вашего S3 хранилища и порт доступа,use_ssl
— true
, если ваш S3 поддерживает SSL и требуется использовать SSL при подключении,access_key
— ACCESS_KEY для доступа к вашему S3 без кавычек через пробел,secret_key
— SECRET_KEY для доступа к вашему S3 без кавычек через пробел,bucket_name
— отличается в каждом из блоков. В блоке dion-conferences
укажите имя бакета, в котором хранятся записи конференций. Бакет должен быть создан заранее и прописан в конфигурационном файле сервиса записи recorder.conf.
Например:
bucket_name: records
В блоке dion-video
укажите имя бакета, в котором будут храниться загруженные видеозаписи. Бакет должен быть создан заранее.
Например:
bucket_name: video
3. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
4. Перезапустите сервис:
systemctl restart dion-hls-delivery
5. Убедитесь, что сервис запущен без ошибок:
systemctl status dion-hls-delivery
6. Дополнительно проверьте логи на отсутствие ошибок:
journalctl -u dion-hls-delivery -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
1. Установите пакеты ffmpeg и ImageMagick.
В настоящее время Upload Companion совместим с версией пакета ImageMagick в диапазоне от 6.9.1-7 до 6.9.9-35. |
apt install ffmpeg
apt install imagemagick
2. Установите пакет dion-hls-converter:
sudo apt install -f /полный путь к пакету/имя файла
3. Откройте на редактирование конфигурационный файл /etc/dion/hls-converter.yml:
sudo nano /etc/dion/hls-converter.yml
Следуйте комментариям в файле и инструкции ниже.
|
4. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
# Настройки клиентских подключений
→ # Настройки клиентского подключения gRPC
→ # подключение к DION KMS
укажите в переменной addresses
адрес узла KMS, если имеется:addresses:
- 192.168.0.1:9135
# Настройки подключения к S3
для каждого из трёх блоков (dion-conferences
, dion-video
, speech-to-text
) укажите значения переменных:api_url
— IP-адрес или FQDN вашего S3 хранилища и порт доступа,use_ssl
— true
, если ваш S3 поддерживает SSL и требуется использовать SSL при подключении,access_key
— ACCESS_KEY для доступа к вашему S3 без кавычек через пробел,secret_key
— SECRET_KEY для доступа к вашему S3 без кавычек через пробел,bucket_name
— отличается в каждом из блоков. В блоке dion-conferences
укажите имя бакета, в котором хранятся записи конференций. Бакет должен быть создан заранее и прописан в конфигурационном файле сервиса записи recorder.conf.
Например:
bucket_name: records
В блоке dion-video
укажите имя бакета, в котором будут храниться загруженные видеозаписи. Бакет должен быть создан заранее.
Например:
bucket_name: video
В блоке speech-to-text укажите имя любого существующего бакета, он пока не будет использоваться.
Например:
bucket_name: records
5. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
6. Перезапустите сервис:
systemctl restart dion-hls-converter
7. Убедитесь, что сервис запущен без ошибок:
systemctl status dion-hls-converter
8. Дополнительно следует проверить логи на отсутствие ошибок:
journalctl -u dion-hls-converter -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
1. Установите пакет dion-dlp-adapter:
sudo apt install -f /полный путь к пакету/имя файла
2. Откройте на редактирование конфигурационный файл /etc/dion/dlp-adapter.yml:
sudo nano /etc/dion/dlp-adapter.ymlsudo nano /etc/dion/dlp-adapter.yml
Следуйте комментариям в файле и инструкции ниже.
|
3. В секции # настройки подключения к DLP
выполните следующие действия:
host
укажите локальный адрес вашего DLP.port
укажите порт для доступа к DLP.full_path
и fast_path
укажите пути для полной и быстрой проверки соответственно.4. В секции # настройки подключения к DLP → # заголовки запроса к DLP
добавьте/отредактируйте заголовки запроса к вашему DLP.
5. В секции # Настройка gRPC сервера
укажите в переменных ниже через пробел полный путь к файлам pem, key и crt, которые вы получили от команды DION:
ca: <путь_к_сертификату_DION>.pem
cert: <путь_к_сертификату_DION>.crt
key: <путь_к_ключу_DION>.key
6. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
7. Запустите сервис:
systemctl start dion-dlp-adapter
8. Убедитесь, что сервис запущен без ошибок:
systemctl status dion-dlp-adapter
9. Дополнительно проверьте логи на отсутствие ошибок:
tail -f /var/log/syslog | grep dion-dlp-adapter
или
journalctl -u dion-hls-converter -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Вы можете просматривать “облачные” видеозаписи в “гибридном” видеопортале. Для это включите соответствующий параметр в Панели администрирования и сконфигурируйте службу hls-delivery:
1. На сервере с установленным сервисом hls-delivery откройте конфигурационный файл /etc/dion/ hls-delivery.yml:
2. Для переменной delivery_mode
измените значение с redirect
на proxy
:
delivery_mode: proxy
3. Для переменной client.grpc.hls_delivery.grpc_enabled
измените значение с false
на true
:
client:
grpc:
hls_delivery:
grpc_enabled: true
В более ранних версиях сервиса hls_delivery эта переменная может отсутствовать. В таком случае либо обновите пакет до актуальной версии (рекомендуется), либо впишите переменную самостоятельно (работоспособность не гарантирована). |
4. Перезапустите службу:
sudo systemctl restart dion-hls-delivery.service
В результате в “гибридном” видеопортале ваши видео из облака будут отображаться с пометкой "Cloud":