Usar el control de versiones en buckets de S3 - Amazon Simple Storage Service

Usar el control de versiones en buckets de S3

El control de versiones de Amazon S3 es una forma de conservar diversas variantes de un objeto en el mismo bucket. Puede utilizar S3 Versioning para conservar, recuperar y restaurar todas las versiones de los objetos almacenados en sus buckets. Con el control de versiones, se puede recuperar fácilmente de acciones no deseadas del usuario y de errores de la aplicación. Luego de habilitar el control de versiones para un bucket, si Amazon S3 recibe varias solicitudes de escritura para el mismo objeto simultáneamente, almacena todos los objetos.

Los buckets con el control de versiones habilitado le permiten recuperar objetos ante su eliminación o sobrescritura accidental. Por ejemplo, si elimina un objeto, Amazon S3 inserta un marcador de eliminación en lugar de eliminarlo de forma permanente. El marcador de eliminación se convierte en la versión actual del objeto. Si sobrescribe un objeto, se creará una nueva versión del objeto en el bucket. Siempre puede restaurar la versión anterior. Para obtener más información, consulte Eliminar versiones de objetos de un bucket con control de versiones habilitado.

De forma predeterminada, S3 Versioning está deshabilitado en los buckets y debe habilitarlo explícitamente. Para obtener más información, consulte Habilitar el control de versiones en buckets.

nota
  • La API SOAP no admite Control de versiones de S3. La compatibilidad con SOAP por HTTP está obsoleta, pero aún se encuentra disponible con HTTPS. Las características nuevas de Amazon S3 no son compatibles con SOAP.

  • Se aplican tasas normales de Amazon S3 por cada versión de un objeto almacenado y transferido. Cada versión de un objeto es el objeto en sí, no se limita a ser una diferenciación de la versión anterior. Por tanto, si tiene tres versiones de un objeto almacenado, se le cobrará por tres objetos.

Buckets sin control de versiones, habilitados para control de versiones y suspendidos para control de versiones

Los buckets pueden estar en uno de los tres estados:

  • No versionado (predeterminado)

  • Control de versiones: habilitado

  • Control de versiones: suspendido

Habilita y suspende el control de versiones en el nivel de bucket. Tras habilitar el control de versiones en un bucket, nunca puede volver a un estado sin control de versiones. Pero puede suspender el control de versiones en ese bucket.

El estado del control de versiones se aplica a todos los objetos (nunca solo a una parte) del bucket. Cuando habilita el control de versiones en un bucket, todos los objetos nuevos tienen una versión y se les asigna un identificador de versión único. Los objetos que ya existían en el bucket en el momento en que se habilitó el control de versiones siempre tendrán una versión y se les asignará un identificador de versión único cuando sean modificados por futuras solicitudes. Tenga en cuenta lo siguiente:

  • Los objetos que se almacenan en un bucket antes de establecer el estado del control de versiones tienen el ID de versión null. Al habilitar el control de versiones, los objetos existentes en el bucket no cambian. Lo que cambia es la forma en la que Amazon S3 administrará los objetos en las solicitudes futuras. Para obtener más información, consulte Trabajar con objetos en un bucket con control de versiones habilitado.

  • El propietario del bucket (o cualquier usuario con los permisos adecuados) puede suspender el control de versiones para dejar de acumular versiones de objetos. Al suspender el control de versiones, los objetos existentes en el bucket no cambian. Lo que cambia es la forma en la que Amazon S3 administrará los objetos en las solicitudes futuras. Para obtener más información, consulte Trabajar con objetos en un bucket con control de versiones suspendido.

Uso de S3 Versioning con S3 Lifecycle

Para personalizar su enfoque de retención de datos y controlar los costos de almacenamiento, utilice el control de versiones de los objetos con S3 Lifecycle. Para obtener más información, consulte Administración del ciclo de vida del almacenamiento. Para obtener más información acerca de cómo crear políticas de ciclo de vida de S3 mediante la AWS Management Console, la AWS CLI, los SDK de AWS o la API de REST, consulte Configurar el ciclo de vida de un bucket.

importante

Si cuenta con una política de ciclo de vida para la caducidad de un objeto en el bucket sin control de versiones y quiere mantener el mismo comportamiento de eliminación cuando habilite el control de versiones, debe agregar una política de vencimiento no actual. La política de vencimiento de ciclo de vida no actual administra las eliminaciones de las versiones de objetos no actuales en el bucket habilitado para el control de versiones. (Un bucket habilitado para el control de versiones mantiene una versión actual del objeto y cero o más versiones no actuales del objeto). Para obtener más información, consulte Configurar el ciclo de vida de un bucket.

Para obtener información sobre cómo trabajar con S3 Versioning, consulte los siguientes temas.