Déployer sur AWS
Video Tutorial
Regardez comment déployer OpenReplay dans votre infrastructure AWS
Si vous n'aimez pas lire, vous pouvez suivre ce tutoriel vidéo qui vous montre comment déployer OpenReplay sur AWS
La pile OpenReplay peut être installée sur une seule machine et AWS EC2 est un candidat idéal.
Lancer une instance EC2
Section titled Lancer une instance EC2- Allez au tableau de bord AWS EC2
- ‘Launch a new instance’
- Sélectionnez votre AMI. Pour ce guide, nous utiliserons Ubuntu Server 20.04 LTS
- Choisissez votre type d’instance. Les spécifications minimales sont
2 vCPUs, 8 GB of RAM, 50 GB of storage, sinon les services backend d’OpenReplay ne démarreront tout simplement pas. Ainsi, nous recommandons au moins lat3.large(ou un équivalent), qui est suffisante pour un volume faible/modéré. Si vous attendez un trafic élevé, vous devriez évoluer à partir d’ici. - Configurez les détails de l’instance : réglez les paramètres de Network/Subnet si nécessaire ou conservez simplement les valeurs par défaut
- Ajoutez du stockage : définissez la taille à 50 GB (General Purpose SSD (gp2))
- Ajoutez des tags : ajustez les paramètres ou conservez les valeurs par défaut
- Groupes de sécurité : conservez la règle SSH existante et ajoutez-en 2 autres pour HTTP (80) et HTTPS (443) (source : 0.0.0.0/0)
- Cliquez sur ‘Review and Launch’
- Créez/téléchargez la clé SSH puis cliquez sur ‘Launch instances’
Déployer OpenReplay
Section titled Déployer OpenReplay- Assurez-vous que votre instance est en
Runningpuis connectez-vous à elle :
## 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
- Installez OpenReplay en fournissant le domaine sur lequel il sera exécuté (par exemple 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
Configurer TLS/SSL
Section titled Configurer TLS/SSLOpenReplay traite des données utilisateur sensibles et nécessite donc HTTPS pour fonctionner. C’est obligatoire, sinon le tracker ne commencerait tout simplement pas l’enregistrement. Il en va de même pour le tableau de bord, sans HTTPS vous ne pourrez pas relire les sessions des utilisateurs.
La façon la plus simple de gérer SSL dans AWS est de configurer un équilibreur de charge (ELB) et d’exécuter OpenReplay derrière lui. Une autre option consiste à générer ou utiliser votre propre certificat SSL et à pointer votre sous-domaine (c.-à-d. openreplay.mycompany.com) vers l’instance OpenReplay. Plus d’informations sur les deux options ci-dessous.
Configurer l’équilibreur de charge AWS (option 1)
Section titled Configurer l’équilibreur de charge AWS (option 1)- Allez à ‘EC2’ > ‘Load Balancers’
- ‘Create Load Balancer’ et choisissez Application Load Balancer
- Ajoutez un listener à HTTPS (conservez celui-ci uniquement) et assurez-vous de sélectionner le(s) même(s) sous-réseau(x) dans lequel votre instance OpenReplay fonctionne.
- Choisissez un certificat existant (c.-à-d. *.mycompany.com) ou générez-en un nouveau à partir d’AWS Certificate Manager (ACM). Vous pouvez également importer le vôtre.
- Configurez les groupes de sécurité : sélectionnez le groupe de sécurité précédemment créé pour l’instance OpenReplay (vous pouvez le trouver dans ‘EC2 Dashboard’ sous l’onglet ‘Security’)
- Configurez le listener et le routage : conservez le protocole et le port par défaut (
HTTP:80). Créez maintenant un nouveau target group. Donnez-lui un nom et sélectionnezIP addressesdans Target Type. Assurez-vous que le Health check path est défini sur/healthztout en conservant les autres paramètres par défaut. Cliquez sur ‘Next’ pour enregistrer des cibles, ajoutez l’IPv4 privée de l’instance OpenReplay (ports80) puis ajoutez la cible à la liste (l’IP privée peut être trouvée dans le tableau de bord EC2). Vérifiez puis cliquez sur ‘Create target group’. - Maintenant, retournez à la page de création du LB et transférez ce nouveau target group au listener du LB.
- Vérifiez puis ‘Create load balancer’
Une fois créé, allez à Route 53 (ou votre fournisseur de service DNS) et créez un A Record qui pointe vers l’équilibreur de charge en utilisant son nom DNS (peut être trouvé dans le tableau de bord ELB).
Enfin, activez use-forwarded-headers en décommentant la ligne ci-dessous dans la section ingress-nginx, dans /var/lib/openreplay/vars.yaml :
ingress-nginx: &ingress-nginx
controller:
config:
use-forwarded-headers: true
Tout est prêt maintenant, OpenReplay devrait être accessible en toute sécurité sur le sous-domaine que vous venez de configurer. Vous pouvez créer un compte en visitant la page /signup (c.-à-d. openreplay.mycompany.com/signup).
Apporter/générer votre certificat SSL (option 2)
Section titled Apporter/générer votre certificat SSL (option 2)En alternative à la création d’un équilibreur de charge, vous pouvez apporter (ou générer) votre propre certificat SSL.
-
Tout d’abord, allez à Route 53 (ou votre autre fournisseur de service DNS) et créez un
A Record. Utilisez le domaine que vous avez fourni précédemment lors de l’étape d’installation et pointez-le vers l’instance en utilisant son IP publique (peut être trouvée dans le tableau de bord EC2). -
Si vous apportez votre propre certificat, créez un secret SSL en utilisant la commande suivante :
kubectl create secret tls openreplay-ssl -n app --key="private_key_file.pem" --cert="certificate.crt".
Remarque : Si vous n’avez pas de certificat, générez-en un, qui se renouvelle automatiquement, pour votre sous-domaine (celui fourni lors de l’installation) en utilisant Let’s Encrypt. Connectez-vous simplement à l’instance EC2 d’OpenReplay, exécutez
cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.shet suivez les étapes.
- Si vous souhaitez activer la redirection de http vers https (recommandé), alors décommentez le bloc ci-dessous, sous la section
ingress-nginx, dans/var/lib/openreplay/vars.yaml:
ingress-nginx: &ingress-nginx
controller:
config:
ssl-redirect: true
force-ssl-redirect: true
Il convient de mentionner que notre ingress-nginx fonctionne par défaut sur les ports 80|443, mais cela peut être facilement changé, si nécessaire, dans vars.yaml :
ingress-nginx: &ingress-nginx
controller:
service:
ports:
http: 80
https: 443
- Enfin, réinstallez le NGINX d’OpenReplay :
openreplay -R
Tout est prêt maintenant, OpenReplay devrait être accessible sur votre sous-domaine. Vous pouvez créer un compte en visitant la page /signup (c.-à-d. openreplay.mycompany.com/signup).
Des questions ?
Section titled Des questions ?Si vous rencontrez des problèmes, connectez-vous à notre Slack ou consultez notre Forum et obtenez de l’aide de notre communauté.