Guide de configuration manuelle

Le flux de provisionnement automatique permet de déployer le serveur Cloud Run en quelques clics. Si vous souhaitez provisionner le serveur dans d'autres environnements, vous pouvez le faire manuellement. Le serveur de taggage est un serveur Node.js dans une image Docker.

Le provisionnement manuel du serveur de taggage nécessite de provisionner le côté serveur de tags (SST) et un serveur de prévisualisation séparément. Le cluster SST est point d'entrée pour toutes les requêtes au serveur de taggage et traitera les requêtes comme comme décrit dans l'article Présentation du taggage côté serveur. Le serveur de prévisualisation est pour prévisualiser un conteneur.

La figure 1 illustre l'interaction entre les données et les tags. et le serveur de prévisualisation.

Diagramme du flux de données du serveur de prévisualisation et des serveurs de taggage

Figure 1 : Diagramme du flux de données des serveurs de taggage et du serveur d'aperçu.

Ce guide vous explique comment:

  • Affichez tous les paramètres disponibles pour l'image Docker.
  • (Facultatif) Inclure les identifiants BigQuery
  • Provisionnez manuellement un serveur de prévisualisation à l'aide de l'image Docker SST.
  • Provisionnez manuellement un cluster SST à l'aide de l'image Docker SST.
  • Vérifiez que le serveur de prévisualisation et le cluster SST sont correctement configurés.
  • Mettez régulièrement à jour la version de votre serveur de taggage une fois le serveur provisionné.

Pour exécuter les commandes Docker de ce guide, vous devez d'abord installer Docker sur votre ordinateur.

Afficher tous les paramètres disponibles pour l'image Docker

L'image Docker du serveur de taggage est disponible à l'adresse suivante:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Le serveur de taggage et le serveur de prévisualisation utilisent la même image Docker avec différentes options. Dans cette section, nous verrons comment rechercher tous les paramètres disponibles utilisables avec l'image Docker.

Pour afficher tous les paramètres disponibles, exécutez la commande suivante à l'aide de la outil de ligne de commande docker:

docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help

(Facultatif) Inclure les identifiants Google Cloud

Pour utiliser l'API BigQuery ou Firestore en dehors de Google Cloud, vous devez fournir un identifiant de compte de service autorisé à accéder à ces ressources.

  1. Suivez ce guide pour créer un compte de service avec les données BigQuery Éditeur pour l'accès BigQuery ou Utilisateur Cloud Datastore pour Firestore peut accéder à ses identifiants JSON et les exporter sous le nom de fichier local_service_account_key.json
  2. Installez les identifiants JSON dans un volume accessible à l'image. À l'aide de docker run, vous pouvez spécifier -v local_service_account_key.json:/app/service_account_key.json pour installer les identifiants sur l'image.
  3. Faites pointer la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS vers identifiant.
  4. Vous pouvez également spécifier l'ID de votre projet Google Cloud dans le champ La variable d'environnement GOOGLE_CLOUD_PROJECT permet au serveur de taggage choisissent implicitement le projet.
  5. Exécutez le serveur. La commande suivante exécute le serveur de taggage avec les identifiants inclus :

    docker run -v local_service_account_key.json:/app/service_account_key.json \
    -p 8080:8080 \
    -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \
    -e GOOGLE_CLOUD_PROJECT='<your project id>' \
    -e CONTAINER_CONFIG='<config string>' \
    gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
    

Selon le système sur lequel le serveur de taggage est déployé, différentes manières d'installer les identifiants. Par exemple, Kubernetes et Docker Swarm fournit des guides sur la gestion des secrets. Reportez-vous à votre du système de fichiers.

Veillez à suivre les bonnes pratiques pour protéger vos identifiants.

Provisionner manuellement un serveur de prévisualisation

Le serveur de prévisualisation vous permet de prévisualiser le conteneur serveur. Pour exécuter au serveur de prévisualisation, exécutez l'image Docker avec l'environnement suivant : variables transmises à l'environnement Docker.

Paramètres obligatoires

  • CONTAINER_CONFIG : chaîne de configuration du conteneur serveur. Dans dans Tag Manager, accédez à l'espace de travail de votre conteneur serveur, puis cliquez sur en haut à droite de la page. Cliquez sur Provisionnement manuel serveur de taggage pour rechercher la valeur Container Config.

  • RUN_AS_PREVIEW_SERVER : définissez cette valeur sur true pour provisionner le serveur en tant que serveur de prévisualisation.

Exemple avec l'outil de ligne de commande Docker

Pour provisionner un serveur de prévisualisation en local, exécutez la commande suivante:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Vous devriez obtenir une réponse 200 à partir d'une requête http://localhost:8080/healthz Vous pouvez également utiliser la variable d'environnement PORT pour modifier le port.

Bonnes pratiques

  • Vous devez déployer un seul serveur de prévisualisation. Ne pas configurer l'autoscaling au-delà d'une instance.
  • Une fois que vous avez configuré un serveur de prévisualisation à l'aide de Docker, configurez une URL HTTPS pour point vers le serveur de prévisualisation. Cela est nécessaire pour configurer le cluster SST.
  • Le délai avant expiration de votre équilibreur de charge ou CDN doit être supérieur à 20 secondes sinon le mode Aperçu ne fonctionnera pas correctement.

Provisionner manuellement un cluster de taggage côté serveur

Le cluster SST sert de point d'entrée et sert de proxy pour les requêtes de prévisualisation du serveur de prévisualisation et gère toutes les autres requêtes comme décrit dans Présentation du taggage côté serveur. Utilisez les paramètres obligatoires suivants avec l'image Docker du serveur de taggage pour provisionner un cluster SST dans compatible avec Docker.

Paramètres obligatoires

  • CONTAINER_CONFIG : chaîne de configuration du conteneur serveur. Dans dans Tag Manager, accédez à l'espace de travail de votre conteneur serveur, puis cliquez sur en haut à droite de la page. Cliquez sur Provisionnement manuel serveur de taggage pour rechercher la valeur Container Config.

  • PREVIEW_SERVER_URL : URL HTTPS du serveur de prévisualisation. Ce paramètre ne doit être définie que pour le provisionnement du serveur de taggage, et n'est pas nécessaire pour de provisionner le serveur de prévisualisation. Consultez la section ci-dessus pour en savoir plus sur la configuration du serveur de prévisualisation.

Exemple avec l'outil de ligne de commande Docker

Pour provisionner un seul serveur de taggage en local, exécutez la commande suivante:

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Une réponse 200 envoyée à http://localhost:8080/healthz doit s'afficher. Vous pouvez également utiliser la variable d'environnement PORT pour modifier le port.

Bonnes pratiques

  • Les serveurs de taggage côté serveur peuvent être provisionnés en tant que serveur unique ou en tant que cluster. Nous vous recommandons de le provisionner en tant que cluster afin d'optimiser disponibilité, évolutivité et performances. Notez que lorsque le provisionnement en tant que cluster, chaque instance de serveur doit être configurée avec les mêmes variables d'environnement CONTAINER_CONFIG et PREVIEW_SERVER_URL.
  • Assurez-vous de faire pointer le déploiement de votre cluster SST vers un nouveau sous-domaine sur votre un site Web distinct du sous-domaine qui diffuse votre application. Par exemple, si votre application diffuse du trafic Web sur example.com, utilisez un sous-domaine, tel que analytics.example.com, pour votre serveur de taggage ;
  • Une fois que vous avez configuré un cluster SST à l'aide de Docker, configurez une URL HTTPS pour point vers le cluster SST.
  • Veillez à redémarrer régulièrement les serveurs pour vous assurer qu'ils ont les dernières mises à jour du code pour SST. Dans le cas contraire, pour les nouvelles fonctionnalités SST. Une façon de savoir quand le serveur doit le redémarrage consiste à configurer des vérifications d'activité, comme expliqué ci-dessous. Notez également que toute mise à jour publiée pour votre conteneur serveur s'applique toujours sans qu'il soit nécessaire de redémarrer.
  • Utilisez le point de terminaison /healthz existant (par exemple, https://analytics.example.com/healthz) sur vos serveurs de taggage pour configurer des vérifications d'activité. Une réponse non opérationnelle indique que le serveur doit être redémarré.
  • Le conteneur Docker inclut une commande de vérification de l'état par défaut (HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]) qui interroge le /healthz régulièrement. Si vous dépendez de la vérification de l'état de Docker, vous pouvez modifier les paramètres en suivant les instructions Docker.
  • Si le serveur d'aperçu et le serveur de taggage se trouvent sur la même origine, hébergez le vers le serveur de prévisualisation sur un chemin différent de celui du serveur de taggage. Spécifiez le PREVIEW_SERVER_URL, y compris le chemin d'accès.
  • Les serveurs provisionnés ne doivent pas comporter plus d'un vCPU. Les vCPU supplémentaires ne sont pas utilisés et ont un impact négatif sur l'autoscaling.

Validation

Configurer l'URL du conteneur de serveur

Dans Tag Manager, accédez à votre conteneur serveur. Sous Admin > Conteneur Paramètres : place l'URL du serveur de taggage dans URL du conteneur du serveur puis cliquez sur Enregistrer.

Valider via le mode Aperçu

Dans l'espace de travail Tag Manager, prévisualisez le conteneur en cliquant sur Prévisualiser. la page d'aperçu se charge. Dans un autre onglet de navigateur, accédez à n'importe quel chemin l'URL du conteneur serveur. Si la page d'aperçu affiche la requête envoyée, alors tout est configuré correctement.

Si vous avez mappé plusieurs sous-domaines sur un seul serveur d'insertion de balises et que vous souhaitez afficher un aperçu sur chaque sous-domaine, ajoutez des URL de conteneur de serveur supplémentaires sous Administration > Paramètres du conteneur. Si plusieurs URL sont fournies, tous les chemins d'URL doit correspondre (la chaîne d'informations située après le nom de domaine). Pour Par exemple, vous pouvez afficher un aperçu sur example.com/abc et example2.com/abc, mais Impossible d'afficher l'aperçu sur example.com/abc et example2.com/def. Si plusieurs URL sont une icône située à côté du bouton Aperçu vous permet d'effectuer les actions suivantes : sélectionnez l'URL à prévisualiser.

Mettre à jour la version du serveur de taggage

L'image gtm-cloud-image contient Node.js et les bibliothèques requises pour la de taggage pour fonctionner. L'image Docker est régulièrement mise à jour les correctifs de sécurité et les nouvelles fonctionnalités. Nous vous recommandons de mettre à jour votre serveur de taggage pour chaque version majeure (par exemple, mise à niveau de la version 1.x.x vers la version 2.x.x).

Pour mettre à jour votre image Docker:

  1. Récupérez la version actuelle de l'image à l'adresse gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable.
  2. Déployez votre serveur avec les mêmes paramètres que le déploiement précédent.
  3. Mettez à jour le serveur de prévisualisation unique et tous les serveurs de taggage du cluster.
  4. Arrêtez tous les anciens serveurs.

Pour vérifier que la mise à jour a bien été effectuée:

  1. Dans votre conteneur serveur, cliquez sur le bouton Aperçu pour démarrer une nouvelle debug, puis envoyez une requête dans un onglet distinct.
  2. Dans la section "Summary" (Résumé), sélectionnez l'onglet Console (Console) et assurez-vous qu'il n'y a pas messages vous demandant de mettre à jour le serveur de taggage.

Tag Manager peut afficher des messages vous demandant de mettre à jour votre serveur de taggage pour jusqu'à 24 heures après la mise à jour du serveur. Toutefois, l'aperçu affiche un message à jour concernant la version du serveur de taggage.