Guía de configuración de App Engine

En esta guía se explica cómo hacer lo siguiente:

  • Aprovisionar manualmente un servidor de etiquetado en App Engine de Google Cloud Platform.
  • Actualizar el servidor de etiquetado aprovisionado automáticamente para que pueda gestionar el tráfico en tiempo real.
  • Aumentar o reducir el número de servidores que ejecutan el contenedor de servidor que hayas configurado.

El proceso implica:

  1. Crear un proyecto de Google Cloud Platform o ir a un proyecto ya disponible en la consola de Google Cloud.
  2. Ejecutar un script de shell que te indicará los pasos para configurar el servidor de etiquetado o cambiar la configuración de un servidor de etiquetado que ya tengas.

La configuración de prueba (establecida de forma predeterminada durante el proceso de aprovisionamiento automático) es adecuada cuando hay poco tráfico de prueba y para usar la función de vista previa en Tag Manager. Sin embargo, te recomendamos que utilices el script de shell para cambiar la configuración de prueba de tu servidor por una configuración de producción antes de enviar una cantidad significativa de tráfico en tiempo real al servidor.

Con la configuración de prueba, no se te cobrará en la mayoría de los casos. La configuración de prueba es una clase de instancia F1 de App Engine en el entorno estándar.

En la configuración de producción, 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. 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. Sin embargo, 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, aunque el rendimiento variará en función del número de etiquetas y de lo que esas etiquetas hagan.

Consulta cómo gestionar los costes de App Engine para saber cómo funciona la facturación y cómo configurar alertas. Te recomendamos encarecidamente que crees una alerta de facturación.

Crear un proyecto de Google Cloud Platform (GCP)

Si has creado un servidor de GCP mediante el proceso de aprovisionamiento automático, ya tendrás un proyecto de GCP. Para acceder a él, ve a console.cloud.google.com y consulta los proyectos a los que tienes acceso. El ID del proyecto será el ID de tu contenedor con una secuencia de caracteres aleatorios al final.
Captura de pantalla del selector de proyectos de GCP, donde se ve un ID de proyecto de Tag Manager de muestra.

Si no has creado ningún servidor de GCP mediante el proceso de aprovisionamiento automático:

Si aún no has usado GCP: crea una cuenta de GCP y una cuenta de facturación de GCP.

Si ya utilizas GCP: crea un proyecto en GCP. Puedes asignar el nombre que quieras al proyecto, pero te recomendamos que utilices el ID de tu contenedor. Ese nombre solo se usará en GCP. Apunta el ID del proyecto.

Crear o volver a configurar un servidor de etiquetado

  1. Abre Cloud Shell de Google Cloud Platform.
  2. 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>
    
  3. Ejecuta el siguiente comando y sigue las instrucciones del script.

    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

    El script de shell te ayudará a realizar cualquiera de estas tareas:

    1. Configurar un servidor de etiquetado, si aún no has configurado ninguno.
    2. Añadir más servidores, en caso de que quieras empezar a servir tráfico de producción desde un servidor de etiquetado.
    3. Cambiar la configuración, si ya tienes un servidor de etiquetado.

Configurar la URL del contenedor de servidor

Si ya has configurado el servidor mediante el proceso de aprovisionamiento automático, sáltate este paso.

Tu aplicación se desplegará en un subdominio de App Engine. Puedes ejecutar el siguiente comando para obtener la URL:

gcloud app browse

Copia la URL y ve a tu contenedor de Tag Manager en el servidor: Administrador > Configuración del contenedor. Pega la URL en "URL del contenedor de servidor", haz clic en Guardar y vuelve a tu espacio de trabajo.

Validación

En Tag Manager, previsualiza el contenedor. Si se carga la página de vista previa, significa que todo está configurado correctamente.

Mapear dominios personalizados

Si acabas de crear un servidor de etiquetado, sigue estas instrucciones para dirigir el subdominio de tu sitio web al servidor de etiquetado.

Inhabilitar el registro de solicitudes de App Engine (opcional)

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 ello, sigue estos pasos:

  1. Ve a Logging -> Enrutador de registros. Asegúrate de que estás en el proyecto correspondiente al ID de tu contenedor:
    Captura de pantalla del selector de proyectos de GCP, donde se ve un ID de contenedor de Tag Manager de muestra.
  2. En la línea Tipo: Segmento de Cloud Logging, Nombre: _Default, selecciona el menú adicional y haz clic en Editar sumidero.
  3. En Destino del sumidero, selecciona el segmento de registros _Default.
  4. En Seleccionar los registros que se incluirán en el sumidero, añade este texto al filtro de inclusión de una línea nueva: NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log") Captura de pantalla del filtro de inclusión de registros de GCP, donde se muestra la configuración definida.
  5. Para inhabilitar también el almacenamiento de registros del balanceador de carga, añade este texto en una línea nueva al filtro de inclusión: NOT LOG_ID("requests"). Nota: Se inhabilitará todo el almacenamiento de registros del balanceador de carga, incluidas las solicitudes que no se envían al contenedor del servidor.
  6. Haz clic en el botón Actualizar sumidero situado en la parte inferior.

A partir de ahora, la solicitud de App Engine se excluirá del almacenamiento de registros. Ve a Logging -> Visualizador de registros y asegúrate de que las solicitudes nuevas no se muestren en los registros.

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:

  1. 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 configuradas 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.

    1. En la barra de navegación izquierda de la consola de Google Cloud, ve a la página IAM y administración.
    2. 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.
    3. Ambas cuentas deben tener el rol Editor. Si alguna de ellas no tiene el rol Editor, 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 a la parte superior, selecciona Proyecto y, a continuación, Editor.
  2. Cuota 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.

    1. 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.
    2. 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.
    3. Comprueba que todos los estados de cuota estén dentro del límite o tengan una marca de verificación verde.
    4. 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.