Развёртывание в 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 24.04 LTS в качестве ‘Image’
  5. Выберите характеристики вашей ВМ. Минимальные ресурсы — 2 vCPUs, 8 GB of RAM, 50 GB of storage на архитектуре x86, иначе backend-сервисы 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. Наконец, переустановите OpenReplay NGINX:
openreplay -R

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

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

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

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

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