Развертывание на AWS
Video Tutorial
Смотрите, как развернуть OpenReplay в вашей инфраструктуре AWS (на английском языке)
Если вы не хотите читать, вы можете следовать этому видеоуроку, который покажет, как развернуть OpenReplay на AWS
Стек OpenReplay может быть установлен на одной машине, и AWS EC2 является идеальным кандидатом.
Запуск экземпляра EC2
Section titled Запуск экземпляра EC2- Перейти на панель управления AWS EC2
- ‘Запустить новый экземпляр’ (Launch a new Instance)
- Выберите ваш AMI. Для этого руководства мы будем использовать Ubuntu Server 20.04 LTS
- Выберите тип вашего экземпляра. Минимальные характеристики: 2 виртуальных процессора, 8 ГБ ОЗУ, 50 ГБ памяти, иначе службы бэкенда OpenReplay просто не запустятся. Поэтому мы рекомендуем использовать как минимум t3.large (или эквивалент), который достаточен для небольшого/умеренного объема. Если вы ожидаете высокой нагрузки, следует начать масштабирование отсюда.
- Настройка деталей экземпляра: настройте параметры сети/подсети при необходимости или оставьте настройки по умолчанию
- Добавить хранилище: Установите размер в 50 ГБ (SSD общего назначения (gp2))
- Добавить теги: Настройте параметры или оставьте настройки по умолчанию
- Группы безопасности: Сохраните существующее правило SSH и добавьте еще 2 для HTTP (80) и HTTPS (443) (источник: 0.0.0.0/0)
- Нажмите ‘Проверить и Запустить’(‘Review and Launch’)
- Создайте/скачайте ключ SSH, затем нажмите ‘Запустить экземпляры’ (‘Launch instances’)
Развертывание OpenReplay
Section titled Развертывание OpenReplay- Убедитесь, что ваш экземпляр работает, затем подключитесь к нему:
## From your terminal
SSH_KEY=~/Downloads/openreplay-key.pem #! wherever you've saved the SSH key
INSTANCE_IP=REPLACE_WITH_INSTANCE_PUBLIC_IP
chmod 400 $SSH_KEY
ssh -i $SSH_KEY ubuntu@$INSTANCE_IP
- Установите 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
Настройка TLS/SSL
Section titled Настройка TLS/SSLOpenReplay работает с конфиденциальными данными пользователей и поэтому требует HTTPS для работы. Это обязательно, иначе трекер просто не начнет запись. То же самое касается панели управления: без HTTPS вы не сможете воспроизводить сеансы пользователей.
Самый простой способ обработки SSL в AWS - настроить балансировщик нагрузки (ELB) и запустить OpenReplay за ним. Другой вариант - сгенерировать или использовать собственный SSL-сертификат и направить ваш поддомен (например, openreplay.mycompany.com) на экземпляр OpenReplay. Далее подробнее об обоих вариантах.
Настройка балансировщика нагрузки AWS (вариант 1)
Section titled Настройка балансировщика нагрузки AWS (вариант 1)- Перейдите в ‘EC2’ > ‘Балансировщики нагрузки’ (Load Balancers)
- ‘Создать балансировщик нагрузки’ и выберите балансировщик нагрузки для приложений (Application Load Balancer)
- Добавьте слушатель для HTTPS (оставьте только его) и убедитесь, что выбрана та же подсеть, в которой работает ваш экземпляр OpenReplay.
- Выберите существующий сертификат (например, *.mycompany.com) или создайте новый с помощью Менеджера Сертификатов AWS (ACM). Вы также можете импортировать свой.
- Настройка Групп Безопасности: Выберите ранее созданную группу безопасности для экземпляра OpenReplay (её можно найти в ‘Панели управления EC2’ на вкладке ‘Безопасность’)
- Настройка слушателя и маршрутизации: Сохраните протокол и порт по умолчанию (HTTP:80). Теперь создайте новую группу назначения. Дайте ей название и выберите IP-адреса в типе назначения. Убедитесь, что путь проверки здоровья установлен на /healthz, сохраняя при этом другие параметры по умолчанию. Нажмите ‘Далее’, чтобы зарегистрировать цели, добавьте частный IPv4 экземпляра OpenReplay (порты 80), затем добавьте цель в список (частный IP можно найти на панели управления EC2). Просмотрите, затем нажмите ‘Создать группу целей’.
- Теперь вернитесь на страницу создания LB и направьте эту новую группу целей на слушателя LB.
- Проверьте настройки, затем нажмите на ‘Создать балансировщик нагрузки’
После создания перейдите в Route 53 (или к вашему DNS-провайдеру) и создайте A-запись, указывающую на балансировщик нагрузки с использованием его DNS-имени (можно найти на панели управления ELB).
Наконец, включите use-forwarded-headers, убрав комментарий со следующей строки в разделе ingress-nginx, в /var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
use-forwarded-headers: true
Теперь всё готово, OpenReplay должен быть безопасно доступен на только что настроенном вами субдомене. Вы можете создать аккаунт, посетив страницу /signup (например, openreplay.mycompany.com/signup).
Получить/сгенерировать ваш SSL-сертификат (вариант 2)
Section titled Получить/сгенерировать ваш SSL-сертификат (вариант 2)В качестве альтернативы созданию балансировщика нагрузки, вы можете принести (или сгенерировать) свой собственный SSL-сертификат.
-
Сначала перейдите в Route 53 (или к вашему другому DNS-провайдеру) и создайте A Record. Используйте домен, который вы указали ранее на этапе установки, и направьте его на экземпляр, используя его общедоступный IP (его можно найти на панели управления EC2).
-
Если вы принесете свой сертификат, создайте секрет SSL с помощью следующей команды: kubectl create secret tls openreplay-ssl -n app —key=“private_key_file.pem” —cert=“certificate.crt”.
Примечание: Если у вас нет сертификата, сгенерируйте его, чтобы он автоматически обновлялся, для вашего субдомена (указанного при установке) с помощью Let’s Encrypt. Просто подключитесь к экземпляру OpenReplay EC2, выполните cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.sh и следуйте инструкциям.
- Если вы хотите включить перенаправление с 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
- Наконец, переустановите OpenReplay NGINX:
openreplay -R
Теперь всё готово, OpenReplay должен быть доступен на вашем субдомене. Вы можете создать аккаунт, посетив страницу /signup (например, openreplay.mycompany.com/signup).
Есть вопросы?
Section titled Есть вопросы?Если у вас возникнут проблемы, подключитесь к нашему Slack и получите помощь от нашего сообщества.