Развертывание на 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 vCPUs, 8 GB of RAM, 50 GB of storage, иначе службы бэкенда OpenReplay просто не запустятся. Поэтому мы рекомендуем использовать как минимумt3.large(или эквивалент), который достаточен для небольшого/умеренного объема. Если вы ожидаете высокой нагрузки, следует начать масштабирование отсюда. - Настройте детали экземпляра: настройте параметры Network/Subnet при необходимости или просто оставьте настройки по умолчанию
- Добавьте хранилище: установите размер в 50 GB (General Purpose SSD (gp2))
- Добавьте теги: настройте параметры или оставьте настройки по умолчанию
- Группы безопасности: сохраните существующее правило SSH и добавьте еще 2 для HTTP (80) и HTTPS (443) (source: 0.0.0.0/0)
- Нажмите ‘Review and Launch’
- Создайте/скачайте ключ SSH, затем нажмите ‘Launch instances’
Развертывание OpenReplay
Section titled Развертывание OpenReplay- Убедитесь, что ваш экземпляр находится в состоянии
Running, затем подключитесь к нему:
## 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’
- ‘Create Load Balancer’ и выберите Application Load Balancer
- Добавьте слушатель для HTTPS (оставьте только его) и убедитесь, что выбрана та же подсеть(и), в которой работает ваш экземпляр OpenReplay.
- Выберите существующий сертификат (то есть *.mycompany.com) или создайте новый с помощью AWS Certificate Manager (ACM). Вы также можете импортировать свой.
- Настройте группы безопасности: выберите ранее созданную группу безопасности для экземпляра OpenReplay (её можно найти в ‘EC2 Dashboard’ на вкладке ‘Security’)
- Настройте слушатель и маршрутизацию: сохраните протокол и порт по умолчанию (
HTTP:80). Теперь создайте новую target group. Дайте ей название и выберитеIP addressesв Target Type. Убедитесь, что Health check path установлен на/healthz, сохраняя при этом другие параметры по умолчанию. Нажмите ‘Next’, чтобы зарегистрировать цели, добавьте частный IPv4 экземпляра OpenReplay (порты80), затем добавьте цель в список (частный IP можно найти на панели управления EC2). Просмотрите, затем нажмите ‘Create target group’. - Теперь вернитесь на страницу создания LB и направьте эту новую target group на слушателя LB.
- Просмотрите, затем ‘Create load balancer’
После создания перейдите в Route 53 (или к вашему DNS-провайдеру) и создайте A Record, указывающую на балансировщик нагрузки с использованием его 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 или загляните на наш Форум и получите помощь от нашего сообщества.