Déployer sur Google Cloud

Guide étape par étape pour déployer OpenReplay sur Google Cloud.

Déployer sur Google Cloud

Video Tutorial

Découvrez comment déployer OpenReplay dans votre infrastructure GCP

Si vous n'aimez pas lire, vous pouvez suivre ce tutoriel vidéo qui vous montre comment déployer OpenReplay sur GCP

La stack OpenReplay peut être installée sur une seule machine et Google Cloud est un candidat idéal.

  1. Accédez au tableau de bord ‘Compute Engine’ et sélectionnez ‘VM Instances’ dans la barre de menu de gauche
  2. Cliquez sur ‘Create Instance’
  3. Sélectionnez votre ‘region’ et votre ‘zone’ préférées
  4. Choisissez votre type de machine. Les spécifications minimales sont 2 vCPUs, 8 GB of RAM, 50 GB of storage, sur une architecture x86, sinon les services backend d’OpenReplay ne démarreront tout simplement pas. Nous recommandons donc au moins la n2-standard-2 (ou un équivalent — notez que la e2-standard-2 est connue pour poser des problèmes lors du déploiement), ce qui est suffisant pour un volume faible/modéré. Si vous prévoyez un trafic important, vous devriez monter en gamme à partir de là.
  5. Changez votre disque de démarrage pour Ubuntu 20.04 LTS ou supérieur, puis choisissez SSD persistent disk comme type de disque de démarrage et définissez la taille à 50 GB.
  6. Cochez à la fois ‘Allow HTTP traffic’ et ‘Allow HTTPS traffic’ dans Firewall
  7. Cliquez sur ‘Create’

Une fois que votre instance est Running, connectez-vous à elle en cliquant sur le bouton SSH, puis 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

OpenReplay 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 rejouer les sessions des utilisateurs.

Le moyen le plus simple de gérer SSL dans Google Cloud est de configurer un équilibreur de charge (Google Load Balancing) et d’exécuter OpenReplay derrière celui-ci. Une autre option consiste à générer ou à utiliser votre propre certificat SSL et à 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 Google (option 1)

Section titled Configurer l’équilibreur de charge Google (option 1)

La première étape consiste à ajouter un groupe d’instances, qui sera requis plus tard pour l’équilibreur de charge :

  1. Accédez à ‘Compute Engine’ > ‘Instance Groups’
  2. ‘Create Instance Group’ et sélectionnez New unmanaged instance group
  3. Choisissez votre ‘Location’ préférée, puis sélectionnez le ‘Network’ et choisissez l’instance VM OpenReplay
  4. Cliquez sur ‘Create’

Il est maintenant temps de créer l’équilibreur de charge :

  1. Accédez à ‘Network Services’ > ‘Load Balancing’
  2. ‘Create Load Balancer’ et choisissez HTTP(S) Load Balancing
  3. Choisissez ‘From Internet to my VMs’ puis cliquez sur ‘Continue’
  4. Commencez par ‘Backend configuration’ et cliquez sur ‘Backend services’ > ‘Create a backend service’
  5. Sélectionnez Instance group pour ‘Backend type’. Dans ‘Backends’ > ‘New backend’, choisissez le groupe d’instances que vous avez créé précédemment, définissez le port sur 80 puis cliquez sur ‘Done’.
  6. Faites défiler jusqu’à ‘Health Check’ et ‘Create a health check’. Choisissez HTTP pour le ‘Protocol’, définissez le ‘Port’ sur 80 puis changez le ‘Request path’ en /healthz. Conservez les autres valeurs par défaut, puis cliquez sur ‘Save’.
  7. Cliquez sur ‘Create’
  8. Dans ‘Frontend configuration’, choisissez HTTPS pour ‘Protocol’ puis, dans ‘Certificate’, créez un nouveau certificat (géré par Google) ou apportez le vôtre. Cliquez sur ‘Done’.
  9. Vérifiez puis cliquez sur ‘Create’

Une fois créé, accédez à Cloud DNS (ou à votre fournisseur de services DNS) et créez un A Record qui pointe vers l’équilibreur de charge en utilisant son IP (qui se trouve dans le tableau de bord Load Balancing).

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’est-à-dire openreplay.mycompany.com/signup).

Apporter/générer votre certificat SSL (option 2)

Section titled Apporter/générer votre certificat SSL (option 2)

Comme alternative à la création d’un équilibreur de charge, vous pouvez apporter (ou générer) votre propre certificat SSL.

  1. Tout d’abord, accédez à Cloud DNS (ou à votre autre fournisseur de services 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 la VM en utilisant son IP publique (qui se trouve dans le tableau de bord Compute Engine).

  2. 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 OpenReplay, exécutez cd /var/lib/openreplay/openreplay/scripts/helmcharts && bash certmanager.sh et suivez les étapes.

  1. Si vous souhaitez activer la redirection de http vers https (recommandé), 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 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
  1. Enfin, réinstallez OpenReplay NGINX :
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’est-à-dire openreplay.mycompany.com/signup).

Si vous rencontrez des problèmes, rejoignez notre Slack ou consultez notre Forum et obtenez de l’aide auprès de notre communauté.