Observação: este site para desenvolvedores está sendo transferido para developers.google.com/tag-platform e será redirecionado até 30 de setembro de 2021.

Guia de configuração do App Engine

Neste guia, você aprenderá a:

  • provisionar um servidor de tags manualmente no App Engine do Google Cloud Platform;
  • fazer upgrade do servidor de tags provisionado automaticamente para que ele esteja pronto para receber tráfego ativo;
  • aumentar ou diminuir o número de servidores que executam seu contêiner do servidor.

O processo envolve:

  1. criar um projeto do Google Cloud Platform ou acessar um existente no Console do Google Cloud;
  2. executar um script de shell que guiará você pelas etapas para configurar seu servidor de tags ou mudar a configuração de um servidor existente.

A configuração de teste (definida por padrão durante o processo de provisionamento automático) é adequada para uma pequena quantidade de tráfego e para usar o recurso de visualização no Gerenciador de tags. No entanto, recomendamos utilizar o script de shell se você quiser fazer o upgrade da configuração do seu servidor para produção antes de enviar tráfego ativo considerável ao servidor.

Normalmente, nenhuma cobrança é feita na configuração de teste. Ela é uma classe de instância F1 do App Engine no ambiente padrão.

Na configuração de produção, cada servidor custa aproximadamente US$ 40/mês. Cada servidor é uma instância do App Engine com 1 vCPU, 0,5 GB de memória e 10 GB de disco no ambiente flexível. Recomendamos executar pelo menos três servidores para reduzir o risco de perda de dados em caso de interrupções. No entanto, você pode executar menos (ou mais) servidores. Espera-se que o escalonamento automático de 3 a 6 servidores (o padrão) processe de 50 a 200 solicitações por segundo, embora o desempenho varie de acordo com o número de tags e a função delas.

Consulte o artigo Como gerenciar os custos do App Engine para entender o faturamento do App Engine e saber como configurar alertas de faturamento. É altamente recomendável definir um alerta desse tipo.

Criar um projeto do Google Cloud Platform (GCP)

Se você criou um servidor do GCP usando o provisionamento automático, já haverá um projeto do GCP. Para conferi-lo, navegue até console.cloud.google.com e veja os projetos a que você tem acesso. O ID do projeto será o ID do contêiner com uma sequência de caracteres aleatórios no fim.
Captura de tela do seletor de projetos do GCP mostrando um exemplo de ID do projeto do Gerenciador de tags

Se você não criou um servidor do GCP usando o processo de provisionamento automático, faça o seguinte:

Para novos usuários do GCP: crie uma nova conta do GCP e uma conta de faturamento correspondente.

Para usuários atuais do GCP: crie um novo projeto no GCP. Você pode nomear seu projeto como quiser, mas recomendamos o uso do ID do contêiner por conveniência. Esse nome é utilizado somente no GCP. Anote o ID do projeto.

Criar um servidor de tags ou reconfigurar um existente

  1. Abra o Cloud Shell do Google Cloud Platform.
  2. Defina o projeto do Cloud Platform no Cloud Shell. Substitua <PROJECT_ID> pelo ID do projeto do GCP que você anotou anteriormente:

    gcloud config set project <PROJECT_ID>
    
  3. Execute o comando a seguir e siga as instruções fornecidas pelo script.

    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

    Esse script de shell permitirá que você realize qualquer uma das seguintes tarefas:

    1. Se você ainda não tiver configurado um servidor de tags, esse script ajudará nessa tarefa.
    2. Se você quiser começar a veicular o tráfego de produção de um servidor de tags existente, esse script ajudará a adicionar mais servidores.
    3. Se você tiver um servidor de tags, esse script ajudará a mudar a configuração.

Configurar o URL do contêiner do servidor

Se você já configurou o servidor usando o provisionamento automático, ignore esta etapa.

Seu aplicativo será implantado em um subdomínio do App Engine. Execute o seguinte comando para obter o URL:

gcloud app browse

Copie esse URL e acesse seu contêiner do Gerenciador de tags no servidor, em Administrador > Configurações do contêiner. Cole esse URL no URL do contêiner do servidor, clique em "Salvar" e volte para seu espaço de trabalho.

Validação

No Gerenciador de tags, visualize o contêiner. Se a página de visualização for carregada, tudo está configurado corretamente.

Mapear domínio personalizado

Se você acabou de criar um servidor de tags, siga estas instruções para direcionar o subdomínio do seu site a ele.

Desativar o registro de solicitações do App Engine (opcional)

Por padrão, o App Engine registra informações sobre cada solicitação (por exemplo, caminho da solicitação, parâmetros de consulta etc.) que recebe. 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 o registro de solicitações do App Engine. Para fazer isso, siga estas etapas:

  1. Acesse Registros -> 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 este texto ao filtro de inclusão existente em uma nova linha: NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log") Captura de tela do filtro de inclusão de registros do GCP mostrando a configuração especificada
  5. Para desativar a geração de registros do balanceador de carga, adicione esse texto ao filtro de inclusão existente em uma nova linha: NOT LOG_ID("requests"). Observação: isso desativará toda a geração de registros do balanceador de carga, incluindo as solicitações que não são enviadas para o contêiner do servidor.
  6. Clique no botão Atualizar coletor na parte inferior.

A partir desse ponto, a solicitação do App Engine será excluída da geração de registros. Acesse Registros -> Visualizador de registros para conferir se não há novas solicitações sendo registradas.

Resolver problemas de tempo limite da implantação de produção

O script pode expirar quando você executa o script de configuração para criar ou reconfigurar o servidor de tags. Isso pode acontecer por vários motivos. Os mais comuns são:

  1. As contas de serviço têm permissões incorretas: as contas de serviço do Compute Engine e do App Engine são responsáveis por implantar e manter a implantação da produção. Por padrão, elas são pré-configuradas com as permissões apropriadas. No entanto, em alguns casos, a política de uma organização pode não aceitá-las.

    1. Acesse a página IAM e administrador na barra de navegação à esquerda do Console do Google Cloud.
    2. Encontre a conta de serviço <project_number>-compute@developer.gserviceaccount.com do Compute Engine e a conta de serviço <project_name>@appspot.gserviceaccount.com do App Engine.
    3. Ambas precisam ter o papel de Editor. Se uma delas não tiver o papel de Editor, atualize-o. Para isso, clique no ícone de lápis à direita da conta e depois no menu suspenso do papel atual. Em seguida, role a página para cima e clique em Projeto, depois, em Editor.
  2. Cota insuficiente: a implantação de produção consome a cota do Compute Engine. Se o projeto não tiver cota suficiente, a implantação poderá atingir o tempo limite ao tentar provisionar recursos.

    1. Acesse a página IAM e administrador na barra de navegação à esquerda do Console do Google Cloud e clique na guia Cotas.
    2. Próximo à parte superior da página, clique na caixa de texto Filtrar tabela e digite Compute Engine API. Clique no resultado exibido.
    3. Verifique se todos os status de cota estão dentro do limite ou se têm uma marca de seleção verde.
    4. Clique em CPUs. Verifique se o uso atual mais o número de instâncias que estão sendo implantadas ainda ficarão abaixo do limite para a região de implantação.