Configurar a inclusão de tags no servidor com o Cloud Run

Neste guia, você vai aprender a:

  • Provisionar um servidor de visualização para ativar o recurso em fase de pré-lançamento no contêiner
  • Provisionar um servidor de tags para lidar com o tráfego em tempo real
  • Aumentar ou diminuir o número de servidores que executam seu contêiner do Gerenciador de tags do Google
  • Manter a versão do servidor de tags atualizada após o provisionamento do servidor

Pré-requisitos

  1. Você precisa de uma conta do GCP. Caso ainda não tenha, crie uma.
  2. É necessário ter uma conta de faturamento do GCP. Se não tiver, crie uma (requer papel de Criador da conta de faturamento).
  3. Você precisa ter os papéis de Criador de projetos e de Usuário da conta de faturamento. Saiba mais sobre como adicionar papéis.

Provisionar um servidor de tags e de visualização

É possível provisionar um serviço do Cloud Run automaticamente no Gerenciador de tags do Google ou manualmente no Google Cloud.

Editar a configuração do serviço

Para mudar a configuração do serviço:

  1. Abra o Cloud Run.
  2. Selecione o serviço que você precisa ajustar.
  3. Clique em Editar e implantar uma nova revisão.
  4. Faça alterações e clique em Implantar.

Custo do Cloud Run

Nesta configuração do Cloud Run, cada servidor custa aproximadamente US$ 45 /mês (USD). Cada servidor é uma instância do Cloud Run com 1 vCPU e 0,5 GB de memória usando o modelo de preço de CPU sempre alocado.

Recomendamos executar pelo menos duas instâncias para reduzir o risco de perda de dados em caso de interrupções de servidor. No entanto, você pode executar menos (ou mais) servidores. Esperamos que os servidores de 2 a 10 de escalonamento automático processem de 35 a 350 solicitações por segundo, mas a performance varia de acordo com o número de tags e o que elas fazem.

O Cloud Run escalona dinamicamente com carga. A configuração max-instances é o pior cenário para quanto você vai precisar pagar pelos recursos. O Cloud Run não provisiona muitas instâncias, a menos que seja necessário.

Calculadora do Cloud Run

Opcional: como migrar do App Engine

Se você criou uma implantação do App Engine e verificou que ela não está mais recebendo tráfego, desative o aplicativo App Engine para evitar cobranças inesperadas.

Opcional: implantação multirregional

Se o seu site tem uma presença global ou você gostaria de criar redundância no serviço, implante os servidores de tags em várias regiões.

Antes de começar:

  1. Crie um balanceador de carga.
  2. Anote o BACKEND_NAME escolhido.

Para adicionar mais regiões à sua implantação:

  1. Substitua REGION pela região em que o servidor de visualização foi implantado. Talvez essa opção já esteja preenchida se você seguiu as opções da linha de comando para provisionar o servidor de tags e de visualização.
  2. Substitua CONTAINER_CONFIG pela string de configuração do contêiner do Gerenciador de tags. Talvez essa opção já esteja preenchida se você seguiu as opções da linha de comando para provisionar o servidor de tags e de visualização.
  3. Substitua NEW_REGION pela nova região em que você gostaria que o servidor de tags fosse implantado.
  4. Substitua BACKEND_NAME pelo nome que você escolheu ao provisionar o balanceador de carga.
  5. Opcional: para adicionar outra região, substitua a variável NEW_REGION e execute novamente o snippet de código.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

Opcional: desativar a geração de registros

Geração de registros de solicitações

Por padrão, as informações sobre cada solicitação (por exemplo, caminho da solicitação, parâmetros de consulta etc.) são registradas. Se o servidor de tags processar muitas solicitações por mês, por exemplo, mais de um milhão, essas mensagens poderão gerar cobranças de registro significativas. Para reduzir ou eliminar essas cobranças, recomendamos desativar a geração de registros de solicitações.

Para desativar o registro de solicitações:

  1. No Google Cloud Platform, abra o Roteador de registros. Verifique se você está no projeto que corresponde ao ID do seu contêiner:
    Captura de tela do seletor de projetos do GCP mostrando um exemplo de ID do contêiner do Gerenciador de tags.
  2. Para a linha Tipo: bucket do Cloud Logging, Nome: _Default, selecione o menu flutuante e clique em Editar coletor.
  3. Em Destino do coletor, selecione o bucket de registros _Default.
  4. Em Escolha os registros para incluir no coletor, adicione uma nova linha. Insira a seguinte regra no filtro de inclusão atual:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Para desativar a geração de registros do balanceador de carga, adicione uma nova linha e insira a seguinte regra no filtro:

    NOT LOG_ID("requests")
    
  6. Atualize o coletor para implementar as mudanças. Agora as solicitações vão ser excluídas da geração de registros.

  7. Verifique se não há novas solicitações nos registros da Análise de registros.

Geração de registros do console

O servidor de tags, os clientes ou as tags de um contêiner podem registrar mensagens para o console que geram cobranças. Para reduzir ou eliminar as cobranças, você pode desativar as mensagens de registro indesejadas.

Para identificar os registros indesejados do console:

  1. No GCP, abra a Análise de registros.
  2. Procure as mensagens de registro indesejadas das suas tags. Exemplo:

    Uma tag pode enviar os seguintes registros:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    Procure as mensagens de registro correspondentes no campo textPayload:
    Captura de tela da Análise de registros do GCP mostrando exemplos de registro.

Para desativar as mensagens de registro do console:

  1. No Google Cloud Platform, abra o Roteador de registros. Verifique se você está no projeto que corresponde ao ID do seu contêiner:
    Captura de tela do seletor de projetos do GCP mostrando um exemplo de ID do contêiner do Gerenciador de tags.
  2. Para a linha Tipo: bucket do Cloud Logging, Nome: _Default, selecione o menu flutuante e clique em Editar coletor.
  3. Em Destino do coletor, selecione o bucket de registros _Default.
  4. Em Escolha os registros para incluir no coletor, adicione uma nova linha. Insira a seguinte regra no filtro de inclusão atual:

    NOT textPayload:"Custom message:"
    

    Nos registros do console, substitua o texto Custom message: por uma substring do registro que você quer desativar. Para ter filtros mais elaborados, use a linguagem de consulta de geração de registros.

  5. Atualize o coletor para implementar as mudanças. A mensagem logToConsole correspondente vai ser excluída da geração de registros.

  6. Verifique se não há novas mensagens de registro do console na Análise de registros.

2. Mapear a implantação para o domínio personalizado

Para mapear um domínio personalizado, use um balanceador de carga de aplicativo externo global.

3. Adicionar o URL do servidor ao Gerenciador de tags do Google

Agora que você tem um servidor, verifique se o Gerenciador sabe que deve usar esse servidor.

  1. Abra o Gerenciador de tags do Google.

  2. Clique no contêiner do servidor que você quer que aponte para seu servidor de tags.

  3. Abra as configurações do contêiner do servidor na guia Administrador > Configurações do contêiner.

  4. Clique em Adicionar URL e cole o URL do servidor.

  5. Salve e volte para seu espaço de trabalho.

4. validação

Agora que você configurou o servidor de tags, verifique se ele funciona conforme o esperado. No espaço de trabalho do Gerenciador de tags, clique no botão Visualizar. Se a página de visualização for carregada, a configuração estará correta.

Visualizar vários URLs

Se você mapeou vários domínios para um único servidor de tags, verifique se cada URL foi adicionado às configurações do contêiner.

Se vários URLs foram indicados, todos os caminhos (a string após o nome do domínio) precisam ser correspondentes.

Funciona Não funciona
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Se vários URLs tiverem sido adicionados, você vai notar um ícone ao lado do botão Visualizar que permite selecionar o URL a ser mostrado.

Atualizar a versão do servidor de tags

As novas atualizações do servidor de tags contêm correções de vulnerabilidades de segurança e novos recursos. Recomendamos atualizar seu servidor de tags para cada versão principal, por exemplo, da versão 1.xx para a 2.xx, quando você receber uma notificação do Gerenciador de tags.

Para atualizar o servidor de tags, implante uma nova revisão usando as mesmas configurações de antes.

  1. Abra o Cloud Run.
  2. Selecione o serviço que você quer atualizar.
  3. Clique em Editar e implantar uma nova revisão.
  4. Verifique se o URL da imagem do contêiner está definido como gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable e clique em Implantar.

Para verificar se a atualização foi concluída:

  1. No contêiner do servidor, clique no botão Prévia para iniciar uma nova sessão de depuração e envie uma solicitação em uma guia separada.
  2. Em Resumo, selecione a guia Console e verifique se não há mensagens solicitando a atualização do servidor de tags.

O Gerenciador de tags pode mostrar mensagens solicitando a atualização do servidor de tags até um dia depois de já ter sido feita. No entanto, a página de prévia mostra uma mensagem atualizada sobre a versão do servidor de tags.