¿Por qué existe una discrepancia en las métricas de almacenamiento y tamaño entre la consola de Amazon S3 y Amazon CloudWatch?

Última actualización: 03/12/2021

Veo una discrepancia entre el número de “Calculate total size” (Calcular el tamaño total) en la consola de Amazon Simple Storage Service (Amazon S3) y las métricas de almacenamiento diario de Amazon CloudWatch. ¿Por qué existe una discrepancia en las métricas informadas entre las dos fuentes?

Descripción corta

Si existe una discrepancia entre las métricas de almacenamiento de CloudWatch y el número de Calculate total size (Calcular el tamaño total) en la consola de Amazon S3, compruebe si se cumple lo siguiente:

  • El control de versiones de objetos está habilitado.
    Nota: La característica de control de versiones de objetos de Amazon S3 conserva varias versiones de un objeto en su bucket. De forma predeterminada, el control de versiones de objetos de Amazon S3 está desactivado en los buckets y debe habilitar la característica de forma explícita.
  • Existen cargas multiparte incompletas.
    Nota: Las cargas multiparte incompletas no se ven en la consola de Amazon S3, pero se calculan como parte del almacenamiento en las métricas de CloudWatch.

Para identificar la causa de la discrepancia en los informes, verifique si habilitó el control de versiones de objetos y busque cargas multiparte en su bucket. Estos dos factores pueden provocar un aumento del valor de tamaño del bucket calculado en CloudWatch. Para obtener más información, consulte Métricas de almacenamiento diario de Amazon S3 y CloudWatch para buckets.

Consejo: Si tiene cargas multiparte incompletas en Amazon S3, considere la posibilidad de crear una regla de configuración del ciclo de vida. Esta regla de configuración del ciclo de vida puede limpiar automáticamente cualquier parte incompleta, lo cual reduce el costo del almacenamiento de datos. Tenga en cuenta que las reglas del ciclo de vida funcionan de forma asíncrona, por lo que puede haber un retraso en la operación. Sin embargo, tan pronto como los objetos se marcan para su eliminación, ya no se factura el almacenamiento correspondiente (incluso si el objeto aún no se eliminó).

Además, las métricas de monitoreo de Amazon S3 se registran una vez al día y, por lo tanto, es posible que no muestren la información más actualizada. Mientras tanto, CloudWatch monitorea los recursos y aplicaciones de AWS en tiempo real.

Resolución

Métricas de almacenamiento diario en CloudWatch

En CloudWatch, la métrica BucketSizeBytes captura todos los tipos de almacenamiento de Amazon S3 y Amazon S3 Glacier, las versiones de objetos y las cargas multiparte incompletas. Este valor se calcula mediante la suma de todos los tamaños de objetos, los metadatos del bucket (tanto los objetos actuales como los no actuales) y los tamaños de carga multiparte incompletos. Por ejemplo, la métrica BucketSizeBytes calcula la cantidad de datos (en bytes) que se almacenan en un bucket de Amazon S3 en todas estas clases de almacenamiento de objetos:

  • S3 Standard
  • S3 Capas inteligentes
  • S3 Estándar – Acceso poco frecuente
  • S3 One Zone-IA
  • Almacenamiento de redundancia reducida de S3
  • S3 Glacier Deep Archive
  • S3 Glacier

Además, la métrica NumberOfObjects en CloudWatch contiene el número total de objetos que se almacenan en un bucket para todas las clases de almacenamiento. Este valor cuenta todos los objetos del bucket (tanto actuales como no actuales), junto con el número total de partes de cualquier carga multiparte incompleta. La métrica NumberOfObjects también calcula el número total de objetos para todas las versiones de los objetos del bucket. Por ejemplo, si tiene dos versiones del mismo objeto, las dos versiones se cuentan como dos objetos separados. Para obtener más información, consulte Métricas y dimensiones.

“Calcular el tamaño total” en la consola de Amazon S3

Para calcular el tamaño del bucket desde la consola de Amazon S3, puede utilizar la acción Calculate total size (Calcular el tamaño total). A continuación, Amazon S3 calcula el tamaño de almacenamiento del bucket. Sin embargo, tenga en cuenta que las cargas multiparte y las versiones anteriores o no actuales no se calculan en el tamaño total del bucket. Amazon S3 calcula solo el número total de objetos para la versión actual o la más reciente de cada objeto que se almacena en el bucket. Por ejemplo, si existen dos versiones de un objeto en el bucket, la calculadora de almacenamiento de Amazon S3 las cuenta como un solo objeto. Como resultado, el número que se calcula en la consola de Amazon S3 es menor que el que informa CloudWatch.

Cargas multiparte incompletas

Para revisar la lista de cargas multiparte incompletas, ejecute el comando list-multipart-uploads:

aws s3api list-multipart-uploads --bucket <bucket-example>

A continuación, enumere todos los objetos en la carga multiparte, con el comando list-parts y el valor UploadId:

aws s3api list-parts --bucket <bucket-example> --key large_test_file --upload-id <examplevalue>

Creación de una regla de ciclo de vida

Para eliminar automáticamente las cargas multiparte, puede crear una regla de configuración del ciclo de vida. Siga estos pasos:

1.    Abra la consola de Amazon S3.

2.    Elija la pestaña Management (Administración).

3.    Elija Create new policy (Crear nueva política).

4.    Agregue el nombre de la política.

5.    Elija Select - Delete expired delete markers or incomplete multipart uploads (Seleccionar > Eliminar marcadores de eliminación caducados o cargas multiparte incompletas).

6.    (Opcional) Si su bucket no posee un control de versiones, elija Delete incomplete multipart uploads (Eliminar cargas multiparte incompletas).

Control de versiones de objetos

Para revisar y auditar un bucket de Amazon S3 en busca de diferentes versiones de objetos, utilice la lista de inventario de Amazon S3. Un archivo de lista de inventario de Amazon S3 contiene una lista de los objetos del bucket de origen y los metadatos de cada objeto. El archivo de lista de inventario captura metadatos como el nombre del bucket, el tamaño del objeto, la clase de almacenamiento y el ID de versión.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?