Versionamiento de archivos en Amazon S3

Resumen

El versionamiento en Amazon S3 te permite conservar múltiples copias de un mismo objeto dentro de un bucket, de modo que cada vez que subes un archivo con el mismo nombre, AWS guarda la versión anterior en lugar de reemplazarla. Esto es clave para recuperar archivos, auditar cambios y proteger información crítica en tu almacenamiento en la nube.

La práctica parte de un bucket ya creado en una clase previa, con políticas públicas configuradas y dos objetos cargados: un PDF y una imagen. Sobre esa base, vas a aplicar el versionamiento y a observar cómo S3 trata internamente cada nueva carga.

¿Cómo funciona el versionamiento de archivos en S3?

Cuando subes un archivo con el mismo nombre que uno existente, S3 no lo sobrescribe: crea una nueva versión y conserva la anterior. Cada versión recibe un version ID, un identificador único que AWS usa internamente para almacenar el objeto dentro de su sistema de archivos.

Para probarlo, abre tu bucket desde la consola y entra a la lista de objetos. Allí verás el PDF y la imagen ya cargados [00:35]. El flujo para crear una nueva versión es directo:

  1. Haz clic en Cargar dentro del bucket.
  2. Arrastra y suelta el archivo con el mismo nombre que el original.
  3. Confirma la carga y espera la barra de progreso.
  4. Cierra la ventana al finalizar.

Después de cargar el PDF repetido, el objeto aparece como uno solo en la vista normal. La diferencia se ve cuando activas la opción adecuada en la interfaz.

¿Qué es el versionamiento en S3? Es una función que guarda cada cambio de un objeto como una versión independiente con su propio ID, en lugar de reemplazar el archivo anterior.

¿Dónde veo las versiones de un objeto en el bucket?

En la vista de objetos del bucket existe un control llamado Mostrar versiones. Al activarlo, la lista se expande y muestra cada versión del archivo con su fecha y hora de carga, junto con el identificador único asignado por AWS.

En el ejemplo, tras subir el mismo AWS-Fundamentals.pdf, aparecen dos entradas: la versión nueva del 28 de diciembre a las 2:40 y la versión anterior justo debajo [01:30]. El mismo procedimiento aplica para la imagen: subes una copia con el mismo nombre, activas Mostrar versiones y confirmas que la versión previa sigue disponible [02:25].

¿Por qué AWS asigna un identificador único a cada versión?

S3 es un almacenamiento de objetos, no un sistema de archivos tradicional. Cada objeto necesita una referencia inequívoca para ser localizado. El version ID permite que dos versiones con el mismo nombre coexistan sin conflicto y que puedas acceder a una específica cuando lo necesites.

¿Cuánto cuesta tener varias versiones de un archivo en S3?

Aquí viene un punto que mucha gente pasa por alto: cada versión almacenada cuenta como un objeto facturable. Si tienes el mismo archivo cargado una, dos, tres, cuatro o cinco veces como versiones distintas, AWS te cobra por el almacenamiento total de todas ellas, no solo por la más reciente.

Eso significa que el versionamiento, aunque útil, tiene un impacto directo en el costo de tu bucket. Si manejas archivos pesados o cargas frecuentes, el almacenamiento acumulado crece rápido.

¿AWS cobra por cada versión guardada en S3? Sí. Cada versión se factura como un objeto independiente, así que el costo escala con la cantidad de versiones que conserves.

Algunas decisiones prácticas que conviene tener en mente:

  • Activa el versionamiento solo en buckets donde la trazabilidad lo justifique.
  • Define políticas de ciclo de vida para eliminar versiones antiguas automáticamente.
  • Revisa periódicamente cuántas versiones acumulas por objeto.

Estas tres acciones te ayudan a equilibrar la protección de tus datos con el control del gasto mensual en S3.

¿Qué pasos debo seguir para subir una nueva versión sin errores?

El proceso es el mismo que una carga normal, pero con una condición clave: el nombre del archivo debe ser idéntico al original. Si cambias el nombre, S3 lo trata como un objeto nuevo y no como una versión.

  • Entra al bucket y ubica el objeto que quieres versionar.
  • Usa el botón Cargar y arrastra el archivo con el mismo nombre.
  • Confirma la carga y espera el mensaje de éxito.
  • Activa Mostrar versiones para validar que la nueva versión quedó registrada.

Con esto ya manejas el flujo completo de versionamiento en S3: cargar, visualizar versiones y entender el costo asociado. Si te queda alguna duda sobre cómo aplicarlo en tu propio bucket o sobre el manejo de version IDs, déjala en los comentarios.

      Versionamiento de archivos en Amazon S3