Configure um servidor de visualização particular

Este guia é destinado a desenvolvedores usando o Cloud Run para inclusão de tags no servidor que desejam configurar um servidor de visualização privado.

A inclusão de tags no servidor permite visualizar alterações de inclusão de tags no modo de depuração e prévia antes da aplicação. Essa é uma parte fundamental do fluxo de trabalho de desenvolvimento para garantir que suas tags se comportem conforme planejado. A ativação desse recurso exige duas implantações do Cloud Run: uma para o servidor de tags e uma para o servidor de visualização. Este guia fornece mais informações sobre como os dois servidores se comunicam e como você pode configurá-los em um ambiente corporativo.

Informações gerais

Você pode implantar a inclusão de tags no servidor no Cloud Run com ou sem um balanceador de carga. Em implantações multirregionais, você precisa de um balanceador de carga para direcionar o tráfego para a instância mais próxima.

Sem balanceador de carga

Sem um balanceador de carga

Figura 1: implantação sem um balanceador de carga.

Com balanceador de carga

Com um balanceador de carga

Figura 2: implantação com um balanceador de carga.

Em ambas as implantações, o ponto de entrada para o servidor de visualização e para o ambiente de inclusão de tag de produção é o mesmo URL (por exemplo, sgtm.example.com). O servidor de tags é implantado com uma variável de ambiente chamada PREVIEW_SERVER_URL que representa o URL do servidor de visualização.

Quando você visita tagmanager.google.com e abre o modo de visualização, o Gerenciador de tags navega para o sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] e define um cookie. Quando você usa o mesmo navegador para explorar o site de destino, as solicitações enviadas para sgtm.example.com também encaminham o cookie. Por causa do cookie, o servidor de tags sabe que esses eventos são seus. Portanto, ele apenas encaminha os eventos para o servidor de visualização para você visualizar e solucionar problemas.

O servidor de tags encaminha os eventos realizando solicitações HTTP para o URL definido na variável de ambiente PREVIEW_SERVER_URL.

Sobre servidores de visualização públicos

Esse comportamento padrão exige que o servidor de visualização seja público. No entanto, isso é um problema para algumas organizações porque elas têm restrições sobre quais infraestruturas podem ser públicas e geralmente impõem outras medidas de segurança usando um balanceador de carga. Um balanceador de carga oferece:

  • Mais controle sobre recursos, como políticas de SSL, para restringir pacotes de criptografia.
  • Integração nativa com o Cloud Armor para firewall de aplicativos da Web (WAF) ou ataque distribuído de negação de serviço (DDoS).
  • Recursos avançados de gerenciamento de tráfego.

Direcione o servidor de visualização por um balanceador de carga

Para criar um servidor de visualização privado, use um roteamento com base em host pelo balanceador de carga com um subdomínio adicional. O restante deste guia explica como direcionar o servidor de visualização por um balanceador de carga.

Pré-requisitos

  • O servidor de tags é implantado no Cloud Run por um balanceador de carga.
  • Acesso ao projeto do Google Cloud.
  • Acesso a um novo subdomínio para o servidor de visualização, por exemplo, preview.sgtm.example.com.

Etapa 1: atualize a variável de ambiente com um novo subdomínio

Para usar o novo domínio do servidor de visualização, atualize o PREVIEW_SERVER_URL da variável de ambiente do servidor de inclusão de tags:

  1. Abra o Cloud Run.
  2. Selecione o servidor de tags.
  3. Clique em Editar e em Implantar nova revisão.
  4. Na guia Variáveis e secrets, na seção Contêineres, altere o PREVIEW_SERVER_URL para o novo domínio. Por exemplo: preview.sgtm.example.com.

Etapa 2: configure o balanceador de carga atual para usar o roteamento com base em host

Para configurar o balanceador de carga atual, use o roteamento com base em host e envie o tráfego para o servidor correto:

  1. No Cloud Run, abra a página Balanceamento de carga e clique no nome do seu balanceador.
  2. Clique no botão Editar.
  3. Clique na página Configuração de back-end e abra o menu suspenso para Serviços de back-end e buckets de back-end.
  4. Clique em Criar um serviço de back-end e conclua o seguinte:
    1. Dê um nome adequado (por exemplo, preview-backend-service).
    2. Selecione o tipo de back-end como Grupo de endpoints de rede sem servidor.
  5. Na seção Back-end, crie um novo grupo de endpoint de rede sem servidor e faça o seguinte:
    1. Nomeie e selecione a região em que o servidor de visualização está hospedado.
    2. Selecione Cloud Run como o tipo de grupo de endpoint de rede sem servidor e o servidor de visualização como o serviço.
    3. Clique em Criar.
  6. Altere as outras configurações conforme necessário ou mantenha o padrão e clique em Criar.

Etapa 3: adicione uma nova regra e atualize o controle de entrada

Para adicionar uma regra para o novo URL host e atualizar o controle de entrada:

  1. Abra a página Regras de host e caminho.
  2. Adicione uma nova regra em que:
    • O host é o novo URL: preview.sgtm.example.com
    • O caminho é: /*
    • O back-end é: preview-backend-service
  3. Clique no botão Atualizar para reimplantar o balanceador de carga.
  4. No Cloud Run, abra o servidor de visualização e selecione a guia Rede.
  5. Altere o Controle de entrada para Interno e marque Permitir tráfego de balanceadores de carga de aplicativo externos para que não esteja publicamente acessível.

Resultado: a arquitetura do seu servidor deve ser como mostrado na Figura 3, em que as solicitações de tráfego são direcionadas para o servidor de tags e este pode encaminhar solicitações para o servidor de visualização.

Roteamento com base em host

Figura 3: uso do roteamento com base em host.

Verifique a configuração

Para verificar a configuração:

  1. Abra o Gerenciador de tags do Google.
  2. Abra o contêiner do servidor.
  3. Clique em Administrador > Configurações do contêiner e defina o URL do contêiner do servidor para o URL do servidor de visualização.
  4. Feche a janela e visualize o espaço de trabalho. A janela de depuração é aberta. Conforme você navega no site, seus eventos aparecem na janela de depuração.