Развёртывание в Azure

Пошаговое руководство по развёртыванию OpenReplay в Azure.

Развёртывание в Azure

Video Tutorial

Посмотрите, как развернуть OpenReplay в вашей инфраструктуре Azure

Если вы не любите читать, можете посмотреть это видеоруководство, в котором показано, как развернуть OpenReplay в Azure

Стек OpenReplay можно установить на одной машине, и Microsoft Azure является идеальным кандидатом для этого. Вот как это сделать.

  1. Войдите в свой портал
  2. Нажмите ‘Virtual Machine’, если он доступен на главном экране. В противном случае нажмите ‘Create a Resource’ > ‘Compute’ > ‘Virtual Machine’
  3. На странице ‘Virtual Machine’ нажмите ‘Add’, если вы не были автоматически перенаправлены на страницу создания
  4. Выберите Ubuntu Server 20.04 LTS для ‘Image’
  5. Выберите характеристики вашей ВМ. Минимальные ресурсы — 2 vCPUs, 8 GB of RAM, 50 GB of storage, иначе бэкенд-сервисы OpenReplay просто не запустятся. Минимальных характеристик достаточно для низкого/умеренного объёма. Если вы ожидаете высокий трафик, вам следует увеличить ресурсы по сравнению с этими значениями.
  6. Откройте порты HTTP (80), HTTPS (443) и SSH (22) и запишите username
  7. Нажмите ‘Review + create’

Развёртывание OpenReplay

Section titled Развёртывание OpenReplay
  1. Убедитесь, что ваша ВМ находится в состоянии Running, затем подключитесь к ней:
## From your terminal
SSH_KEY=~/Downloads/openreplay-key.pem ## only if you've previously created an SSH key
chmod 400 $SSH_KEY
INSTANCE_IP=REPLACE_WITH_INSTANCE_PUBLIC_IP
ssh <username>@$INSTANCE_IP ## or ssh -i $SSH_KEY <username>@$INSTANCE_IP if you have a key
  1. Установите OpenReplay, указав домен, на котором он будет работать (например, DOMAIN_NAME=openreplay.mycompany.com):
sudo wget https://raw.githubusercontent.com/openreplay/openreplay/main/scripts/helmcharts/openreplay-cli -O /bin/openreplay 
sudo chmod +x /bin/openreplay
openreplay -i DOMAIN_NAME

OpenReplay работает с конфиденциальными данными пользователей и поэтому требует HTTPS для работы. Это обязательно, иначе трекер просто не начнёт запись. То же самое касается дашборда: без HTTPS вы не сможете воспроизводить сессии пользователей.

Поэтому вы должны сгенерировать (или предоставить) свой собственный SSL-сертификат.

  1. Сначала перейдите в Azure DNS (или к другому вашему поставщику DNS-услуг) и создайте A Record. Используйте домен, который вы ранее указали на шаге установки, и направьте его на ВМ, используя её публичный IP-адрес.

  2. Если вы предоставляете собственный сертификат, создайте SSL-секрет с помощью следующей команды: kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".

Примечание: Если у вас нет сертификата, сгенерируйте автоматически обновляемый сертификат для вашего поддомена (того, что был указан во время установки) с помощью Let’s Encrypt. Просто подключитесь к ВМ OpenReplay, выполните cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.sh и следуйте инструкциям.

  1. Если вы хотите включить перенаправление с http на https (рекомендуется), раскомментируйте блок ниже в разделе ingress-nginx в файле /var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
  controller:
    config:
      ssl-redirect: true
      force-ssl-redirect: true

Стоит отметить, что наш ingress-nginx по умолчанию работает на портах 80|443, но это можно легко изменить при необходимости в vars.yaml:

ingress-nginx: &ingress-nginx
  controller:
    service:
      ports:
        http: 80
        https: 443
  1. Наконец, переустановите NGINX OpenReplay:
openreplay -R

Теперь всё готово, OpenReplay должен быть доступен на вашем поддомене. Вы можете создать учётную запись, посетив страницу /signup (т. е. openreplay.mycompany.com/signup).

Примечание: Для дополнительной безопасности вы также можете запустить экземпляр OpenReplay за Azure Load Balancer. Подробнее см. в документации Azure LB.

Остались вопросы?

Section titled Остались вопросы?

Если вы столкнулись с какими-либо проблемами, присоединяйтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.