Перейти к содержанию

WCS в Google Cloud Platform

Начиная со сборки 5.2.679, WCS может быть развернут на Google Cloud Platform как отдельно стоящий медиа сервер, CDN с низкой задержкой и CDN c балансировкой нагрузки между узлами.

В любом случае, прежде, чем начать развертывание, необходимы:

  • активный аккаунт в GCP и проект, созданный в этом аккаунте
  • лицензия WCS для активации на сервере/серверах
  • дополнительно, доменные имена для привязки к экземплярам серверов

Развертывание сервера

Развертывание и запуск экземпляра виртуальной машины

  1. В консоли Google Cloud перейдите в раздел Compute Engine - VM instances и нажмите Create VM instance, чтобы начать создание экземпляра сервера. Выберите имя сервера, регион и зону расположения датацентра, а также конфигурацию сервера

  2. В разделе Boot disk нажмите Change. Выберите образ на базе CentOS 7.6

  3. На вкладке Security добавьте публичный ключ для доступа к серверу по SSH, если у Вас нет ключей, привязанных к проекту

  4. На вкладке Network выберите внешний и внутренний IP адреса:

  5. если сервер предполагается использовать как Origin в CDN, рекомендуется выбрать статический внутренний IP адрес;
  6. если сервер должен иметь внешние точки входа (например, использоваться для публикаций и воспроизведения), рекомендуется выбрать статический внешний IP адрес для привязки к нему доменного имени

  7. Нажмите Create

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

Настройка межсетевого экрана

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

  1. Перейдите в раздел VPC network - Firewall и создайте правило wcs-ports

  2. Разрешите входящий трафик с любых узлов

  3. Укажите порты, используемые WCS, и нажмите Create

Установка и настройка 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. Остановите firewalld (поскольку межсетевой экран был настроен на уровне проекта, нет необходимости в закрытии портов на уровне виртуальной машины)

    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    

  4. Отключите SELinux

    sudo setenforce 0
    

  5. Установите 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

  6. Активируйте Вашу лицензию

    cd /usr/local/FlashphonerWebCallServer/bin
    sudo ./activation.sh
    

  7. Настройте WCS (пример настроек Origin сервера для публикации WebRTC и RTMP потоков)

    Не изменяйте IP адреса в параметрах ip, ip_local и cdn_ip, они будут проставлены автоматически при старте сервера.

Запуск и тест WCS

  1. Запустите WCS

    sudo systemctl start webcallserver
    

  2. Войдите в веб-интерфейс сервера, откройте пример Two Way Streaming, опубликуйте и проиграйте поток test

Развертывание CDN

  1. Разверните и настройте Origin сервер, как описано выше.

  2. Разверните и настройте Edge сервер (пример настроек для воспроизведения WebRTC)

    Не изменяйте IP адреса в параметрах ip, ip_local и cdn_ip, они будут проставлены автоматически при старте сервера. Укажите в настройке cdn_point_of_entry статический внутренний IP адрес Origin сервера.

Тестирование CDN

  1. Запустите WCS на Origin и Edge экземплярах ВМ.

  2. Войдите в веб интерфейс Origin сервера, опубликуйте поток test в примере Two Way Streaming

  3. Войдите в веб интерфейс Edge сервера, проиграйте поток test в примере Player