Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Resolvendo divergências de tamanho de armazenamento no S3

By Ciara-CloudFeb 10, 20255 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

Imagem de Molnia

Ao gerenciar buckets do Amazon S3, ter métricas de armazenamento precisas é fundamental para controlar custos e planejar capacidade. Mas divergências nos tamanhos reportados podem acontecer, gerando confusão e possíveis erros na estimativa de custos. Este artigo traz um caso real de um de nossos clientes em que diferentes ferramentas da AWS mostraram tamanhos muito distintos para o mesmo bucket S3, e apresenta uma solução para calcular com precisão o consumo real de armazenamento.

Um de nossos clientes se deparou com uma divergência significativa ao revisar as métricas de armazenamento de um bucket específico:

  • S3 Metrics e CloudWatch: indicavam mais de 220TB de armazenamento
  • AWS CLI e a opção "Calculate total size" do S3: mostravam menos de 8TB

Essa diferença de 27 vezes no tamanho reportado acendeu o alerta sobre a precisão dos dados e o possível impacto nos custos.

Ao investigar, encontramos as seguintes configurações do bucket:

  • Storage Class: todos os objetos estavam em S3 Standard
  • Versionamento: não habilitado no bucket
  • Lifecycle Rule: configurada para excluir objetos após 45 dias

À primeira vista, essas configurações não explicavam a enorme diferença nos tamanhos reportados, o que motivou uma análise mais aprofundada.

Para confirmar a divergência, começamos verificando as métricas do bucket S3 e do CloudWatch:

  1. Console do S3: revisamos as métricas de armazenamento do bucket
  2. CloudWatch: examinamos as métricas correspondentes ao bucket

As duas fontes indicavam, de forma consistente, que o bucket armazenava mais de 200TB de dados.

Métricas do bucket S3

Métricas do CloudWatch

Para investigar mais a fundo, usamos dois métodos adicionais para medir o armazenamento do bucket:

  1. Recurso "Calculate Total Size" no Console do S3
  2. Comando da AWS CLI para listar o conteúdo do bucket

Tanto o "Calculate total size" quanto o comando da AWS CLI mostraram que o bucket tinha 7,5TB de armazenamento, com mais de 6 milhões de objetos.

Usando o "Calculate total size" no bucket S3.

Resultado do "Calculate Total" do S3

Comando da AWS CLI para calcular o tamanho do bucket:

aws s3 ls — summarize — human-readable — recursive s3://

Esse comando lista todos os objetos do bucket especificado e exibe um resumo do tamanho total.

Saída da AWS CLI

O contraste gritante nos tamanhos reportados criou um mistério e tanto: como o mesmo bucket podia mostrar volumes de dados tão diferentes? A divergência pedia uma investigação mais profunda, já que poderia impactar bastante o controle de custos e o planejamento de armazenamento. Para desvendar o enigma, seguimos os passos abaixo:

  1. Habilitar o S3 Storage Lens: recomendamos ao cliente habilitar o Amazon S3 Storage Lens, um recurso robusto de análise de armazenamento em nuvem. A ferramenta dá visibilidade em toda a organização sobre o uso e as tendências de atividade no armazenamento de objetos.
  2. Aguardar a coleta de dados: vale lembrar que o S3 Storage Lens pode levar até 24 horas para coletar e publicar as métricas.
  3. Analisar os resultados: assim que os dados ficaram disponíveis, examinamos com calma o dashboard do S3 Storage Lens. Os insights da ferramenta foram fundamentais para a investigação.

S3 Storage Lens mostrando o tamanho total dos Incomplete Multipart Uploads.

O S3 Storage Lens revelou que a causa da divergência estava nos S3 Incomplete Multipart Uploads.

Os S3 Incomplete Multipart Uploads são partes de objetos que foram enviadas parcialmente, mas nunca concluídas. O ponto-chave é que esses uploads incompletos consomem espaço e geram cobrança, mesmo sem aparecer nas listagens padrão do bucket.

O tamanho dos Incomplete Multipart Uploads passava de 200TB. A diferença entre as ferramentas acontece porque a operação "Calculate total size" no console do S3 e o comando da AWS CLI não consideram os Incomplete Multipart Uploads.

Ao identificar o problema, conseguimos explicar a enorme diferença entre os tamanhos reportados e indicar um caminho para otimizar o uso do armazenamento S3 do cliente.

Para ajudar o cliente a limpar o bucket, configuramos a lifecycle rule do S3 chamada "delete-incomplete-mpu-7-days" para excluir os Incomplete Multipart Uploads.

Lifecycle Rule do S3 para excluir Incomplete Multipart Uploads

Depois de deixar a lifecycle rule "delete-incomplete-mpu-7-days" rodar por alguns dias e dar tempo para as métricas do CloudWatch se atualizarem, voltamos a checar as métricas do bucket. Confirmamos que a regra funcionou e removeu todos os Incomplete Multipart Uploads. Em seguida, comparamos as métricas de armazenamento nas mesmas ferramentas, e os valores reportados para o bucket finalmente se alinharam.

Métricas do bucket S3 depois de aplicar a lifecycle rule

Métricas do CloudWatch depois de aplicar a lifecycle rule

Usando o "Calculate total size" do S3 depois de aplicar a lifecycle rule "delete-incomplete-mpu-7-days".

Usando o "Calculate total size" no bucket S3.

"Calculate total size" do S3 depois de aplicar a lifecycle rule

Script com a AWS CLI para calcular o tamanho do bucket depois de aplicar a lifecycle rule

Este estudo de caso é só um exemplo dos desafios complexos que as empresas enfrentam ao gerenciar seus ambientes AWS. Aplicando nossa expertise em serviços AWS e nossa capacidade de analisar e interpretar métricas de nuvem, descobrimos a causa raiz da divergência no tamanho do armazenamento e entregamos uma solução eficaz. Isso não só resolveu o problema imediato como deu ao cliente uma visão muito mais clara sobre o uso e os custos do armazenamento S3.

Na DoiT International, somos especialistas em ajudar empresas a navegar pelas complexidades dos ambientes em nuvem, resolver problemas e otimizar a infraestrutura AWS. Se você está lidando com divergências parecidas em métricas de armazenamento ou outros desafios na nuvem, nosso time de especialistas está pronto para ajudar. Não deixe que a complexidade da nuvem atrapalhe suas operações. Fale com a DoiT hoje mesmo e descubra como podemos ajudar você a extrair o máximo de eficiência e custo-benefício do seu ambiente em nuvem, garantindo o melhor retorno sobre o seu investimento em AWS.