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.
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.
- 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 pourFirestore
peut accéder à ses identifiants JSON et les exporter sous le nom de fichierlocal_service_account_key.json
- 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. - Faites pointer la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
vers identifiant. - 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. 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 surtrue
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
etPREVIEW_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:
- Récupérez la version actuelle de l'image à l'adresse
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
. - Déployez votre serveur avec les mêmes paramètres que le déploiement précédent.
- Mettez à jour le serveur de prévisualisation unique et tous les serveurs de taggage du cluster.
- Arrêtez tous les anciens serveurs.
Pour vérifier que la mise à jour a bien été effectuée:
- 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.
- 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.