Por que há uma discrepância nas métricas de armazenamento e tamanho entre o console do Amazon S3, o CloudWatch e o S3 Storage Lens?

7 minuto de leitura
0

Estou comparando “Calcular o tamanho total” no console do Amazon Simple Storage Service (Amazon S3), armazenamento diário em bucket no Amazon CloudWatch e “Armazenamento total” na Lente de Armazenamento do S3. Vejo uma discrepância nessas métricas.

Descrição breve

Ao ver essa discrepância, verifique as seguintes condições:

  • Você ativou o versionamento de objetos.
    Observação: o recurso de versionamento de objetos no Amazon S3 mantém várias versões de um objeto no seu bucket. Por padrão, o versionamento de objetos do Amazon S3 está desativado nos buckets, e você deve ativar explicitamente esse recurso.
  • Existem carregamentos fracionados incompletos.
    **Observação:**os uploads incompletos de várias partes não são visíveis no console do Amazon S3, mas são calculados como parte do armazenamento nas métricas do CloudWatch e do Storage Lens.

Para identificar a causa da discrepância de relatórios, verifique se você ativou o versionamento de objetos. Além disso, procure uploads fracionados no seu bucket. Esses dois fatores podem resultar em um aumento do valor do tamanho calculado do bucket no CloudWatch e na métrica de Armazenamento total da Lente de Armazenamento do S3. Esses fatores não se aplicam quando você calcula o tamanho total do objeto no console do Amazon S3. Para mais informações, consulte as métricas de armazenamento diário do Amazon S3 para buckets no CloudWatch.

Dica: se você tiver uploads fracionados incompletos no Amazon S3, considere criar uma regra de configuração do ciclo de vida. Essa regra de configuração de ciclo de vida limpa automaticamente quaisquer partes incompletas, reduzindo os custos do armazenamento de dados. Observe que regras de ciclo de vida operam de forma assíncrona e, portanto, pode haver um atraso na operação. Porém, assim que os objetos forem marcados para exclusão, não haverá cobranças pelo armazenamento (mesmo que o objeto ainda não tenha sido removido).

Observe que as métricas de monitoramento do Amazon S3 são registradas uma vez por dia. Portanto, essas métricas podem não exibir as informações mais atualizadas. Enquanto isso, o CloudWatch monitora seus recursos e aplicações da AWS em tempo real. Além disso, o console do S3 e o Storage Lens usam a conversão de base 2 (/1024) para relatar métricas de armazenamento, e o CloudWatch, por padrão, usa a conversão de base 10 (/1000).

Resolução

Métricas de armazenamento diário no CloudWatch

No CloudWatch, a métrica BucketSizeBytes captura todos os tipos de armazenamento do Amazon S3 e do Amazon S3 Glacier, versões de objetos e todos os carregamentos fracionados incompletos. Esse valor é calculado somando-se todos os tamanhos de objetos, metadados no seu bucket (objetos atuais e não atuais) e todos os tamanhos de carregamentos fracionados incompletos. Por exemplo, a métrica BucketSizeBytes calcula a quantidade de dados (em bytes) que está armazenada em um bucket do Amazon S3 em todas as seguintes classes de armazenamento de objetos:

  • S3 Standard
  • S3 Intelligent-Tiering
  • S3 Standard-IA
  • S3 One Zone-IA
  • S3 Reduced Redundancy Storage
  • S3 Glacier Deep Archive
  • S3 Glacier Flexible Retrieval
  • S3 Glacier Instant Retrieval

A métrica NumberOfObjects no CloudWatch conta os seguintes valores no seu bucket:

  • O número total de objetos entre todas as classes de armazenamento. Para compartimentos com controle de versionamento, isso inclui versões de objetos atuais e não atuais, bem como marcadores de exclusão.
  • O número total de partes para qualquer carregamento fracionado incompleto

Por exemplo, se você tiver duas versões do mesmo objeto, elas serão contadas como dois objetos separados.

Métrica “Armazenamento total” no painel da Lente de Armazenamento do S3

Você pode ver a métrica Armazenamento total no painel do Lente de Armazenamento do S3, na guia Bucket. Essa métrica captura o armazenamento total, incluindo uploads fracionados incompletos, metadados de objetos e marcadores de exclusão. Para ver a composição exata do espaço ocupado por versões não atuais, carregamentos fracionados incompletos ou marcadores de exclusão, verifique as métricas individuais:

  • Bytes da versão atual
  • Bytes de versão não atual
  • Bytes de upload fracionados incompletos

Essas métricas estão disponíveis no Nível gratuito da AWS.

Além disso, a métrica Contagem de objetos inclui informações sobre versões atuais e não atuais, marcadores de exclusão e contagens incompletas de objetos de upload fracionados. Para informações de nível granular, verifique as métricas:

  • Número de objetos da versão atual
  • Número de objetos de versão não atual
  • Número de objetos do marcador de exclusão
  • Contagem de objetos de multipart upload incompletos.

Para obter mais informações, consulte o Glossário de métricas da Lente de Armazenamento do Amazon S3.

“Calcular o tamanho total” no console do Amazon S3

Para calcular o tamanho do seu bucket no console do Amazon S3, você pode usar a ação Calcular o tamanho total. Em seguida, o Amazon S3 calcula o tamanho de armazenamento do seu bucket. No entanto, observe que os uploads fracionados e as versões anteriores ou não atuais não são calculados no tamanho total do bucket. O Amazon S3 calcula somente o número total de objetos para a versão atual ou mais recente de cada objeto armazenado no bucket. Por exemplo, se houver duas versões de um objeto no seu bucket, a calculadora de armazenamento do Amazon S3 as contará como apenas um objeto. Como resultado, o número calculado pelo console do Amazon S3 é menor do que o relatado pelo CloudWatch.

Carregamentos fracionados incompletos

Para verificar o tamanho ocupado por uploads fracionados incompletos, verifique a métrica Bytes de multipart upload incompletos no painel da Lente de Armazenamento do S3, na guia Bucket.

Para revisar a lista de carregamentos fracionados incompletos, execute o comando list-multipart-uploads:

aws s3api list-multipart-uploads --bucket BUCKET_EXAMPLE

Observação: substitua BUCKET_EXAMPLE pelo nome do bucket.

Em seguida, liste todos os objetos no carregamento fracionado, usando o comando list-parts e seu valor UploadId:

aws s3api list-parts --bucket BUCKET_EXAMPLE --key large_test_file --upload-id EXAMPLE_VALUE

Observação: substitua BUCKET_EXAMPLE pelo nome do seu bucket e EXAMPLE_VALUEpelo valor de UploadId.

Criar uma regra de ciclo de vida

Para excluir carregamentos fracionados automaticamente, crie uma regra de configuração de ciclo de vida:

  1. Abra o console do Amazon S3.
  2. Escolha a guia Management (Gerenciamento).
  3. Escolha Create new policty (Criar nova política).
  4. Adicione o nome da política.
  5. Escolha Select - Delete expired delete markers or incomplete multipart uploads (Selecionar - excluir marcadores de exclusão ou carregamentos fracionados incompletos).
  6. (Opcional) Se o bucket não tiver versionamento, escolha Delete incomplete multipart uploads (Excluir carregamentos fracionados incompletos).

Versionamento de objetos

Para revisar e auditar seu bucket do Amazon S3 quanto a diferentes versões de objetos, use a lista de inventário do Amazon S3. Um arquivo de lista de inventário do Amazon S3 contém uma lista dos objetos no bucket de origem e metadados de cada objeto. O arquivo da lista de inventário captura informações de metadados, como nome do bucket, tamanho do objeto, classe de armazenamento e ID da versão. Para calcular o tamanho que as versões atuais e não atuais ocupam, verifique as métricas do painel da Lente de Armazenamento do S3 Bytes da versão atual e Bytes de versão não atual, respectivamente.

Informações relacionadas

Exemplo 8: Configuração do ciclo de vida para abandonar uploads fracionados

Objetos em expiração

Métricas de armazenamento diário do Amazon S3 para buckets no CloudWatch

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses