Configurar a exportação de dados do Cloud Billing para o BigQuery

Este documento apresenta todas as etapas de configuração necessárias para configurar a exportação de dados do Cloud Billing para o BigQuery.

Para exportar dados do Cloud Billing para o BigQuery, siga estas etapas:

  • Crie um projeto em que os dados do Cloud Billing serão armazenados e ative o faturamento no projeto (se ainda não tiver feito isso).
  • Configure permissões no projeto e na conta de faturamento do Cloud.
  • Ative a API BigQuery Data Transfer Service, que é necessária para exportar seus dados de preços.
  • Crie um conjunto de dados do BigQuery para armazenar os dados.
  • Ativar a exportação de dados de custo do Cloud Billing e dados de preços a serem gravados no conjunto de dados.

Neste documento, explicamos os detalhes de cada uma dessas etapas.

Sobre o Console do Google Cloud

O Console do Google Cloud (acesse a documentação, abra o console) é uma IU da Web usada para provisionar, configurar, gerenciar e monitorar sistemas que usam os produtos do Google Cloud. Você usa o Console do Google Cloud para configurar e gerenciar recursos do Google Cloud e do Faturamento do Cloud.

Permissões exigidas para a tarefa

Para ativar e configurar a exportação de dados de custo pelo uso do faturamento do Google Cloud para um conjunto de dados do BigQuery, você precisa das seguintes permissões:

  • Para o Cloud Billing, é preciso ter o papel de administrador da conta de faturamento ou de gerente de custos da conta de faturamento na conta do Cloud Billing de destino.
  • Para o BigQuery, você precisa do papel de usuário do BigQuery para o projeto do Google Cloud que contém o conjunto de dados do BigQuery que será usado para armazenar os dados do Cloud Billing.

Para ativar e configurar a exportação de dados de preços do Cloud Billing, são necessárias as seguintes permissões:

  • Para o Cloud Billing, é preciso ter o papel de administrador da conta de faturamento na conta do Cloud Billing de destino.
  • Para o BigQuery, é preciso ter o papel de administrador do BigQuery do projeto do Google Cloud que contém o conjunto de dados do BigQuery que será usado para armazenar os dados de preços do Cloud Billing.
  • Para o projeto do Google Cloud que contém o conjunto de dados de destino, você precisa da permissão resourcemanager.projects.update. Essa permissão está incluída no papel roles/editor.

Talvez você também precise de outras permissões de projeto. Se você for membro de uma organização do Google Cloud, para criar um novo projeto, vai precisar do papel de Criador de projetos na organização ou na pasta. Especificamente, para criar um novo projeto, você precisa das seguintes permissões:

  • resourcemanager.organizations.get
  • resourcemanager.projects.create

Para mais informações sobre as permissões do Google Cloud, consulte:

Ativar a exportação de dados do Cloud Billing para o BigQuery.

Conclua as cinco etapas desta seção para ativar a exportação de dados do Cloud Billing para o BigQuery.

Para uma introdução rápida sobre como ativar a exportação de dados de faturamento e executar consultas de exemplo dos dados do Cloud Billing no BigQuery, siga este tutorial interativo para exportação de dados de faturamento.

Se você for revendedor, poderá configurar uma exportação específica para revendedores dos seus dados de faturamento do Channel Services usando o Partner Sales Console. Para fazer isso, siga as etapas de 1 a 4 nesta página para criar seu projeto e o conjunto de dados do BigQuery. Em seguida, na etapa 5, consulte Exportar dados do Channel Services para o BigQuery para ativar a exportação.

1. Selecionar ou criar um projeto

Os dados do Cloud Billing exportados para o BigQuery estão armazenados em um conjunto de dados do BigQuery. Um conjunto de dados fica armazenado em um projeto do Cloud que você especifica.

Recomendamos que você crie e use um projeto do Google Cloud separado para conter todas as suas necessidades de FinOps e administração de faturamento de uma conta do Cloud Billing, incluindo os dados exportados do Cloud Billing. Saiba mais sobre os benefícios de usar um projeto focado em FinOps para seus casos de uso de administração de faturamento.

In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

Go to project selector

Saiba mais sobre como criar e gerenciar projetos.

2. Verificar se o faturamento está ativado

Verifique se o faturamento está ativado no projeto do Cloud selecionado para armazenar o conjunto de dados e se o projeto do Google Cloud está vinculado à mesma conta do Cloud Billing que contém os dados que você planeja exportar para o conjunto de dados do BigQuery.

3. Ativar a API BigQuery Data Transfer Service.

Se você planeja exportar os dados de preços do Cloud Billing para o BigQuery, é necessário ativar a API BigQuery Data Transfer Service. Se você não planeja exportar os dados de preços do Cloud Billing, pule para a Etapa 4. Crie um conjunto de dados do BigQuery.

A API BigQuery Data Transfer Service precisa estar ativada no mesmo projeto do Google Cloud que você está usando para armazenar os conjuntos de dados do BigQuery. Se você seguiu a recomendação na seção do projeto, esse é seu projeto do Google Cloud de FinOps ou administração de faturamento.

Para ativar a API BigQuery Data Transfer Service, faça o seguinte:

  1. Faça login no Console do Google Cloud e acesse a página da API.

    Acessar a página da API BigQuery Data Transfer Service

  2. No canto superior esquerdo da página, selecione um projeto. Ative a API do serviço de transferência de dados do BigQuery no mesmo projeto usado para conter o conjunto de dados do BigQuery. Se você seguiu a recomendação na seção do projeto, esse é seu projeto do Google Cloud de FinOps ou administração de faturamento.

  3. Na página da API BigQuery Data Transfer Service, clique em Ativar para ativar a API no projeto selecionado.

Para mais informações sobre como ativar APIs, consulte a documentação do Service Usage.

4. Criar um conjunto de dados do BigQuery

Antes de ativar a exportação dos dados do Cloud Billing para o BigQuery, é necessário criar pelo menos um conjunto de dados do BigQuery para gerenciá-los. Use o mesmo conjunto de dados para conter os dados de custo de uso padrão, custo de uso detalhado e preços.

Um conjunto de dados fica armazenado em um projeto do Google Cloud que você especifica. Conjuntos de dados são contêineres de nível superior usados na organização e no controle de acesso a suas tabelas e visualizações. É obrigatório que uma tabela ou visualização pertença a um conjunto de dados. Assim, você precisa criar pelo menos um desses conjuntos antes de carregar dados no BigQuery.

Se você usar um conjunto de dados existente, analise as limitações que podem afetar a exportação dos seus dados de faturamento para o BigQuery, como a impossibilidade de exportar dados para conjuntos de dados configurados para uso de criptografia de chave gerenciada pelo cliente ou não conseguir usar um conjunto de dados configurado com uma região local.

Para criar um conjunto de dados do BigQuery, faça o seguinte:

  1. Faça login no Console do Google Cloud e acesse a página do BigQuery.

    Acessar a página do BigQuery

  2. Na lista suspensa do projeto ( Meu projeto ), na parte superior da página do Console do Google Cloud, selecione o projeto que você definiu para armazenar o conjunto de dados. Anote o ID do projeto, porque você vai usá-lo nas próximas etapas.

  3. No painel Explorer, na seção projetos fixados, clique em ID-do-seu-projeto para expandir o projeto e conferir todos os conjuntos de dados e consultas salvas atuais.

  4. Ao lado do ID do projeto, clique no menu Ver ações () e, em seguida, em Criar conjunto de dados. O painel "Criar conjunto de dados" é aberto.

    1. Insira um código do conjunto de dados. Recomendamos um ID que abranja projetos, como all_billing_data, em vez de um ID específico do projeto.
    2. Selecione um local dos dados. O local dos dados especifica a multirregião ou a região em que seus dados estão armazenados. Todas as tabelas nesse conjunto de dados compartilham esse local.

      Recomendamos que você selecione um local multirregional (UE ou EUA)**. Para as exportações de dados de custo de uso padrão e custo de uso detalhado, a localização selecionada pode influenciar se os dados do mês anterior são adicionados ao conjunto de dados retroativamente. Consulte as limitações para mais informações sobre locais de conjuntos de dados e disponibilidade de dados.

      A exportação do Cloud Billing é compatível com todos os locais de multirregião (UE ou EUA). No entanto, apenas um subconjunto de locais de região do conjunto de dados é compatível com a exportação do Cloud Billing para o BigQuery. Revise as limitações para mais informações sobre os locais do conjunto de dados.

      Depois que você cria o conjunto de dados, o local não pode ser alterado. Saiba mais sobre os locais.

    3. Verifique se a opção Ativar expiração da tabela está limpa.

      Se você ativar a validade da tabela e inserir um número de dias, qualquer nova tabela criada neste conjunto de dados será excluída automaticamente após o número especificado de dias após a criação.

    4. Na seção Opções avançadas, verifique se a configuração de Criptografia selecionada é Chave de criptografia gerenciada pelo Google.

      Não use a opção Chave de criptografia gerenciada pelo cliente (CMEK). A criptografia CMEK não é compatível com a exportação de registros de dados do Cloud Billing para o BigQuery.

    5. Para salvar, clique em Criar conjunto de dados.

Consulte as limitações que podem afetar a exportação dos dados de faturamento para o BigQuery.

Se você for um revendedor*, poderá reutilizar o mesmo projeto e conjunto de dados que acabou de criar ao ativar a exportação de dados de faturamento do Channel Services específica para revendedores.

5. Ativar exportação do Cloud Billing para o conjunto de dados do BigQuery

Ative a exportação de dados do Cloud Billing na seção "Cloud Billing" do Console do Google Cloud. Estes são os tipos de dados que podem ser exportados:

  • Dados de custo de uso padrão: contém informações de uso de custo padrão da conta do Cloud Billing, como ID da conta, data da fatura, serviços, SKUs, projetos, rótulos, locais, custo, uso, créditos, ajustes e moeda.

    Use a exportação de uso padrão para analisar as amplas tendências nos dados de custo.

  • Dados detalhados do custo de uso: contém informações de uso detalhadas do custo da conta do Cloud Billing. Inclui tudo nos dados de custo de uso padrão, além de dados de custo no nível do recurso, como uma máquina virtual ou SSD que gera o uso do serviço.

    Use a exportação detalhada para analisar os custos no nível do recurso e identificar recursos específicos que podem estar aumentando os custos.

    A exportação detalhada inclui automaticamente informações sobre o Compute Engine. Para ver um detalhamento dos custos do cluster do Google Kubernetes Engine (GKE) em uma exportação de dados detalhada, também é preciso ativar a alocação de custo para o GKE.

  • Dados de preços: contém informações de preços da conta do Cloud Billing, como ID da conta, serviços, SKUs, produtos, metadados geográficos, unidades de preços, moeda, agregação e níveis.

Para permitir que os dados de custo de uso ou preços do Cloud Billing sejam exportados para o BigQuery, faça o seguinte:

  1. No console do Google Cloud, acesse a página Exportação de faturamento.

    Acesse a página "Exportação de faturamento"

  2. No prompt, escolha a conta do Cloud Billing para que você quer exportar dados de faturamento. A página Exportação de faturamento é aberta para a conta de faturamento selecionada.

  3. Na guia BigQuery export, clique em Editar configurações para cada tipo de dados que você quer exportar. Cada tipo de dados é configurado separadamente.

  4. Na lista Projeto, selecione o projeto que você configurou para armazenar o conjunto de dados do BigQuery.

    Observação: o projeto selecionado é usado para armazenar os dados do Faturamento do Cloud exportados no conjunto de dados do BigQuery.

    Para exportações de dados de custo de uso padrão e detalhado, os dados do Cloud Billing incluem dados de uso e custo para todos projetos do Google Cloud pagos pela mesma conta do Cloud Billing.

    Para a exportação de dados de preços, os dados do Cloud Billing incluem apenas os dados de preço específicos da conta do Cloud Billing vinculada ao projeto de conjunto de dados selecionado.

  5. No campo ID do conjunto de dados, selecione o conjunto de dados que você configurou para conter os dados exportados do Cloud Billing.

    Para todos os tipos de dados do Cloud Billing exportados para o BigQuery, as seguintes condições se aplicam:

    • A API BigQuery é necessária para exportar dados ao BigQuery. Se o projeto selecionado não tiver a API BigQuery ativada, você vai receber uma solicitação para ativá-la. Clique em Ativar API do BigQuery.
    • Se o projeto selecionado não contiver nenhum conjunto de dados do BigQuery, você vai receber uma solicitação para criar um. Se necessário, siga estas etapas para criar um novo conjunto de dados.
    • Se você usa um conjunto de dados atual, revise as limitações que podem afetar a exportação dos seus dados de faturamento para o BigQuery, como a incapacidade de exportar dados para conjuntos de dados configurados para usar uma CMEK ou a incapacidade de usar um conjunto de dados configurado com um local de região sem suporte.

    Para a exportação de dados de preços, a API BigQuery Data Transfer Service é necessária para exportar os dados para o BigQuery. Se o projeto selecionado não tiver a API BigQuery Data Transfer Service ativada, você vai receber uma solicitação para ativá-la. Se necessário, siga estas etapas para ativar a API.

  6. Clique em Salvar.

Atualizar dados do Cloud Billing para exportar

Depois de ativar a exportação dos dados do Cloud Billing para o BigQuery, você pode mudar quais dados são exportados desativando ou ativando os diferentes tipos.

Antes de desativar qualquer uma das exportações de dados, revise as limitações e as diretrizes de disponibilidade de dados para saber como isso pode afetar os dados de faturamento exportados para o BigQuery.

Para desativar um tipo de Cloud Billing que está sendo exportado para o BigQuery, faça o seguinte:

  1. Selecione Desativar exportação padrão, Desativar exportação detalhada ou Desativar exportação de preços.
  2. Clique em Confirmar para salvar a seleção.

Para ativar um tipo desativado do Cloud Billing que está sendo exportado para o BigQuery, consulte Ativar os dados do Cloud Billing para serem exportados para o BigQuery.

Sobre as permissões de conjuntos de dados

A exportação do Cloud Billing para o BigQuery usa uma conta de serviço para gerenciar as permissões do conjunto de dados.

Depois de ativar a exportação do Cloud Billing para o BigQuery, o Google adiciona automaticamente uma conta de serviço como proprietário ao conjunto de dados especificado. As contas de serviço têm este aspecto:

  • Para os conjuntos de dados de custo padrão e detalhados de uso: billing-export-bigquery@system.gserviceaccount.com
  • Para o conjunto de dados de preços: cloud-account-pricing@cloud-account-pricing.iam.gserviceaccount.com

As contas de serviço são de propriedade do Google e gerenciadas por ele, além de fornecer as permissões necessárias para que nosso processo off-line crie uma tabela e grave registros do Cloud Billing nela.

Consulte as limitações que podem afetar a exportação dos dados de faturamento para o BigQuery.

Tabelas de dados de faturamento

Logo depois de ativar a exportação do Cloud Billing para o BigQuery, as tabelas de dados de faturamento são criadas automaticamente no conjunto de dados do BigQuery. Para saber mais sobre essas tabelas do BigQuery e os esquemas de tabela, consulte Noções básicas sobre as tabelas de dados criadas automaticamente no BigQuery.

Frequência de carregamentos de dados

  • Quando você ativa a exportação de custo de uso padrão ou detalhado para o BigQuery, pode levar algumas horas para que os dados de custo do Google Cloud sejam propagados para o conjunto de dados do BigQuery. Os dados são exportados em ordem cronológica. Se a exportação estiver configurada para incluir dados retroativamente dos meses atual e anterior, pode levar até cinco dias para que os dados exportados alcancem totalmente os dados de uso atuais.
  • Quando você ativa a exportação de preços para o BigQuery pela primeira vez, pode levar até 48 horas para começar a ver seus dados de preços do Google Cloud.

Saiba mais sobre a frequência de carregamento dos dados nas tabelas do BigQuery.

Limitações

A exportação dos dados do Cloud Billing para o BigQuery está sujeita às seguintes limitações.

  • Locais do conjunto de dados do BigQuery compatíveis para uso com dados do Cloud Billing

    Os conjuntos de dados do BigQuery são configurados para usar um local que seja multirregional (UE ou EUA) ou um local de região. O local do conjunto de dados está definido no momento da criação. Depois que um conjunto de dados é criado, o local não pode ser alterado.

    A exportação de dados do Faturamento do Cloud é compatível com todos os locais de multirregião (UE ou EUA), mas apenas um subconjunto de locais de região. Ao definir as configurações de exportação do Cloud Billing, se você criar ou selecionar um conjunto de dados configurado para usar um local de região sem suporte, ao tentar salvar suas configurações de exportação, você vai receber um erro Região do conjunto de dados inválida.

    A tabela a seguir lista os locais multirregionais e regionais compatíveis com conjuntos de dados do BigQuery que contêm dados do Cloud Billing.

    Américas Ásia-Pacífico Europa

    Multirregional: EUA

    Regiões:

    • northamerica-northeast1 (Montreal)
    • southamerica-east1 (São Paulo)
    • us-central1 (Iowa)
    • us-east1 (Carolina do Sul)
    • us-east4 (Norte da Virgínia)
    • us-west1 (Oregon)
    • us-west2 (Los Angeles)
    • us-west3 (Salt Lake City)
    • us-west4 (Las Vegas)

    Regiões:

    • asia-east1 (Taiwan)
    • asia-east2 (Hong Kong)
    • asia-northeast1 (Tóquio)
    • asia-northeast2 (Osaka)
    • asia-northeast3 (Seul)
    • asia-south1 (Mumbai)
    • asia-southeast1 (Singapura)
    • asia-southeast2 (Jacarta)
    • australia-southeast1 (Sydney)

    Multirregional: UE

    Regiões:

    • europe-central2 (Varsóvia)
    • europe-north1 (Finlândia)
    • europe-west1 (Bélgica)
    • europe-west2 (Londres)
    • europe-west3 (Frankfurt)
    • europe-west4 (Países Baixos)
    • europe-west6 (Zurique)

  • Para os conjuntos de dados do BigQuery que contêm dados de custo de uso padrão ou dados detalhados de custo de uso, o tipo de local configurado no conjunto de dados afeta a tempo em que os dados de faturamento do Google Cloud são exportados para ele:

    • Se você configurar o conjunto de dados para usar um local multirregional (UE ou EUA), o conjunto de dados refletirá os dados de faturamento do Google Cloud incorridos a partir do início do mês anterior ao que você ativou a exportação pela primeira vez, a menos que você a reative. Ou seja, os dados de faturamento do Google Cloud são adicionados retroativamente somente para o mês atual e o anterior. Para o preenchimento inicial dos dados exportados, pode levar até cinco dias para que os dados retroativos do Cloud Billing sejam exportados antes que você comece a ver os dados de uso atuais.
    • Se o conjunto de dados estiver configurado para usar um local regional compatível, os dados de custo de uso padrão e os dados detalhados os dados de custo de uso refletem apenas os dados de faturamento do Google Cloud incorridos a partir da data em que você ativou a exportação do Faturamento do Cloud. Ou seja, os dados de faturamento do Google Cloud não são adicionados de forma retroativa para locais de conjuntos de dados não multirregionais. Portanto, você não verá os dados do Cloud Billing de antes de ativar a exportação.

    • Para mais detalhes, consulte a disponibilidade de dados.

  • Os conjuntos de dados do BigQuery que contêm dados de preços coletam apenas dados de faturamento do Google Cloud incorridos a partir da data em que você configurou a exportação do Cloud Billing. Ou seja, _os dados de preços do Google Cloud não são adicionados retroativamente. Portanto, você não vai encontrar os dados de preços do Cloud Billing antes de ativar a exportação. Para mais detalhes, consulte Disponibilidade de dados.

  • Ao exportar dados detalhados de custo de uso, a exportação detalhada inclui automaticamente informações sobre o recurso sobre o Compute Engine. Para conferir um detalhamento dos custos do cluster do Google Kubernetes Engine (GKE) em uma exportação de dados detalhada, ative a alocação de custos para o GKE.

  • Criptografia do conjunto de dados: as chaves de criptografia gerenciadas pelo cliente (CMEK) não são compatíveis ao exportar dados de faturamento para o BigQuery. Se você ativar a criptografia CMEK para o conjunto de dados de faturamento, esse tipo de criptografia impedirá que o Cloud Billing grave dados de faturamento nas tabelas apropriadas nesse conjunto de dados. Em vez disso, ative o conjunto de dados para usar uma chave de propriedade e gerenciada pelo Google.

  • Se você quiser usar a segurança no nível da linha do BigQuery na tabela que contém os dados exportados, conceda à conta de serviço de exportação do Cloud Billing billing-export-bigquery@system.gserviceaccount.com acesso total à tabela. Use o filtro TRUE do BigQuery. O comando a seguir concede acesso à conta de serviço do Cloud Billing:

    CREATE ROW ACCESS POLICY cloud_billing_export_policy
    ON `__project_id__.__dataset_id__.__table_id__`
    GRANT TO ('serviceAccount:billing-export-bigquery@system.gserviceaccount.com')
    FILTER USING (TRUE);
    
  • As tags no nível do recurso podem levar até uma hora para serem propagadas para as exportações do BigQuery. Se uma tag tiver sido adicionada ou removida em uma hora ou se um recurso existir por menos de uma hora, talvez ela não apareça na exportação.

    As tags no nível do recurso estão disponíveis para os seguintes recursos:

    • Instâncias do Compute Engine
    • Instâncias do Spanner
    • Serviços do Cloud Run
    • Repositórios do Artifact Registry
  • Se você usa o VPC Service Controls, as exportações do BigQuery podem ser bloqueadas. Para resolver isso, você precisa isentar a VPC manualmente.

Relatórios de custos e preços disponíveis no Console do Google Cloud