Como atribuir rótulos a recursos do App Engine

O rótulo é uma maneira leve de agrupar recursos relacionados ou associados entre si. Os rótulos oferecem uma visão mais detalhada de como os recursos são cobrados nos serviços do App Engine. Também é possível aproveitar recursos como a filtragem aninhada para realizar pesquisas mais precisas dos seus recursos.

Veja algumas maneiras de usar rótulos:

  • Rotule os tipos de serviços criados. Por exemplo, se você adicionar rótulos como service:default, service:backend e service:frontend aos serviços do App Engine, será possível comparar como esses serviços diferentes usam a largura de banda de saída, instâncias/horas e outros recursos.

  • Rotule por equipe ou centro de custo para diferenciar projetos de equipes diferentes. Isso pode ser usado na contabilidade ou no orçamento de custos. Por exemplo, team:marketing e team:research.

  • Rotule o ambiente em que um serviço está sendo executado. Por exemplo, environment:prod e environment:test.

  • Rotule por proprietário ou contato principal se houver um indivíduo responsável por um recurso.

  • Rotule o status de um serviço. Por exemplo, state:inuse e state:readyfordeletion.

Os rótulos só podem ser usados para dados de faturamento e não para outras ferramentas, como o Metrics Explorer.

Restrições

  • É possível atribuir até 64 rótulos a cada recurso.
  • Só é possível atribuir explicitamente rótulos a serviços. As versões e instâncias herdam rótulos do serviço pai.
  • O ambiente flexível do App Engine não oferece suporte a rótulos de faturamento para o Firestore no modo Datastore (Datastore).

Como adicionar ou modificar rótulos

Para adicionar rótulos aos serviços do App Engine:

Console

  1. Acesse a página "Serviços" do App Engine.

    Acessar Serviços

  2. Marque as caixas de seleção ao lado dos serviços que você quer rotular.

  3. Clique em Mostrar painel de informações e selecione a guia Rótulos para expandir a coluna correspondente.

  4. Clique em Adicionar rótulo para incluir um par de chave-valor nos serviços selecionados. Por exemplo, para adicionar o rótulo env:prod, digite env para a Chave e prod para o Valor.

  5. Salve as alterações.

Admin API

É possível adicionar e definir rótulos por meio do recurso Service. Consulte a documentação de referência da API Admin:

Como visualizar dados de faturamento associados aos serviços rotulados

É possível adicionar granularidade aos dados de faturamento do seu aplicativo usando rótulos. Por exemplo, é possível ver os custos de um recurso específico, como a largura de banda de saída, detalhado por dia e serviço. Isso fornece insights sobre os custos diários do aplicativo e permite otimizar o uso de recursos do aplicativo.

Para visualizar os rótulos de faturamento, exporte seus dados para o BigQuery e execute a consulta:

  1. Exporte os dados de faturamento para o BigQuery.

    Depois da ativação do BigQuery Export, pode levar algumas horas para você ver seus dados.

  2. Na página do BigQuery no console do Google Cloud, selecione o projeto e o conjunto de dados de faturamento.

  3. Execute uma consulta na tabela criada com o BigQuery Export.

Os rótulos são adicionados ao conjunto de dados como campos repetidos. Isso significa que vários rótulos podem ser anexados a uma única linha do conjunto de dados de custos. Para consultar facilmente por rótulo, convém usar FLATTEN na tabela, no campo de rótulos.

Por exemplo, a consulta a seguir puxa dados de custo, bem como a chave e o valor do rótulo, relativos à largura de banda de saída em que há um rótulo:

SELECT
  product,
  resource_type,
  start_time,
  end_time,
  labels.key,
  labels.value,
  cost
FROM (FLATTEN([YOUR_DATASET.TABLEID], labels))
WHERE
  cost > 0.0
  and labels.key is not null
  and resource_type = 'Out Bandwidth'
LIMIT 100

O BigQuery retorna os dados com um resultado nivelado:

produto resource_type start_time end_time labels_key labels_value custo
App Engine Largura de banda de saída 2017-10-07 22:00:00 2017-10-07 23:00:00 serviço padrão 0.020033
App Engine Largura de banda de saída 2017-10-07 13:00:00 2017-10-07 14:00:00 serviço frontend 0.016042
App Engine Largura de banda de saída 2017-10-07 06:00:00 2017-10-07 07:00:00 serviço backend_task 0.013125
App Engine Largura de banda de saída 2017-10-07 21:00:00 2017-10-07 22:00:00 serviço padrão 0.020722
App Engine Largura de banda de saída 2017-10-07 19:00:00 2017-10-07 20:00:00 serviço frontend 0.020725
App Engine Largura de banda de saída 2017-10-08 04:00:00 2017-10-08 05:00:00 serviço backend_task 0.02072
App Engine Largura de banda de saída 2017-10-08 02:00:00 2017-10-08 03:00:00 serviço padrão 0.020723
App Engine Largura de banda de saída 2017-10-07 14:00:00 2017-10-07 15:00:00 serviço frontend 0.020724
App Engine Largura de banda de saída 2017-10-07 23:00:00 2017-10-08 00:00:00 serviço backend_task 0.021417

Períodos nos relatórios de faturamento

Para garantir que cada dia no relatório abranja um período completo de 24 horas, os dados de faturamento exportados vão somente até a meia-noite mais recente no horário do Pacífico. Por exemplo, se você exportar os dados de faturamento ao meio-dia de 3 de dezembro, a exportação incluirá dados até as 23h59 de 2 de dezembro.

Para cada dia no relatório, os dados de faturamento são atribuídos aos rótulos presentes no início do dia. Por exemplo, se você criar um rótulo no dia 3 de dezembro, ao meio-dia (horário do Pacífico), o relatório de 3 de dezembro não atribuirá dados ao rótulo porque ele não existia no início do dia. Os dados serão atribuídos a partir do dia 4 de dezembro.

Um rótulo criado ao meio-dia e removido no mesmo período de 24 horas não terá dados atribuídos a ele.

Como visualizar rótulos no console do Google Cloud

Depois de rotular os recursos, será possível ver os rótulos no console do Google Cloud.

  1. Acesse a página "Serviços" do App Engine.

    Acessar Serviços

  2. Veja todos os rótulos de cada serviço na coluna Labels.

Como remover rótulos

Para remover rótulos dos serviços:

  1. Acesse a página "Serviços" do App Engine.

    Acessar "Serviços do App Engine"

  2. Marque as caixas de seleção ao lado dos serviços com os rótulos que você quer remover.

  3. Clique em Mostrar painel de informações e selecione a guia Rótulos para expandir a coluna correspondente.

  4. Clique no X ao lado de todos os rótulos que quiser remover.

  5. Salve as alterações.