Configurer un serveur de prévisualisation privée

Ce guide est destiné aux développeurs qui utilisent Cloud Run pour le taggage côté serveur et souhaitent configurer un serveur de prévisualisation privé.

Le taggage côté serveur vous permet de prévisualiser les modifications de taggage en mode aperçu et débogage avant de les appliquer. Il s'agit d'un élément essentiel du workflow de développement, qui permet de garantir que vos balises se comportent comme prévu. L'activation de cette fonctionnalité nécessite deux déploiements Cloud Run: un pour un serveur de taggage et un pour un serveur de prévisualisation. Ce guide fournit des informations supplémentaires sur la manière dont les deux serveurs communiquent et sur la façon de les configurer dans un environnement d'entreprise.

Présentation

Lorsque vous déployez le taggage côté serveur dans Cloud Run, vous pouvez le faire avec ou sans équilibreur de charge. Pour les déploiements multirégionaux, vous avez besoin d'un équilibreur de charge pour diriger le trafic vers l'instance la plus proche.

Sans équilibreur de charge

Sans équilibreur de charge

Figure 1: Déploiement sans équilibreur de charge

Avec équilibreur de charge

Avec un équilibreur de charge

Figure 2: Déploiement avec un équilibreur de charge

Dans les deux déploiements, le point d'entrée du serveur d'aperçu et de l'environnement d'ajout de tags en production est la même URL (par exemple, sgtm.example.com). Le serveur de taggage est déployé avec une variable d'environnement appelée PREVIEW_SERVER_URL, qui représente l'URL du serveur de prévisualisation.

Lorsque vous accédez à tagmanager.google.com et ouvrez le mode Aperçu, Tag Manager accède à sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] et définit un cookie. Lorsque vous utilisez ensuite le même navigateur pour explorer le site Web cible, les requêtes envoyées à sgtm.example.com transfèrent également le cookie. Grâce au cookie, le serveur de taggage identifie qu'il s'agit de vos événements. Il ne les transmet donc qu'au serveur d'aperçu, où vous pourrez les consulter et résoudre les problèmes.

Le serveur de taggage transfère ces événements en envoyant des requêtes HTTP à l'URL définie dans la variable d'environnement PREVIEW_SERVER_URL.

À propos des serveurs d'aperçu publics

Ce comportement par défaut nécessite que votre serveur de prévisualisation soit public. Cependant, cela pose problème pour certaines organisations, car elles ont des restrictions quant à l'infrastructure pouvant être publique et elles appliquent généralement des mesures de sécurité supplémentaires par le biais d'un équilibreur de charge. Un équilibreur de charge vous offre les avantages suivants:

  • Meilleur contrôle des fonctionnalités telles que les règles SSL pour limiter les suites de chiffrement.
  • Intégration native à Cloud Armor pour les pare-feu d'application Web (WAF) ou les attaques par déni de service distribué (DDoS).
  • Des fonctionnalités avancées de gestion du trafic

Acheminer votre serveur de prévisualisation via un équilibreur de charge

Pour créer un serveur de prévisualisation privé, utilisez le routage basé sur l'hôte via l'équilibreur de charge avec un sous-domaine supplémentaire. Le reste de ce guide explique comment acheminer votre serveur de prévisualisation via un équilibreur de charge.

Conditions préalables

  • Le serveur de taggage est déployé sur Cloud Run derrière un équilibreur de charge.
  • Accès au projet Google Cloud
  • Accès à un nouveau sous-domaine du serveur de prévisualisation (par exemple, preview.sgtm.example.com).

Étape 1: Mettez à jour la variable d'environnement avec un nouveau sous-domaine

Pour utiliser le nouveau domaine de serveur d'aperçu, mettez à jour la variable d'environnement du serveur de taggage côté serveur PREVIEW_SERVER_URL:

  1. Ouvrez Cloud Run.
  2. Sélectionnez le serveur de taggage.
  3. Cliquez sur Modifier, puis sur Déployer une nouvelle révision.
  4. Sous l'onglet Variables et secrets, dans la section Conteneurs, remplacez PREVIEW_SERVER_URL par le nouveau domaine. Par exemple, preview.sgtm.example.com.

Étape 2: Configurer l'équilibreur de charge existant pour qu'il utilise le routage basé sur l'hôte

Pour configurer l'équilibreur de charge existant, utilisez le routage basé sur l'hôte et envoyez le trafic vers le serveur approprié:

  1. Dans Cloud Run, ouvrez la page Équilibrage de charge, puis cliquez sur le nom de votre équilibreur de charge.
  2. Cliquez sur le bouton Modifier.
  3. Cliquez sur la page Configuration du backend et ouvrez la liste déroulante Services de backend et buckets backend.
  4. Cliquez sur Créer un service de backend et procédez comme suit :
    1. Donnez-lui un nom approprié (par exemple, preview-backend-service).
    2. Sélectionnez le type de backend Groupe de points de terminaison du réseau sans serveur.
  5. Dans la section Backend, créez un groupe de points de terminaison du réseau sans serveur et procédez comme suit :
    1. Attribuez-lui un nom et sélectionnez la région dans laquelle le serveur de prévisualisation est hébergé.
    2. Sélectionnez Cloud Run comme type de groupe de points de terminaison du réseau sans serveur et le serveur de prévisualisation en tant que service.
    3. Cliquez sur Créer.
  6. Modifiez d'autres paramètres si nécessaire ou conservez les valeurs par défaut, puis cliquez sur Créer.

Étape 3: Ajouter une règle et mettre à jour le contrôle du trafic d'entrée

Pour ajouter une règle pour la nouvelle URL hôte et mettre à jour le contrôle du trafic d'entrée:

  1. Ouvrez la page Règles d'hôte et de chemin d'accès.
  2. Ajoutez une règle dans laquelle :
    • L'hôte est la nouvelle URL: preview.sgtm.example.com
    • Le chemin d'accès est: /*
    • Le backend est: preview-backend-service
  3. Cliquez sur le bouton Mettre à jour pour redéployer l'équilibreur de charge.
  4. Retournez dans Cloud Run, ouvrez le serveur de prévisualisation, puis sélectionnez l'onglet Mise en réseau.
  5. Définissez le contrôle d'entrée sur Interne et cochez Autoriser le trafic provenant des équilibreurs de charge d'application externes afin qu'il n'est pas accessible publiquement.

Résultat: L'architecture de votre serveur devrait maintenant ressembler à la Figure 3, dans laquelle les requêtes de trafic sont toutes dirigées vers le serveur de taggage, et celui-ci peut transférer les requêtes au serveur de prévisualisation.

Routage basé sur l'hôte

Figure 3: Utilisation du routage basé sur l'hôte

Vérifier votre configuration

Pour vérifier votre configuration:

  1. Ouvrez Google Tag Manager.
  2. Ouvrez votre conteneur serveur.
  3. Cliquez sur Admin > Paramètres du conteneur, puis définissez l'URL du conteneur serveur sur l'URL du serveur de prévisualisation.
  4. Fermez la fenêtre et prévisualisez l'espace de travail. La fenêtre de débogage s'ouvre. Lorsque vous naviguez sur votre site Web, vos événements doivent apparaître dans la fenêtre de débogage.