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
Figura 1: implantação sem um balanceador de carga.
Com 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]>m_auth=[auth_id]>m_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:
- Abra o Cloud Run.
- Selecione o servidor de tags.
- Clique em Editar e em Implantar nova revisão.
- 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:
- No Cloud Run, abra a página Balanceamento de carga e clique no nome do seu balanceador.
- Clique no botão Editar.
- 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.
- Clique em Criar um serviço de back-end e conclua o seguinte:
- Dê um nome adequado (por exemplo,
preview-backend-service
). - Selecione o tipo de back-end como Grupo de endpoints de rede sem servidor.
- Dê um nome adequado (por exemplo,
- Na seção Back-end, crie um novo grupo de endpoint de rede sem servidor e faça o seguinte:
- Nomeie e selecione a região em que o servidor de visualização está hospedado.
- Selecione Cloud Run como o tipo de grupo de endpoint de rede sem servidor e o servidor de visualização como o serviço.
- Clique em Criar.
- 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:
- Abra a página Regras de host e caminho.
- Adicione uma nova regra em que:
- O host é o novo URL:
preview.sgtm.example.com
- O caminho é:
/*
- O back-end é:
preview-backend-service
- O host é o novo URL:
- Clique no botão Atualizar para reimplantar o balanceador de carga.
- No Cloud Run, abra o servidor de visualização e selecione a guia Rede.
- 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.
Figura 3: uso do roteamento com base em host.
Verifique a configuração
Para verificar a configuração:
- Abra o Gerenciador de tags do Google.
- Abra o contêiner do servidor.
- 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.
- 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.