Начиная со сборки 5.2.759, WCS может быть развернут в Yandex.Cloud как отдельно стоящий медиа сервер или часть CDN с низкой задержкой.
Для начала развертывания необходимы:
- активный аккаунт в Yandex.Cloud, облако и виртуальная приватная сеть в этом аккаунте
- лицензия WCS для активации на сервере/серверах
- дополнительно, доменные имена для привязки к экземплярам серверов
Развертывание сервера
Развертывание и запуск экземпляра виртуальной машины
1. В консоли Yandex,Cloud перейдите в раздел "Compute Cloud - Virtual machines" и нажмите "Create VM", чтобы начать создание экземпляра сервера.
2. Введите имя сервера, описание и регион расположения датацентра
3. В разделе "Computing resources" выберите тип процессора, количество процессоров, объем памяти. Укажите параметр "Guaranteed vCPU performance" равным "100%"
4. В разделе "Image/boot disk selection" выберите операционную систему Centos, версию 7 (допускаются также другие операционные системы, перечисленные здесь)
5. В разделе "Disks" выберите тип и размер диска
6. В разделе "Network settings" выберите доступную подсеть, при необходимости укажите вручную IP адреса
7. В разделе "Access" укажите имя пользователя и публичный SSH ключ для доступа к серверу
и нажмите "Create VM"
8. Созданный сервер появится в списке
9. Щелкните по строке сервера в списке, скопируйте внешний адрес из раздела Network для подключения к серверу
10. Подключитесь к серверу по ssh
Настройка межсетевого экрана
В настоящее время Yandex.Cloud не поддерживает группы безопасности (эта возможность находится в статусе Preview), поэтому необходимо настроить межсетевой экран на самом сервере:
Установка и настройка WCS
1. Установите JDK. Для работы в условиях больших нагрузок рекомендуется JDK 12 или 14
#!/bin/bash sudo rm -rf jdk* curl -s https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz | tar -zx [ ! -d jdk-12.0.2/bin ] && exit 1 sudo mkdir -p /usr/java [ -d /usr/java/jdk-12.0.2 ] && sudo rm -rf /usr/java/jdk-12.0.2 sudo mv -f jdk-12.0.2 /usr/java [ ! -d /usr/java/jdk-12.0.2/bin ] && exit 1 sudo rm -f /usr/java/default sudo ln -sf /usr/java/jdk-12.0.2 /usr/java/default sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-12.0.2/bin/java" 1 sudo update-alternatives --install "/usr/bin/jstack" "jstack" "/usr/java/jdk-12.0.2/bin/jstack" 1 sudo update-alternatives --install "/usr/bin/jcmd" "jcmd" "/usr/java/jdk-12.0.2/bin/jcmd" 1 sudo update-alternatives --install "/usr/bin/jmap" "jmap" "/usr/java/jdk-12.0.2/bin/jmap" 1 sudo update-alternatives --set "java" "/usr/java/jdk-12.0.2/bin/java" sudo update-alternatives --set "jstack" "/usr/java/jdk-12.0.2/bin/jstack" sudo update-alternatives --set "jcmd" "/usr/java/jdk-12.0.2/bin/jcmd" sudo update-alternatives --set "jmap" "/usr/java/jdk-12.0.2/bin/jmap"
2. Установите дополнительные инструменты и библиотеки
sudo yum install -y tcpdump mc iperf3 fontconfig
3. Отключите SELinux
sudo setenforce 0
4. Установите WCS
curl -OL https://flashphoner.com/downloads/builds/WCS/5.2/FlashphonerWebCallServer-5.2.xxx.tar.gz tar -xzf FlashphonerWebCallServer-5.2.xxx.tar.gz cd FlashphonerWebCallServer-5.2.xxx sudo ./install.sh
Здесь xxx - номер сборки WCS
5. Активируйте Вашу лицензию
cd /usr/local/FlashphonerWebCallServer/bin sudo ./activation.sh
Запуск и тест WCS
1. Запустите WCS
sudo systemctl start webcallserver
2. Войдите в веб-интерфейс сервера, откройте пример Two Way Streaming, опубликуйте и проиграйте поток test
Параметры пользователя admin по умолчанию
Yandex.Cloud поддерживает два варианта получения данных о запущенном инстансе: Google Cloud API endpoints и AWS EC2 API endpoints. Поэтому, начиная со сборки 5.2.921, WCS по умолчанию определяет облачную среду как Amazon.
В свою очередь, одно из главных требований Amazon - это уникальный пароль администратора для каждого инстанса, поэтому в качестве пароля в облачной среде Amazon используется уникальный instanceId, доступный через API или в EC2 консоли.
Таким образом, при запуске WCS в Yandex.Cloud, начиная со сборки 5.2.921, для пользователя admin по умолчанию устанавливается пароль, равный instanceId. Однако, этот параметр может не отображаться в консоли Yandex.Clouid. Для того, чтобы узнать instanceId, подключитесь к серверу по SSH и используйте следующую команду
curl http://169.254.169.254/latest/meta-data/instance-id