Saltar al contenido
aprendeaws.dev

Módulo 7 · Almacenamiento/Lección 46

Clases de almacenamiento y ciclo de vida

Standard, Intelligent-Tiering, Infrequent Access y Glacier. Pagar menos por lo que casi no se lee.

Al terminar podrás

  • →Diferenciar las clases de almacenamiento de S3
  • →Escribir una regla de ciclo de vida
  • →Elegir la clase correcta según el patrón de acceso

No todos los datos se leen igual. Las fotos que sube un usuario hoy se van a ver mucho esta semana y casi nada el año que viene. Los logs se consultan unos días y después se guardan por obligación. Pagar lo mismo por todo es desperdiciar dinero.

S3 ofrece varias clases de almacenamiento. Todas tienen la misma durabilidad de diseño (once nueves). Lo que cambia es cuánto cuesta guardar, cuánto cuesta leer, qué tan rápido llega el primer byte y en cuántas zonas viven las copias.

Las clases para datos que se leen

CriterioS3 StandardIntelligent-TieringStandard-IAOne Zone-IA
Para quéDatos que se leen seguidoAcceso desconocido o cambianteSe lee poco, pero rápido cuando se leeCopias que puedes volver a crear
Primer byteMilisegundosMilisegundos (en sus niveles de acceso)MilisegundosMilisegundos
Zonas≥ 3≥ 3≥ 31
Disponibilidad de diseño99,99 %99,9 %99,9 %99,5 %
Duración mínimaNo tieneNo tiene30 días30 días
Cobro por recuperarNoNoSí, por GBSí, por GB

Las clases de archivo

CriterioGlacier Instant RetrievalGlacier Flexible RetrievalGlacier Deep Archive
Para quéArchivo que se consulta pocas veces al trimestre y debe salir yaRespaldos y archivo que pueden esperarRetención de años por ley o auditoría
Primer byteMilisegundosDe minutos a horas (bulk: 5 a 12 horas)Hasta 12 horas (bulk: hasta 48)
Zonas≥ 3≥ 3≥ 3
Duración mínima90 días90 días180 días
Cobro por recuperarSí, por GBSí, por GB (bulk sin costo)Sí, por GB
Leer el objetoDirecto, como StandardPrimero lo restaurasPrimero lo restauras

En Glacier Flexible Retrieval y Deep Archive no puedes leer el objeto de inmediato. Primero pides una restauración, S3 crea una copia temporal y, cuando está lista, la descargas. Glacier Instant Retrieval no tiene ese paso: se lee como cualquier objeto, pero leerlo cuesta más.

Intelligent-Tiering y Express One Zone

S3 Intelligent-Tiering es la opción para cuando no sabes cómo se va a usar un dato. S3 mira el acceso de cada objeto y lo mueve solo entre niveles: si nadie lo toca por un tiempo, baja a un nivel más barato; si alguien lo lee, vuelve al nivel frecuente. No cobra recuperaciones, pero sí una pequeña tarifa mensual de monitoreo por objeto. También tiene niveles de archivo opcionales que tú activas.

S3 Express One Zone va en la dirección contraria: es la clase más rápida, con acceso de milisegundos de un solo dígito, pensada para cargas que hacen muchísimas lecturas, como entrenar modelos o analítica intensa. Vive en una sola zona que tú eliges y usa un tipo de bucket distinto, el directory bucket.

Reglas de ciclo de vida

Mover objetos a mano no escala. Una regla de ciclo de vida le dice a S3 qué hacer con los objetos según su edad. Tiene dos tipos de acción:

  • Transición: mover el objeto a otra clase después de N días.
  • Expiración: borrar el objeto después de N días. Con versionado, también puedes borrar las versiones viejas.

La regla se aplica a todo el bucket o a un grupo de objetos filtrado por prefijo o por etiqueta. Un ejemplo con los logs de una aplicación:

  1. 1

    Días 0 a 30 · S3 Standard

    Se consultan para depurar errores recientes.
  2. 2

    Día 30 · Standard-IA

    Casi nadie los mira, pero si hay un incidente deben salir de inmediato.
  3. 3

    Día 90 · Glacier Instant Retrieval

    Se guardan para auditorías trimestrales.
  4. 4

    Día 365 · Glacier Deep Archive

    Solo se guardan por obligación legal.
  5. 5

    Unos 7 años · Expiración

    S3 los borra solo cuando termina el plazo de retención.
resource "aws_s3_bucket_lifecycle_configuration" "logs" {
  bucket = aws_s3_bucket.logs.id

  rule {
    id     = "logs-de-la-app"
    status = "Enabled"

    filter {
      prefix = "logs/"
    }

    transition {
      days          = 30
      storage_class = "STANDARD_IA"
    }
    transition {
      days          = 90
      storage_class = "GLACIER_IR"
    }
    transition {
      days          = 365
      storage_class = "DEEP_ARCHIVE"
    }

    expiration {
      days = 2555 # unos 7 años
    }

    # Con versionado: borra las versiones viejas a los 30 días
    noncurrent_version_expiration {
      noncurrent_days = 30
    }
  }
}

Las transiciones van «hacia abajo»: de una clase más cara de guardar a una más barata. Además, S3 exige que un objeto pase al menos 30 días en su clase actual antes de moverlo a Standard-IA o One Zone-IA.

Cómo elegir

Si el dato…Clase
Se lee todos los díasS3 Standard
No sabes cuánto se va a leerS3 Intelligent-Tiering
Se lee poco y lo necesitas al instanteS3 Standard-IA
Se lee poco y lo puedes volver a generarS3 One Zone-IASi cae esa zona, se pierde
Se consulta pocas veces al año, pero sin esperarS3 Glacier Instant Retrieval
Es un respaldo que puede tardar horas en volverS3 Glacier Flexible Retrieval
Se guarda por años y casi nunca se leeS3 Glacier Deep Archive

El costo de guardar datos se trata con más detalle en Transferencia de datos y almacenamiento.

Quiz

Pon a prueba lo que aprendiste

0 de 5 correctas · 5 sin responder

  1. 1.Una app guarda archivos cuyo patrón de acceso es impredecible. ¿Qué clase optimiza el costo sin cobrar recuperaciones?

  2. 2.Una empresa debe conservar registros por 10 años y casi nunca los consulta. Puede esperar hasta 48 horas para recuperarlos. ¿Qué clase es la más económica?

  3. 3.Guardas miniaturas de imágenes que puedes regenerar desde los originales. Se leen poco. ¿Qué clase conviene?

  4. 4.¿Qué herramienta mueve objetos a Glacier a los 90 días y los borra a los 7 años sin intervención manual?

  5. 5.¿Qué clase de archivo permite leer los objetos en milisegundos, sin restaurarlos primero?