FinOps10 de outubro de 2026 10 min de leitura

Da fatura cloud ao custo por pedido: repartição por centro de custo e custo unitário em AWS, Azure e Google Cloud

Saber quanto gasta na nuvem não chega: o negócio pergunta quanto custa cada pedido e que equipa o gasta. Mostramos como o AAA Sentinel reparte a fatura por centro de custo e calcula o custo unitário, com um exemplo completo em três nuvens.

Este artigo também está disponível em:esenfr

«Este mês gastámos mais 20 % na nuvem.» Dito assim, ninguém sabe se é uma má notícia. Se os pedidos cresceram 40 %, é uma melhoria. Se não cresceram, é um problema. E nos dois casos falta a segunda pergunta: que equipa ou que produto ficou com esse dinheiro? A fatura cloud não responde a nenhuma das duas. Neste artigo mostramos como o AAA Sentinel responde a ambas, com um exemplo completo em AWS, Azure e Google Cloud.

As duas perguntas a que a fatura não responde

A fatura de uma nuvem está organizada por serviço: tanto de computação, tanto de armazenamento, tanto de base de dados. Serve para pagar, mas não para decidir. Para decidir são precisas duas coisas que não vêm nela:

  • A quem pertence cada euro: que centro de custo, equipa ou produto o gastou. Sem isto não há responsáveis, apenas um valor comum que ninguém sente como seu.
  • O que conseguiu com esse gasto: quanto custa na nuvem cada pedido, cada cliente ou cada transação. Sem isto não se distingue crescer de desperdiçar.

O custo unitário é a métrica que o negócio entende. «A nuvem custa 0,10 US$ por pedido» pode comparar-se com a margem de um pedido; «a nuvem custa 12.000 US$ por mês» não.

O que ganha com isto

Com a repartição e o custo unitário a funcionar, a conversa sobre a nuvem muda:

  • Cada equipa vê a sua parte da fatura e responde por ela, em vez de discutir um total.
  • Sabe se o gasto cresce mais depressa do que o negócio: se o custo por pedido sobe, algo ficou menos eficiente mesmo que a fatura pareça razoável.
  • Pode definir preços com dados: conhece o custo de servir um cliente antes de decidir quanto lhe cobrar.
  • Vê quanto gasto não tem dono, que é por onde costuma começar a poupança.
  • Tem tudo isto para todas as suas nuvens num só sítio, com o mesmo critério de repartição.

Como o AAA Sentinel resolve: três peças

A funcionalidade faz parte do plano Business e assenta em três peças que se configuram uma vez:

  • Ingestão FOCUS: cada nuvem exporta a sua fatura detalhada em FOCUS, o formato aberto comum a AWS, Azure e Google Cloud. O AAA Sentinel lê-a todos os dias e processa o último mês fechado. Configura-se em cada conta, em Minhas contas cloud → Ingestão FOCUS, e a própria página traz um guia passo a passo para cada nuvem.
  • Repartição de custos por etiqueta: escolhe as chaves pelas quais quer ver a fatura desagregada (por exemplo, centro_de_custo) e acrescenta regras para cobrir o que não está etiquetado. Está em Configurações da organização → Custos.
  • Métricas de negócio: declara a sua unidade (pedidos, clientes ativos, transações) e indica quantas houve em cada mês, à mão ou pela API. A plataforma divide o custo por essas unidades.

O resultado vê-se em Relatórios → Custo unitário: o custo por unidade do mês, a desagregação por centro de custo e a evolução dos últimos meses.

Etiquetas reais e regras virtuais

O ideal é que cada recurso tenha a sua etiqueta na nuvem, mas na prática fica sempre uma parte por etiquetar. Em vez de o obrigar a etiquetar tudo antes de ver um resultado, o AAA Sentinel deixa-o cobrir a falha com regras de etiquetagem virtual: «se o serviço for S3, atribui a dados», «se o nome do recurso começar por payments-, atribui a pagamentos». As regras não alteram nada na sua nuvem e seguem três princípios simples:

  • A etiqueta real ganha sempre à regra. Uma regra nunca se sobrepõe ao que a sua equipa etiquetou de propósito.
  • Se duas regras atribuírem a mesma chave, ganha a primeira da lista.
  • O que não tem etiqueta nem regra fica como «não atribuído». Nunca se reparte a olho: ver quanto fica sem dono diz-lhe onde etiquetar ou que regra criar.

Um atalho que funcionou connosco: se cada produto vive na sua própria região ou subscrição, uma regra por região ou por subconta reparte quase toda a fatura sem etiquetar um único recurso. Numa conta real com dois produtos, duas regras deixaram atribuídos 83 % do gasto; o resto eram impostos, que é correto não repartir.

Caso prático: a ACME em três nuvens

A ACME vende pela internet. Tem a loja na AWS, a plataforma de dados no Azure e a analítica no Google Cloud. Quer saber quanto lhe custa cada pedido e quanto gasta cada centro de custo: loja, pagamentos e dados. Em setembro teve 9.900 pedidos. Esta é a sua fatura do mês:

ACME · fatura de setembro por nuvem

AWS (loja e pagamentos)
990 USD
Azure (plataforma de dados)
400 EUR
Google Cloud (analítica)
95 EUR

Passo 1: ligar a fatura detalhada de cada nuvem

Cada nuvem tem a sua forma de exportar FOCUS e as suas condições. Isto é o que há a fazer em cada uma e o que convém saber antes de começar:

  • AWS: ative a etiqueta em Billing → Cost allocation tags (sem a ativar, a AWS não a inclui na exportação, e pode demorar até 24 horas a aparecer) e crie uma exportação FOCUS 1.0 em CSV em Data Exports. A exportação só escreve a partir do dia em que é criada, pelo que o primeiro mês completo chega no fecho do mês em curso.
  • Azure: crie no Cost Management uma exportação do tipo «Cost and usage details (FOCUS)» e dê à ligação a função Storage Blob Data Reader sobre a conta de armazenamento. As etiquetas chegam sozinhas e, com a herança de etiquetas, basta etiquetar o grupo de recursos. O Azure permite exportar meses passados, por isso pode ter resultados no primeiro dia. Só está disponível para contratos EA, MCA ou de parceiro.
  • Google Cloud: ative a exportação FOCUS para o BigQuery e dê à conta de serviço da ligação permissão de leitura sobre o dataset. Com um dataset multirregião, a Google preenche desde o início do mês anterior.

Uma diferença importante: a fatura do Google Cloud chega agregada do BigQuery, por isso soma ao custo unitário total, mas não entra na repartição por etiquetas nem se lhe aplicam regras. AWS e Azure são repartidos.

Passo 2: definir a repartição uma só vez

A repartição configura-se ao nível da organização e vale para todas as contas de uma vez. A ACME usa uma única chave, centro_de_custo, com os mesmos valores em todas as suas nuvens, e três regras para o que não está etiquetado:

AAA Sentinel · Repartição de custos por etiqueta

Chave de repartição
centro_de_custo
Regra 1 → pagamentos
Nome de recurso · começa por · payments-
Regra 2 → dados
Serviço · é igual a · Amazon Simple Storage Service
Regra 3 → dados
Subconta · é igual a · (id da subscrição de dados do Azure)
  • Use a mesma chave e os mesmos valores em todas as nuvens. Se numa escrever «Dados» e noutra «dados-eu», o relatório trata-os como centros de custo diferentes.
  • As regras aplicam-se a todas as contas, mas os nomes de serviço são diferentes em cada fornecedor: uma regra por serviço da AWS não afeta o Azure. Para repartir o Azure sem etiquetar, a regra por subconta (a subscrição) é a mais prática.

Passo 3: o que fica em cada centro de custo

Ao processar setembro, o AAA Sentinel aplica primeiro as etiquetas reais e depois as regras. Este é o resultado na conta AWS, recurso a recurso:

AWS · 990 USD repartidos

web-01 (300 USD) · etiqueta real loja
loja
cdn-loja (150 USD) · etiqueta real loja
loja
orders-db (240 USD) · etiqueta real pagamentos
pagamentos
payments-webhook (60 USD) · sem etiqueta
pagamentos, pela regra 1
payments-reconciler (120 USD) · etiqueta real dados
dados: a etiqueta ganha à regra 1
acme-data-lake (90 USD) · sem etiqueta
dados, pela regra 2
acme-logs (30 USD) · sem etiqueta
não atribuído
  • AWS: loja 450 USD, pagamentos 300 USD, dados 210 USD e 30 USD não atribuídos. Sem as regras, a cobertura teria sido de 82 %; com elas, de 97 %.
  • Azure: dados 350 EUR e 50 EUR não atribuídos.
  • Google Cloud: 95 EUR que contam no total, mas não na desagregação.

Passo 4: declarar a métrica e indicar as unidades

Em Configurações da organização → Custos → Métricas de negócio, a ACME cria a métrica «Pedidos», com a unidade «pedido» e a chave de repartição centro_de_custo. Depois indica as unidades do mês. Há duas formas:

  • À mão, uma vez por mês, em Relatórios → Custo unitário: o total (9.900 pedidos) e, se quiser a desagregação, as unidades de cada centro de custo. Voltar a enviar um valor corrige-o, não o soma.
  • Automaticamente, todas as noites, a partir do seu sistema de pedidos, com uma aplicação OAuth2 com a permissão metrics:write. Se enviar valores diários, envie-os todos os dias: os dias sem unidades ficam fora do cálculo e a plataforma avisa.

O identificador da métrica não pode ser alterado depois, porque é o que a API usa. Escolha-o curto e em minúsculas: pedidos, clientes, transacoes.

Passo 5: ler o relatório

Com o custo repartido e as unidades declaradas, Relatórios → Custo unitário mostra isto para setembro:

ACME · custo unitário de setembro (9.900 pedidos)

Cartão em USD (AWS)
990 USD ÷ 9.900 = 0,10 US$ por pedido
Cartão em EUR (Azure + Google Cloud)
495 EUR ÷ 9.900 = 0,05 € por pedido
Custo real de um pedido
0,10 US$ + 0,05 €
  • Um cartão por moeda, e nunca são convertidos. Cada nuvem fatura na sua moeda e misturá-las obrigaria a inventar uma taxa de câmbio; o custo real de um pedido é a soma dos cartões.
  • Desagregação por centro de custo, também por moeda: em USD aparecem loja, pagamentos e dados da AWS; em EUR, dados do Azure. A desagregação não soma o total, porque o que ficou por atribuir não aparece nela.
  • Evolução dos últimos meses, que é onde está o valor: um número isolado diz pouco, a tendência diz se cada pedido lhe custa mais ou menos do que antes.
  • Contas fora do cálculo: se faltar a uma conta a ingestão do mês, o relatório mostra-a com o nome, o motivo e como resolver. Um custo que falta sem avisar baixaria o rácio e pareceria uma melhoria.

Ser avisado quando o custo unitário sobe

Com o circuito a funcionar, não é preciso abrir o relatório todos os meses. Em Alertas → Canais de alerta pode ativar «Subida do custo unitário» e definir uma percentagem: a plataforma compara cada mês com o anterior e só avisa das subidas. É o alerta que deteta que algo ficou menos eficiente quando a fatura total ainda parece normal.

O que aprendemos ao montar isto

Configurámos tudo isto nas nossas próprias contas antes de escrever o artigo. Isto é o que convém saber antes de começar:

  • A repartição trabalha sobre meses fechados. Calcule quando terá o primeiro resultado: na AWS, no fecho do mês em que cria a exportação; no Azure e no Google Cloud pode tê-lo mais cedo, porque exportam meses passados.
  • Alterar as chaves ou as regras não recalcula um mês já processado. Depois de as alterar, clique em «Executar agora» na Ingestão FOCUS de cada conta.
  • Verifique a reconciliação: a página de ingestão compara o custo importado com a fatura da nuvem. Se não bater certo, o habitual é o caminho apontar para mais de uma exportação.
  • Comece pelas regras e etiquete depois. Com duas ou três regras bem escolhidas tem uma primeira repartição útil em minutos, e o «não atribuído» diz-lhe o que vale a pena etiquetar.
  • Decida os valores antes de etiquetar. Poucos, em minúsculas e escritos sempre da mesma forma.

Checklist para começar

Com isto em ordem, da próxima vez que alguém perguntar quanto custa a nuvem poderá responder com o que realmente quer saber: quanto custa cada pedido e quem o gasta.

  • Plano Business e acesso como proprietário da organização.
  • As suas contas cloud ligadas e a Ingestão FOCUS configurada em cada uma.
  • Uma chave de repartição com valores acordados, igual em todas as nuvens.
  • Regras para o que não está etiquetado, e o «não atribuído» revisto.
  • Uma métrica de negócio com as unidades do mês, à mão ou pela API.
  • O alerta de subida do custo unitário ativado.