Configura un servidor de vista previa privado

Esta guía está destinada a los desarrolladores que usan Cloud Run para el etiquetado del servidor 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 los modos de vista previa y depuración antes de aplicarlos. Esta es una parte fundamental del flujo de trabajo de desarrollo para garantizar que tus etiquetas se comporten según lo previsto. A fin de 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 implementarlo con o sin un balanceador de cargas. Para implementaciones multirregionales, necesitas un balanceador de cargas a fin de dirigir el tráfico a la instancia más cercana.

Sin balanceador de cargas

Sin un balanceador de cargas

Figura 1: Implementación sin un balanceador de cargas.

Con balanceador de cargas

Con un balanceador de cargas

Figura 2: Implementación con un balanceador de cargas.

En ambas implementaciones, el punto de entrada para el servidor de vista previa 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 vista previa.

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 enviadas a sgtm.example.com también reenvían la cookie. Debido a la cookie, el servidor de etiquetado reconoce que estos son tus eventos, por lo que solo los reenvía al servidor de vista previa para que puedas verlos y solucionar problemas.

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

Información acerca de los servidores de vista previa públicos

Este comportamiento predeterminado requiere que el servidor de vista previa sea público. Sin embargo, esto resulta 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 proporciona lo siguiente:

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

Enruta el 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 el host a través del balanceador de cargas con un subdominio adicional. En el resto de esta guía, se explica cómo enrutar 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 subdominio nuevo

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, luego, en Implementar revisión nueva.
  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 usar 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ígnale 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ígnale 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 vista previa como el servicio.
    3. Haz clic en Crear.
  6. Cambia otras opciones de configuración según sea necesario o mantén los valores predeterminados y haz clic en Crear.

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

Si deseas agregar una regla para la URL del host nueva y actualizar el control de entrada, sigue estos pasos:

  1. Abre la página Reglas de host y ruta de acceso.
  2. Agrega una nueva regla en la que ocurra lo siguiente:
    • El host es la URL nueva: preview.sgtm.example.com
    • La ruta 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 el Control de entrada a Interno y marca Permitir tráfico desde balanceadores de cargas de aplicaciones externos para que no sea de acceso público.

Resultado: La arquitectura de tu servidor ahora debería ser como la de la Figura 3, en la que 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 host.

Verifica la configuración

Para verificar la configuración, sigue estos pasos:

  1. Abre Google Tag Manager.
  2. Abre tu contenedor de servidor.
  3. Haz clic en Administrador > Configuración del contenedor y establece la URL del contenedor de servidor como la URL del servidor de vista previa.
  4. Cierra la ventana y obtén una vista previa del lugar 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.