En esta guía se explica cómo hacer lo siguiente:
- Aprovisionar un servidor de etiquetado en App Engine de Google Cloud Platform (GCP).
- Actualizar el servidor de etiquetado para gestionar el tráfico en tiempo real.
- Aumentar o reducir el número de servidores que ejecutan el contenedor de Google Tag Manager.
Requisitos previos
- Necesitas una cuenta de GCP. Si no tienes una, créala.
- Necesitas una cuenta de facturación de GCP. Si no la tienes, crea una (se necesita el rol Creador de la cuenta de facturación).
- Debes tener el rol Creador del proyecto y el rol Usuario de la cuenta de facturación. Consulta más información sobre cómo añadir roles.
1. Aprovisionar un servidor
Puedes aprovisionar un servicio de App Engine automáticamente en Google Tag Manager o manualmente en Google Cloud.
Selecciona un método de aprovisionamiento
Configuración inicial del servidor (testing
)
La configuración de pruebas es adecuada para explorar el producto enviando pequeñas cantidades de tráfico de prueba y usando la función de vista previa en Tag Manager. Esta configuración es una clase de instancia F1 de App Engine en el entorno estándar y, en la mayoría de los casos, no se te cobrará nada.
2. Usar App Engine en la fase de producción
En la configuración de production
, cada servidor cuesta aproximadamente 40 USD al mes. Cada servidor es una instancia de App Engine con 1 vCPU, 0,5 GB de memoria y disco de 10 GB en el entorno flexible.
Consulta cómo gestionar los costes de App Engine para saber cómo funciona la facturación de esta plataforma y cómo configurar alertas de facturación. Te recomendamos encarecidamente que configures una alerta de facturación.
Configuración de producción recomendada
Te recomendamos que utilices al menos tres servidores para reducir el riesgo de pérdida de datos en caso de que se produzca una interrupción en el funcionamiento de alguno de ellos. No obstante, puedes usar menos servidores (o más). Se estima que, al autoescalar entre tres y seis servidores (que es el número predeterminado), se puedan gestionar entre 50 y 200 solicitudes por segundo. El rendimiento depende del número de etiquetas y de lo que esas etiquetas hagan.
Para configurar el servidor de etiquetado:
Abre Cloud Shell de Google Cloud Platform.
Selecciona el proyecto de Cloud Platform en Cloud Shell. Sustituye
project ID
por el ID del proyecto de GCP que anotaste anteriormente:gcloud config set project project ID
Para volver a configurar el servidor de etiquetado en un entorno de producción, ejecuta la secuencia de comandos de configuración que se indica abajo. Realiza las siguientes tareas:
- Cambia el tipo de implementación a
production
. - Configura más servidores para servir tráfico de producción. Te recomendamos que tengas un mínimo de tres servidores.
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- Cambia el tipo de implementación a
Opcional: Inhabilitar el registro de solicitudes de App Engine
De forma predeterminada, App Engine registra información sobre cada una de las solicitudes que recibe (por ejemplo, la ruta de la solicitud o los parámetros de consulta). Si el servidor de etiquetado gestiona un gran número de solicitudes al mes (por ejemplo, más de un millón), puede que los mensajes de registro generen cargos elevados. Para reducir o eliminar esos cargos, te recomendamos que inhabilites el registro de solicitudes de App Engine.
Para inhabilitar el registro de solicitudes de App Engine:
- En Google Cloud Platform, abre el Enrutador de registros. Asegúrate de que estás en el proyecto correspondiente al ID de tu contenedor:
- En la línea Tipo: Segmento de Cloud Logging con Nombre: _Default, selecciona el menú adicional y haz clic en Editar sumidero.
- En Destino del sumidero, selecciona el contenedor de registros _Default.
En Seleccionar los registros que se incluirán en el sumidero, añade una línea. Introduce la siguiente regla en el filtro de inclusión:
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")
Para inhabilitar también el almacenamiento de registros del balanceador de carga, añade una línea e introduce la siguiente regla en el filtro de inclusión:
NOT LOG_ID("requests")
Haz clic en el botón Actualizar sumidero situado en la parte inferior.
A partir de ahora, las solicitudes de App Engine se excluirán del almacenamiento de registros. Ve al Explorador de registros para asegurarte de que las solicitudes nuevas no se muestren en los registros.
3. Asignar la implementación al dominio personalizado
La implementación predeterminada de etiquetado en el servidor se aloja en un dominio de App Engine. Te recomendamos que modifiques la implementación para utilizar un subdominio de tu sitio web.
Asigna el subdominio de tu sitio web al servidor de etiquetado.
4. Añadir la URL del servidor a Google Tag Manager
Ahora que tienes un servidor, debes asegurarte de que Google Tag Manager sabe que debe usarlo.
Abre Google Tag Manager.
Haz clic en el contenedor del servidor que quieres dirigir al servidor de etiquetado.
Abre la configuración de tu contenedor del servidor en la pestaña Administrar > Configuración del contenedor.
Haz clic en Añadir URL y pega la URL de tu servidor.
Haz clic en Guardar y vuelve a tu espacio de trabajo.
5. Validación
Ahora que has configurado el servidor de etiquetado, asegúrate de que funciona correctamente. En tu espacio de trabajo de Tag Manager, haz clic en el botón Vista previa. Si se carga la página de vista previa, significa que todo está configurado correctamente.
Previsualizar varias URLs
Si has asignado varios dominios a un único servidor de etiquetado, asegúrate de que cada URL se haya añadido a la configuración del contenedor.
Si has proporcionado varias URLs, todas las rutas (la cadena que hay después del nombre de dominio) deben coincidir.
Funciona | No funciona |
---|---|
URL 1: example.com/abc URL 2: example2.com/abc |
URL 1: example.com/abc URL 2: example2.com/def |
Si se añaden varias URLs, junto al botón Previsualizar verás un icono que te permite seleccionar la URL para previsualizarla.
Solucionar problemas con tiempos de espera que se agotan en despliegues de producción
Al ejecutar la secuencia de comandos de configuración para crear o volver a configurar el servidor de etiquetado, es posible que se agote el tiempo de espera de la secuencia de comandos. Esto puede ocurrir por varios motivos. Los dos más habituales son los siguientes:
Las cuentas de servicio tienen permisos incorrectos: las cuentas de servicio de Compute Engine y App Engine son responsables de implementar y mantener el despliegue de producción. De forma predeterminada, están preconfiguradas con los permisos adecuados. Sin embargo, en algunos casos puede que no tengan los permisos correctos debido a la política de la organización.
- En la barra de navegación izquierda de la consola de Google Cloud, ve a la página IAM y administración.
- Busca la cuenta de servicio de Compute Engine
<project_number>-compute@developer.gserviceaccount.com
y la cuenta de servicio de App Engine<project_name>@appspot.gserviceaccount.com
. - Ambas cuentas deben tener el rol
Editor
. Si alguna de ellas no tiene el rolEditor
, actualiza el rol haciendo clic primero en el icono del lápiz situado a la derecha de la cuenta en cuestión y, después, en el menú desplegable del rol. A continuación, desplázate hasta la parte superior, selecciona Proyecto y, a continuación, Editor.
La cuota es insuficiente: el despliegue de producción consume la cuota de Compute Engine. Si el proyecto no tiene suficiente cuota, es posible que se agote el tiempo de espera del despliegue mientras intenta aprovisionar recursos.
- En la barra de navegación izquierda de la consola de Google Cloud, ve a la página IAM y administración y, en la barra de navegación izquierda de esa página, haz clic en la pestaña Cuotas.
- En la parte superior de la página, haz clic en el cuadro de texto en el que se indica Filtrar tabla y escribe
Compute Engine API
. Haz clic en el único resultado. - Comprueba que todos los estados de cuota estén dentro del límite o tengan una marca de verificación verde.
- Busca y haz clic en CPUs. Comprueba que el uso actual más el número de instancias que se van a desplegar sigue por debajo del límite de la región de despliegue.