0 XP
Módulo 6 · AWS, Cloud e Segurança

Custos, tags e a disciplina de destruir o ambiente

Intermediário 40 min+25 XPCost ExplorerBudgetsTags

Objetivos desta aula

  • Identificar os maiores geradores de custo
  • Aplicar tags e budgets
  • Executar checklist de destruição

Custo na nuvem é responsabilidade de engenharia. Os campeões de fatura inesperada são NAT Gateway, IPs elásticos ociosos, volumes EBS órfãos, snapshots antigos, balanceadores esquecidos e tráfego de saída. Conhecer essa lista já evita a maior parte dos sustos.

Sem tags não existe análise: projeto, ambiente, dono e validade permitem atribuir gasto e caçar recurso órfão. Depois vêm budgets com alerta por percentual e anomaly detection para variações súbitas.

Adote a disciplina de destruição: todo laboratório termina com destroy e uma verificação ativa de recursos remanescentes. Em Terraform isso é um comando; sem IaC, é um checklist manual — mais um argumento a favor de descrever tudo em código.

1. Os vilões da conta

NAT Gateway parado, instâncias esquecidas, volumes EBS órfãos, IPs públicos (agora cobrados), snapshots antigos, logs sem retenção e transferência entre AZs. Conheça-os antes da primeira fatura.

2. Tags como contrato

Toda peça leva Project, Environment, Owner e ManagedBy. Ative-as como cost allocation tags para ver custo por ambiente no Cost Explorer. No Terraform, use default_tags no provider.

3. Alertas de orçamento e anomalia

AWS Budgets avisa por valor; Cost Anomaly Detection avisa quando algo foge do padrão (ex.: um job gerando terabytes de tráfego).

4. Destruir é uma habilidade

Ambientes de estudo e de PR devem ser efêmeros: terraform destroy ao fim do dia. Se destruir dá medo, é sinal de que a infraestrutura não está 100% em código.

5. Otimizações clássicas

Graviton, Savings Plans para carga estável, Spot para carga tolerante a interrupção, rightsizing com base em métricas reais e desligar dev fora do horário.

6. Checagem final

Você deve listar recursos sem tags, ver o custo por ambiente e recriar o dev do zero sem ansiedade.

Na prática

Custo, órfãos e destruição

bash

aws ce get-cost-and-usage --time-period Start=2026-09-01,End=2026-09-30 \
  --granularity MONTHLY --metrics UnblendedCost \
  --group-by Type=DIMENSION,Key=SERVICE --query 'ResultsByTime[0].Groups[].{S:Keys[0],V:Metrics.UnblendedCost.Amount}'

# recursos orfaos
aws ec2 describe-addresses --query 'Addresses[?AssociationId==null].PublicIp'
aws ec2 describe-volumes --filters Name=status,Values=available --query 'Volumes[].{ID:VolumeId,GB:Size}'
aws ec2 describe-nat-gateways --filter Name=state,Values=available --query 'NatGateways[].NatGatewayId'
aws elbv2 describe-load-balancers --query 'LoadBalancers[].LoadBalancerName'

# checklist de destruicao do laboratorio
aws rds delete-db-instance --db-instance-identifier cloudshop-dev --skip-final-snapshot
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
aws s3 rm s3://cloudshop-web-dev --recursive && aws s3api delete-bucket --bucket cloudshop-web-dev

Nota de segurança: --skip-final-snapshot apaga o banco sem cópia. Use apenas em ambiente descartável e nunca em produção.

Achar recursos sem tag e órfãos

bash

aws resourcegroupstaggingapi get-resources \
  --query "ResourceTagMappingList[?!not_null(Tags[?Key=='Project'])].ResourceARN"
aws ec2 describe-volumes --filters Name=status,Values=available \
  --query 'Volumes[].[VolumeId,Size]'           # volumes sem dono
aws ec2 describe-addresses --query 'Addresses[?AssociationId==null].PublicIp'   # IPs parados

Tags padrão no Terraform

hcl

provider "aws" {
  region = "us-east-1"
  default_tags {
    tags = {
      Project     = "cloudshop"
      Environment = var.env
      Owner       = "plataforma"
      ManagedBy   = "terraform"
    }
  }
}

Por que isso importa

Vagas atuais citam FinOps explicitamente. Saber falar de custo com números diferencia candidatos.

Erro comum

Deixar NAT Gateway ligado a mês inteiro para um laboratório de duas horas.

Dica de produção

Automatize desligamento noturno de ambientes de desenvolvimento; economia de 60% é comum.

Alerta de segurança

Pico inexplicado de custo pode ser sinal de conta comprometida usada para mineração. Investigue como incidente.

Pergunta de entrevista

Quais recursos você verificaria primeiro se a fatura dobrasse sem novo deploy?

Glossário

FinOps
Prática de gestão financeira da nuvem, unindo engenharia e finanças.
recurso órfão
Recurso que continua cobrando sem estar associado a nada em uso.
FinOps
Prática de gerir custos de nuvem com engenharia, finanças e produto juntos.
Spot
Capacidade ociosa com grande desconto, que pode ser interrompida.
rightsizing
Ajustar o tamanho do recurso ao uso real.

Conexão com o CloudShop

Documentar o custo mensal estimado do CloudShop e o procedimento de destruição.

Quiz da aula

  1. 1. Qual recurso frequentemente gera custo inesperado em laboratórios?

  2. 2. Qual recurso é um vilão clássico de custo em ambiente de estudo?

  3. 3. Para que servem cost allocation tags?

Minhas anotações

Salvo automaticamente neste navegador.

AnteriorPróxima