Criar controles de custo personalizados

Neste documento, descrevemos como definir ou modificar cotas personalizadas para controlar custos. Para saber como os analistas do BigQuery podem estimar e controlar custos, consulte Controlar custos.

Se você tem vários projetos e usuários do BigQuery, é possível gerenciar custos ao solicitar uma cota personalizada que especifique um limite na quantidade de dados de consulta processados por dia. As cotas diárias são zeradas à meia-noite do fuso horário do Pacífico.

Como a cota personalizada é proativa, não é possível executar uma consulta de 11 TB se você tiver uma cota de 10 TB. A criação de uma cota personalizada nos dados de consulta permite que você controle custos no nível do projeto ou no nível do usuário.

  • As cotas personalizadas no nível do projeto limitam o uso agregado de todos os usuários nesse projeto.

  • As cotas personalizadas no nível do usuário são aplicadas separadamente a todos os usuários e contas de serviço em um projeto.

Papel necessário

Para receber a permissão necessária para alterar sua cota, peça ao administrador para conceder a você o papel de Administrador de cotas (role/servicemanagement.quotaAdmin) do IAM no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém a serviceusage.quotas.update permissão, que é necessária para alterar sua cota.

Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.

Definir ou modificar cotas personalizadas

É possível definir uma cota personalizada ou modificar uma atual para qualquer cota exibida na página Cotas do Console do Google Cloud. Para mais informações, consulte Ver e gerenciar cotas. Quando você solicita uma cota menor, a alteração entra em vigor em alguns minutos. Se você solicitar uma cota maior, a solicitação passará por um processo de aprovação, que pode levar mais tempo. Para mais informações, consulte Como solicitar um limite de cota maior.

É possível ver seus níveis de cota personalizados na página do Console do Google Cloud. Depois de definir uma cota personalizada, o BigQuery retorna um erro quando você excede essa cota:

  • Se você exceder uma cota personalizada no nível do projeto, o BigQuery retornará o erro usageQuotaExceeded:

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerDay, which is set by your administrator. For more information,
    see https://cloud.google.com/bigquery/cost-controls
  • Se o usuário exceder uma cota personalizada no nível do usuário, o BigQuery retornará um erro usageQuotaExceeded com uma mensagem de erro diferente:

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerUserPerDay, which is set by your administrator. For more
    information, see https://cloud.google.com/bigquery/cost-controls

Execute sua consulta a partir de outro projeto que tenha acesso aos conjuntos de dados e que não tenha uma cota personalizada ou que ainda não tenha sido excedida.

Exemplo

Suponha que você definiu as cotas personalizadas a seguir para um projeto com 10 usuários, sendo um deles uma conta de serviço:

  • No nível do projeto: 50 TB por dia
  • No nível do usuário: 10 TB por dia

As cotas personalizadas no nível do projeto limitam o uso agregado de todos os usuários nesse projeto. As cotas personalizadas no nível do usuário são aplicadas separadamente a cada usuário ou conta de serviço dentro de um projeto.

Veja na tabela a seguir a cota restante à medida que os 10 usuários realizam consultas ao longo do dia.

Uso Cota restante
Cada um dos 10 usuários consulta 4 TB No nível do projeto: 0 TB restante.
No nível do usuário: 6 TB restantes por usuário, mas um total de até 10 TB somente.
A conta de serviço consulta outros 6 TB No nível do projeto: 0 TB restante.
No nível do usuário: a conta de serviço não tem mais permissão para usar o BigQuery. 6 TB restantes para os outros usuários, mas um total de até 4 TB.
Um usuário consulta outros 4 TB No nível do projeto: 0 TB restante.
No nível do usuário: vários TB restantes, mas ninguém pode usar o BigQuery porque a cota no nível do projeto foi excedida.

Sem cota restante, o funcionamento do BigQuery é interrompido para todos nesse projeto.

A seguir