AWS S3 carga por 4 TB de almacenamiento cuando solo usa menos de 1 GB

37

Tengo problemas para comprender mi gran factura de S3, y pensé en preguntar aquí antes de perder $ 30 en el soporte mensual de AWS.

Básicamente, tengo una instancia de Amazon EC2 que hace una API para diferentes intercambios de criptomonedas y guarda las respuestas en la instancia HD. Las llamadas se realizan aproximadamente cada 5 minutos, los objetos de respuesta son de aproximadamente 100 kb, se leen mediante un script R y se agregan a un archivo CSV cada ~ 8 minutos. Ese archivo CSV se sincroniza con un bucket de Amazon S3 aproximadamente cada 15 minutos.

Los archivos CSV suelen tener aproximadamente 10 MB, aproximadamente 15 criptomonedas, cada 15 minutos. Entonces, mirando en el bucket de Amazon S3, podría haber 0.5 GB de espacio como máximo.

Sin embargo, ¡el 'TimedStorage-ByteHours' se lee a aproximadamente 4 TB!

Servicio de almacenamiento simple de Amazon TimedStorage-ByteHrs $ 89.55

$ 0.000 por GB: almacenamiento en el nivel mensual gratuito global5 GB - Mo $ 0.00

$ 0.023 por GB - primeros 50 TB / mes de almacenamiento utilizado 3,893.399 GB - Mo $ 89.55

¿Algunas ideas?

Garglesoap
fuente
66
¿Tiene activadas las versiones ? Si es así, cuando sobrescribe un archivo, puede estar dejando atrás la versión anterior.
ceejayoz
66
Ah, las alegrías de la facturación de AWS. La próxima vez que alguien pregunte qué significa "centavo y centavo" a alguien, los enviaré aquí;)
jonatan

Respuestas:

66

Lo más probable es que tenga habilitado el control de versiones S3 , lo que significa que los objetos antiguos cuando se sobrescriben con una versión más nueva no se eliminan, sino que se ocultan en un historial. Para verificar vaya a Bucket -> Properties -> Versioning .

Versiones S3

También puede ver las versiones anteriores en el navegador, como en esta captura de pantalla tengo varias versiones del 108c05...jsonarchivo:

Mostrar versiones S3

Si tiene habilitado el control de versiones pero no desea, puede suspender el control de versiones, pero tenga en cuenta que no eliminará las versiones anteriores, deberá:

  • use AWS-CLI y algunas secuencias de comandos (comience con aws s3api list-object-versions)
  • configure la Política de ciclo de vida de bucket para que caduque las versiones anteriores. Eso se hace a través de S3 -> bucket -> Administración -> Ciclo de vida -> Agregar regla de ciclo de vida y luego en la pantalla Vencimiento complete estos detalles:

ingrese la descripción de la imagen aquí

Espero que ayude :)

MLu
fuente
3

El almacenamiento de acceso poco frecuente tiene un cargo mínimo de 30 días por artículo

  1. Vaya a https://s3.console.aws.amazon.com y obtenga la lista de archivos de uno de sus cubos.
  2. Tenga en cuenta que cada archivo en el depósito tiene una clase de almacenamiento. La elección de la clase de almacenamiento está bajo su control y afecta los costos.

Standardes el más caro, por lo que algunas personas lo usan, lo infrequent accessque tiene una tarifa mensual más baja (~ 50% de descuento) por GB almacenado de acuerdo con la tabla de precios. PERO, Infrequent también tiene un cargo de recuperación de $ 0.01 / GB, por lo que solo ahorra en costos totales para archivos almacenados al menos un mes y recuperados menos de una vez al mes. Además, puede haber una política de ciclo de vida en su depósito que cambie la clase de almacenamiento de archivos a lo largo del tiempo, lo que puede afectar cuando se inicia el período de almacenamiento mínimo de 30 días.

En letra pequeña, infrequent accesstiene un cargo mínimo de 30 días por cada artículo almacenado.

Fuente: https://aws.amazon.com/s3/pricing/

Primera nota al pie, marcada †

† El almacenamiento S3 de acceso poco frecuente estándar y S3 de acceso poco frecuente de una zona tiene un tamaño mínimo de objeto facturable de 128 KB. Se pueden almacenar objetos más pequeños, pero se cobrará por 128 KB de almacenamiento. El acceso poco frecuente estándar S3 y el almacenamiento de acceso poco frecuente S3 One Zone se cobran por una duración mínima de almacenamiento de 30 días. Los objetos que se eliminan, se sobrescriben o se transfieren a una clase de almacenamiento diferente antes de los 30 días incurrirán en el cargo de uso normal más un cargo de solicitud prorrateado por el resto del mínimo de 30 días. Los objetos almacenados durante 30 días o más no incurrirán en un cargo mínimo por solicitud de 30 días

Lo que es costoso sobre Amazon S3, y Google Cloud Storage también, son los cargos de red si los datos se envían a Internet público en lugar de mantenerse en la nube de esa compañía. El cargo de red para recuperar una vez puede exceder fácilmente el cargo de almacenamiento durante 3-4 meses. $ 0.09 / GB (octubre de 2018) para AWS S3 , $ 0.12 / GB para Google Cloud Storage , nivel de uso más bajo.

Digital Ocean tiene una capa de almacenamiento compatible con S3 llamada "Espacios" que vale la pena echarle un vistazo. Se han reportado algunos errores, y podrían estar limitados de alguna manera, pero el precio general parece interesante y podría ser "lo suficientemente bueno" para algunos usos.

Paul
fuente