AWS

S3, lifecycle e Intelligent-Tiering: FinOps para storage que só cresce

Como parar de pagar Standard em logs antigos, backups esquecidos e assets frios — políticas de lifecycle, classes e armadilhas de custo no S3.

AWSS3FinOpsStorage

S3 parece barato por GB até você acumula anos de logs, backups de pipeline e uploads de usuário sem política. O problema não é o bucket em si — é classe errada para objeto que ninguém abre há meses.

Classes em linguagem direta

ClasseQuando usar
StandardAcesso frequente, latência baixa
Standard-IAAcesso pouco frequente, recuperação rápida
Glacier Instant RetrievalArquivo frio, ainda precisa ms de acesso
Glacier Flexible / Deep ArchiveBackup legal, retenção longa, restore tolera horas
Intelligent-TieringPadrão de acesso imprevisível — AWS move automaticamente

Erro clássico: bucket de logs em Standard sem lifecycle — cada GB novo fica no tier mais caro para sempre.

Intelligent-Tiering: vale ou não?

Vale quando:

  • Você não sabe o padrão de acesso (dados de produto, analytics, mídia)
  • Objetos ficam frios após 30–90 dias sem você querer gerenciar regras manuais

Cuidado:

  • Objetos muito pequenos ou de curta vida podem não compensar a taxa de monitoramento
  • Para logs com padrão óbvio (quente 7 dias, morto depois), lifecycle explícito costuma ser mais barato e previsível

Lifecycle rules que funcionam na prática

Bucket de logs de aplicação

Dia 0–30   → Standard (ou IA se quase não lê)
Dia 30–90  → Standard-IA ou Glacier Instant
Dia 90+    → Glacier Flexible ou exclusão

Backups de pipeline / dumps SQL

Dia 0–7    → Standard (restore rápido)
Dia 7–365  → Glacier
Dia 365+    → Deep Archive ou delete (conforme compliance)

Assets estáticos (site, CDN)

  • Objetos servidos via CloudFront: mantenha Standard na origem se tráfego alto.
  • Versões antigas de deploy: expire noncurrent versions após 30 dias se versioning estiver ligado.

Versioning: o multiplicador silencioso

Com versioning ativo, deletes viram markers e versões antigas continuam cobrando.

  • Ative lifecycle em noncurrent versions
  • Audite buckets com versioning sem regra — é fonte comum de “fatura S3 misteriosa”

Request costs e LIST

Storage é metade da história. PUT/COPY/LIST em milhões (Spark, Athena mal particionado, sync tools) geram linha S3 + Request no CUR.

Mitigações:

  • Particionar prefixos por data (logs/year=2026/month=06/)
  • Evitar LIST recursivo em jobs mal escritos
  • S3 Inventory para saber tamanho por prefixo antes de mover terabytes

Auditoria em 1 hora

  1. S3 Storage Lens ou relatório por bucket (tamanho + classe).
  2. Top 5 buckets por custo no Cost Explorer.
  3. Para cada um: versioning? lifecycle? objetos > 90 dias em Standard?
  4. Crie regra em staging primeiro; valide com prefixo de teste.

Integração com o resto do FinOps

  • Dados em S3 alimentam Athena/Glue — otimizar formato (Parquet) reduz scan e custo de análise, não só storage.
  • Backups cross-region duplicam storage e data transfer — veja NAT e data transfer.

Checklist

  • Lifecycle em buckets de log?
  • Noncurrent versions expiram?
  • IA/Glacier para backups antigos?
  • Intelligent-Tiering só onde padrão é caótico?
  • Storage Lens ou CUR revisado este mês?

Leitura relacionada


Por Mauricio Nascimento de Oliveira.

Publicar no LinkedIn

Abre o LinkedIn com título, início do artigo e link. Você pode editar antes de publicar.

Ver texto da publicação
S3, lifecycle e Intelligent-Tiering: FinOps para storage que só cresce

S3 parece barato por GB até você acumula anos de logs, backups de pipeline e uploads de usuário sem política. O problema não é o bucket em si — é classe errada para objeto que ninguém abre há meses.

👉 Leia o artigo completo: https://finopspro.com.br/blog/s3-lifecycle-intelligent-tiering-finops

— FinOps Pro
Publicar no LinkedIn Só o link

Artigos Relacionados