Configura un servidor de vista previa privado

Esta guía está dirigida a los desarrolladores que usan Cloud Run para el etiquetado del servidor y que desean configurar un servidor de vista previa privado.

El etiquetado del servidor te permite obtener una vista previa de los cambios de etiquetado en el modo de vista previa y depuración antes de aplicarlos. Esta es una parte fundamental del flujo de trabajo de desarrollo para asegurarte de que tus etiquetas se comporten según lo previsto. Para habilitar esta función, se requieren dos implementaciones de Cloud Run: una para un servidor de etiquetado y otra para un servidor de vista previa. En esta guía, se proporciona más información sobre cómo se comunican los dos servidores y cómo puedes configurarlos en un entorno empresarial.

Descripción general

Cuando implementas el etiquetado del servidor en Cloud Run, puedes hacerlo con o sin un balanceador de cargas. Para las implementaciones multirregionales, necesitas un balanceador de cargas para dirigir el tráfico a la instancia más cercana.

Sin un balanceador de cargas

Figura 1: Implementación sin un balanceador de cargas

Con un balanceador de cargas

Figura 2: Implementación con un balanceador de cargas

En ambas implementaciones, el punto de entrada del servidor de versión preliminar y el entorno de etiquetado de producción es la misma URL (por ejemplo, sgtm.example.com). El servidor de etiquetado se implementa con una variable de entorno llamada PREVIEW_SERVER_URL, que representa la URL del servidor de versión preliminar.

Cuando visitas tagmanager.google.com y abres el modo de vista previa, Tag Manager navega a sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] y establece una cookie. Cuando usas el mismo navegador para explorar el sitio web de destino, las solicitudes que se envían a sgtm.example.com también reenvían la cookie. Debido a la cookie, el servidor de etiquetado sabe que estos son tus eventos, por lo que solo los reenvía al servidor de vista previa para que los veas y soluciones los problemas.

El servidor de etiquetado reenvía estos eventos realizando solicitudes HTTP a la URL configurada en la variable de entorno PREVIEW_SERVER_URL.

Acerca de los servidores de vista previa para el público

Este comportamiento predeterminado requiere que tu servidor de versión preliminar sea público. Sin embargo, esto es problemático para algunas organizaciones, ya que tienen restricciones sobre qué infraestructura puede ser pública y, por lo general, aplican medidas de seguridad adicionales a través de un balanceador de cargas. Un balanceador de cargas te ofrece lo siguiente:

  • Mayor control sobre funciones como las políticas de SSL para restringir los conjuntos de algoritmos de cifrado
  • Integración nativa con Cloud Armor para firewall de aplicación web (WAF) o denegación de servicio distribuido (DDoS).
  • Funciones avanzadas de administración del tráfico

Enruta tu servidor de vista previa a través de un balanceador de cargas

Para crear un servidor de vista previa privado, usa el enrutamiento basado en host a través del equilibrador de cargas con un subdominio adicional. En el resto de esta guía, se explica cómo desviar tu servidor de vista previa a través de un balanceador de cargas.

Requisitos previos

  • El servidor de etiquetado se implementa en Cloud Run detrás de un balanceador de cargas.
  • Acceso al proyecto de Google Cloud
  • Acceso a un subdominio nuevo para el servidor de vista previa, por ejemplo, preview.sgtm.example.com.

Paso 1: Actualiza la variable de entorno con un nuevo subdominio

Para usar el nuevo dominio del servidor de vista previa, actualiza la variable de entorno del servidor de etiquetado del servidor PREVIEW_SERVER_URL:

  1. Abre Cloud Run.
  2. Selecciona el servidor de etiquetado.
  3. Haz clic en Editar y Implementar nueva revisión.
  4. En la pestaña Variables y secretos, en la sección Contenedores, cambia PREVIEW_SERVER_URL al dominio nuevo. Por ejemplo: preview.sgtm.example.com

Paso 2: Configura el balanceador de cargas existente para que use el enrutamiento basado en host

Para configurar el balanceador de cargas existente, usa el enrutamiento basado en host y envía el tráfico al servidor correcto:

  1. En Cloud Run, abre la página Balanceo de cargas y haz clic en el nombre de tu balanceador de cargas.
  2. Haz clic en el botón Editar.
  3. Haz clic en la página Configuración de backend y abre el menú desplegable Servicios y buckets de backend.
  4. Haz clic en Crear un servicio de backend y completa lo siguiente:
    1. Asóciale un nombre adecuado (por ejemplo, preview-backend-service).
    2. Selecciona el tipo de backend como Grupo de extremos de red sin servidores.
  5. En la sección Backend, crea un nuevo grupo de extremos de red sin servidores y completa lo siguiente:
    1. Asóciale un nombre y selecciona la región en la que se aloja el servidor de vista previa.
    2. Selecciona Cloud Run como el tipo de grupo de extremos de red sin servidores y el servidor de versión preliminar como el servicio.
    3. Haz clic en Crear.
  6. Cambia los otros parámetros de configuración según sea necesario o mantén los predeterminados y haz clic en Crear.

Paso 3: Agrega una regla nueva y actualiza el control de entrada

Para agregar una regla para la nueva URL de host y actualizar el control de entrada, haz lo siguiente:

  1. Abre la página Reglas de host y ruta.
  2. Agrega una regla nueva con los siguientes parámetros:
    • El host es la URL nueva: preview.sgtm.example.com
    • La ruta de acceso es: /*
    • El backend es: preview-backend-service
  3. Haz clic en el botón Actualizar para volver a implementar el balanceador de cargas.
  4. En Cloud Run, abre el servidor de vista previa y selecciona la pestaña Herramientas de redes.
  5. Cambia Control de acceso a Interno y marca Permitir el tráfico de balanceadores de cargas de aplicaciones externos para que no se pueda acceder a él de forma pública.

Resultado: Tu arquitectura de servidores ahora debería verse como la Figura 3, en la que todas las solicitudes de tráfico se dirigen al servidor de etiquetado, y este puede reenviar solicitudes al servidor de vista previa.

Enrutamiento basado en el host

Figura 3: Uso del enrutamiento basado en el host

Verifica tu configuración

Para verificar la configuración, sigue estos pasos:

  1. Abre Google Tag Manager.
  2. Abre el contenedor del servidor.
  3. Haz clic en Administrador > Configuración del contenedor y establece la URL del contenedor de servidor en la URL del servidor de etiquetado.
  4. Cierra la ventana y obtén una vista previa del espacio de trabajo. Se abrirá la ventana de depuración. A medida que navegas por tu sitio web, tus eventos deberían aparecer en la ventana de depuración.