Pular para o conteúdo principal

Google Cloud

Overview​

O Google Cloud não tem API REST de custo real. O único caminho é o billing export do Cloud Billing para o BigQuery. O CloudBroker lê a tabela do export FOCUS no seu BigQuery, em modo somente leitura, sem guardar nenhuma credencial.

O que já existe e o que ainda não

Hoje a conexão valida a leitura, mostra o estado do conector e o total do mês na moeda da sua fatura no painel do Google Cloud. O FinOps Advisor responde perguntas sobre o custo do GCP. O custo do GCP ainda não entra na Visão Geral, na DRE de Custos por Negócio nem no MCP — os totais dessas telas são de AWS/Azure.

Também não estão disponíveis para GCP: recomendações do rulebook de otimização, descoberta automática de aplicações e atribuição de custo por label.

Requisitos​

  • Uma billing account do Google Cloud e acesso ao console de Faturamento
  • Um projeto com BigQuery para receber o export
  • O e-mail da service account dedicada ao seu tenant, fornecido pelo CloudBroker
  • Papel de administrador no CloudBroker
Por que este passo é seu, e não nosso

O Google só permite habilitar o billing export pelo console — não existe API para o CloudBroker fazer isso por você. A tela de conexão é um guia, não um assistente automático.

Guia de setup​

  1. Console GCP → Faturamento → Exportação de dados: habilite o export FOCUS.
  2. Escolha um dataset multi-região (US ou EU). Em dataset regional o histórico retroativo é perdido de forma irreversível — o CloudBroker recusa a conexão nesse caso. O Google cria o dataset sozinho (nome tipo gcp_billing_immutable_…) — não crie um à mão.
  3. Aguarde a primeira carga: o Google leva até 5 dias. O retroativo cobre desde o início do mês anterior.
  4. No dataset: Sharing → Permissions → adicione o e-mail da service account como READER. A permissão é no nível do dataset — o export não aceita permissão por tabela.
  5. Em app.cloudbroker.app.br → Marketplace de Conectores → Google Cloud, preencha os campos e clique em Conectar Google Cloud.

Campos​

CampoObrigatórioDescrição
projectIdSimID do projeto onde está o dataset do export
datasetIdSimDataset do export (gcp_billing_immutable_…)
tableIdSimTabela do export FOCUS
saEmailSimE-mail da service account fornecido pelo CloudBroker (…@….iam.gserviceaccount.com)

Validação​

Antes de salvar, o CloudBroker lê o dataset de verdade e confere se ele é multi-região (US ou EU). Se o BigQuery responder "Not found", a conexão falha: isso significa dataset inexistente ou acesso não concedido — o BigQuery não distingue os dois.

Estados do conector​

Depois de conectado, a tela mostra um destes estados (botão Reavaliar para consultar de novo):

EstadoO que significaO que fazer
SaudávelLeitura funcionando e dado frescoNada
Saudável · coberto por créditosO valor faturado está ≈ zero, mas o preço de tabela não — créditos (promocionais, free tier) estão cobrindo o consumoNada — não é consumo zero
Aguardando primeiro dadoAcesso confirmado; o Google ainda não criou a tabela do exportAguardar até 5 dias após habilitar
Provável configuração erradaA tabela não apareceu em mais de 5 diasConferir no console se o export FOCUS aponta para este dataset
Carga inicial em andamentoA tabela existe, mas ainda está vaziaAguardar
Dado parado na fonteO dado mais novo do Google tem mais de 48h — o conector lê normalmente, o que parou foi o exportConferir o export no console
Acesso não confirmadoO BigQuery respondeu "Not found" para o dataset: nome errado ou permissão removidaConferir o nome e se a service account segue como READER. Uma revogação recente pode levar ~1 minuto para propagar
Dataset em região erradaDataset regional em vez de multi-regiãoRecriar o export num dataset US ou EU
Erro de federação (lado CloudBroker)A troca de identidade entre CloudBroker e Google falhouNada do seu lado — o problema é nosso

Nenhum estado exibe "custo zero" para dado ausente.

Dado coletado​

Do export FOCUS, por serviço e por mês:

  • BilledCost — o valor faturado (é o total exibido)
  • EffectiveCost — custo efetivo, com descontos amortizados
  • ListCost — preço de tabela, sem créditos

O backend também calcula série diária, previsão do mês (gasto atual + média diária × dias restantes) e anomalias (dia acima de 1,5× a média móvel de 7 dias) — ainda não exibidos nos dashboards.

Moeda

O export vem na moeda da sua billing account (ex.: BRL). O painel mostra o total nessa moeda como número principal — é o que bate com a fatura — e o valor em USD como secundário. A conversão para USD é feita linha a linha com a taxa que o próprio Google grava no export (x_CurrencyConversionRate) — nunca com um câmbio do CloudBroker. Linha sem taxa não é convertida nem vira zero: fica fora da soma e é contada à parte.

Só o formato FOCUS

O conector lê apenas o export FOCUS. Os exports Standard e Detailed ainda não são suportados.

Custo de consulta no BigQuery​

As consultas rodam no projeto do CloudBroker, não no seu — o seu grant é só leitura do dataset. Cada consulta tem teto de 100 MB processados e filtra pela coluna de partição do export.

Segurança​

Nenhuma credencial do Google fica guardada. O que o CloudBroker grava é só um ponteiro sem segredo (projeto, dataset, tabela e e-mail da service account). A cada leitura, o acesso é obtido por Workload Identity Federation: um token de curta duração, emitido para a service account do seu tenant. O isolamento entre clientes é garantido pelo IAM do próprio Google — a identidade de um tenant não consegue obter token da service account de outro.

O acesso real é o seu grant de READER no dataset: você pode revogá-lo no console a qualquer momento. Desconectar no CloudBroker remove o ponteiro.