Déployer sur AWS
Video Tutorial
Découvrez 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- Accédez au tableau de bord AWS EC2
- ‘Launch a new instance’ (architecture basée sur x86)
- Sélectionnez votre AMI. Pour ce guide, nous utiliserons Ubuntu Server 24.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. C’est pourquoi nous recommandons au moins le typet3.large(ou un équivalent), qui suffit pour un volume faible/modéré. Si vous prévoyez un trafic élevé, vous devriez monter en puissance à partir de là. - Configurez les détails de l’instance : ajustez les paramètres Network/Subnet si nécessaire ou conservez simplement les valeurs par défaut
- Ajoutez du stockage : définissez la taille à 50 Go (General Purpose SSD (gp2))
- Ajoutez des étiquettes : 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). Assurez-vous que les ports DNS (TCP/UDP) sont ouverts dans le groupe de sécurité sortant
- 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 à l’état
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 s’exécutera (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, faute de quoi le tracker ne commencerait tout simplement pas à enregistrer. Il en va de même pour le tableau de bord : sans HTTPS, vous ne pourrez pas rejouer 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 celui-ci. Une autre option consiste à générer ou à utiliser votre propre certificat SSL et à faire pointer votre sous-domaine (c’est-à-dire openreplay.mycompany.com) vers l’instance OpenReplay. Plus de détails sur les deux options ci-dessous.
Configurer l’équilibreur de charge AWS (option 1)
Section titled Configurer l’équilibreur de charge AWS (option 1)- Accédez à ‘EC2’ > ‘Load Balancers’
- ‘Create Load Balancer’ et choisissez Application Load Balancer
- Ajoutez un listener pour HTTPS (ne conservez que celui-ci) et veillez à sélectionner le(s) même(s) sous-réseau(x) dans le(s)quel(s) s’exécute votre instance OpenReplay.
- Choisissez un certificat existant (c’est-à-dire *.mycompany.com) ou générez-en un nouveau depuis 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 le ‘EC2 Dashboard’, sous l’onglet ‘Security’)
- Configurez le listener et le routage : conservez le protocole et le port par défaut (
HTTP:80). Maintenant, créez un nouveau groupe cible. 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 les cibles, ajoutez l’IPv4 privée de l’instance OpenReplay (port80) puis ajoutez la cible à la liste (l’IP privée se trouve 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 groupe cible vers le listener du LB.
- Vérifiez puis ‘Create load balancer’
Une fois créé, accédez à Route 53 (ou à votre fournisseur de services DNS) et créez un A Record qui pointe vers l’équilibreur de charge en utilisant son nom DNS (que l’on trouve dans le tableau de bord ELB).
Tout est maintenant prêt, OpenReplay devrait être accessible de manière sécurisée sur le sous-domaine que vous venez de configurer. Vous pouvez créer un compte en visitant la page /signup (c’est-à-dire openreplay.mycompany.com/signup).
Apportez/générez votre certificat SSL (option 2)
Section titled Apportez/générez votre certificat SSL (option 2)Au lieu de créer un équilibreur de charge, vous pouvez apporter (ou générer) votre propre certificat SSL.
-
Tout d’abord, accédez à Route 53 (ou à votre autre fournisseur de services DNS) et créez un
A Record. Utilisez le domaine que vous avez précédemment fourni lors de l’étape d’installation et faites-le pointer vers l’instance en utilisant son IP publique (que l’on trouve dans le tableau de bord EC2). -
Si vous apportez votre propre certificat, créez un secret SSL à l’aide de 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) à l’aide de 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é), décommentez le bloc ci-dessous, dans 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 s’exécute par défaut sur les ports 80|443, mais cela peut être facilement modifié, 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 maintenant prêt, OpenReplay devrait être accessible sur votre sous-domaine. Vous pouvez créer un compte en visitant la page /signup (c’est-à-dire openreplay.mycompany.com/signup).
Vous avez des questions ?
Section titled Vous avez des questions ?Si vous rencontrez des problèmes, rejoignez notre Slack ou consultez notre Forum et obtenez de l’aide de notre communauté.