Sem tags, a fatura AWS é um bloco único — e toda discussão de custo vira achismo. Cost Allocation Tags permitem mostrar quanto cada time, produto ou ambiente consome, sem esperar um projeto de data warehouse de seis meses.
Este artigo cobre o mínimo que funciona em contas reais: quais tags criar, como ativar no Billing, o que esperar no Cost Explorer e os erros que fazem o relatório ficar vazio.
Por que tags importam mais que “mais uma instância barata”
FinOps sem alocação vira briga genérica: “cloud está caro”. Com tags:
- Produto vê o custo do feature que lançou
- Engenharia prova que dev/staging são o vilão (ou não)
- Financeiro aprova RI/SP com baseline por owner
Showback (mostrar o custo) costuma bastar no início. Chargeback (cobrar internamente) só depois que os números são confiáveis.
Tags recomendadas para começar (máximo 5)
| Tag | Exemplo | Uso |
|---|---|---|
Environment | prod, staging, dev | Separar baseline de laboratório |
Team | platform, backend, data | Dono operacional |
Product | checkout, analytics | Custo por produto |
Owner | email ou slug | Responsável humano |
CostCenter | CC-1234 | Integração com ERP (opcional) |
Evite 20 tags obrigatórias no dia 1 — ninguém preenche e o IAM fica ingovernável.
Passo a passo: da tag ao relatório
1. Definir padrão e documentar
Publique uma página interna (Notion, wiki):
- Chaves permitidas e valores válidos (
prodnão éproductionePRD) - Quem é obrigado a taguear (todo recurso novo via IaC)
- Exceções temporárias (com prazo)
2. Aplicar tags nos recursos
- Terraform / CloudFormation: tags no provider ou
default_tags - Console: manual só para legado — migre para IaC quando possível
- Organizations: SCP pode exigir tags em criação (avançado)
3. Ativar no Billing
Billing → Cost allocation tags → marque as chaves → Activate.
Atenção: dados históricos não retroagem com detalhe perfeito. A partir da ativação, aguarde 24–48 h para Cost Explorer refletir.
4. Validar no Cost Explorer
- Group by Tag → escolha
TeamouProduct - Filtre últimos 30 dias
- Compare com total da conta — se “Untagged” for > 30%, priorize correção antes de otimizar EC2
Untagged: o inimigo silencioso
Recursos sem tag aparecem como No tag key ou similar. Causas comuns:
- Recursos criados antes da política
- Serviços que não suportam todas as tags (verifique doc AWS)
- Lambdas/containers criados fora do pipeline padrão
- NAT, endpoints e recursos “de rede” esquecidos
Ação: relatório semanal dos top 10 recursos untagged por custo (CUR ou Cost Explorer).
User-defined vs AWS-generated tags
- User-defined: você controla (
Team,Product) - AWS-generated:
aws:createdBy, etc. — úteis para caça, não para showback
Não misture convenções: tag de negócio sempre user-defined.
Integração com CUR (quando a conta cresce)
Acima de ~US$ 2–5k/mês, exporte Cost and Usage Report para S3:
- Athena + Glue para SQL em cima do CUR
- Dashboards custom (QuickSight, Metabase)
- Regras de alocação para recursos compartilhados (NAT, shared RDS)
Para o primeiro ano, Cost Explorer + 4 tags bem aplicadas resolve 80%.
Alocar custo compartilhado (NAT, observability)
Recursos compartilhados não têm “dono óbvio”. Opções:
- Proporcional ao tráfego (métricas VPC Flow / bytes por app)
- Split fixo (50% platform, 50% produto) — documentado
- Custo de plataforma — linha separada no showback
O importante é uma regra escrita, não precisão contábil no centavo.
Erros frequentes
- Ativar tag no Billing mas não taguear recursos novos
- Valores livres (
team1,Team1,eng) — use lista fechada - Tag só em EC2 e esquecer RDS, S3, Lambda, ELB
- Esperar showback no mesmo dia da ativação
Checklist rápido
- Padrão de tags documentado
- Tags ativadas no Billing
- IaC aplicando tags em recursos novos
- Cost Explorer com < 20% untagged (meta)
- Revisão mensal de top untagged