Establecimiento de una configuración de S3 Lifecycle en un bucket
Puede establecer una configuración de Amazon S3 Lifecycle en un bucket mediante la consola de Amazon S3, la AWS Command Line Interface (AWS CLI), los AWS SDK o la API de REST de Amazon S3. Para obtener información acerca de la configuración de S3 Lifecycle, consulte Administración del ciclo de vida de los objetos.
En su configuración de S3 Lifecycle, utiliza reglas de ciclo de vida para definir las acciones que desea que Amazon S3 realice durante la vida útil de un objeto. Por ejemplo, puede definir reglas para realizar la transición de objetos a otra clase de almacenamiento, archivarlos o hacer que venzan (eliminarlos) después de un periodo de tiempo especificado.
Consideraciones sobre S3 Lifecycle
Antes de establecer una configuración del ciclo de vida, tenga en cuenta lo siguiente:
Retraso de propagación de configuración del ciclo de vida
Cuando añade una configuración de S3 Lifecycle a un bucket, por lo general se produce un cierto desfase antes de que una configuración de ciclo de vida nueva o actualizada se propague totalmente a todos los sistemas de Amazon S3. Habrá un retraso de algunos minutos antes de que la configuración entre en vigor completamente. Este retraso también se puede producir cuando elimina una configuración de S3 Lifecycle.
Retraso de caducidad o transición
Hay un retraso entre el momento en que se cumple la regla del ciclo de vida y el momento en que se completa su aplicación. Por ejemplo, supongamos que un conjunto de objetos caduca de acuerdo con una regla del ciclo de vida el 1 de enero. Aunque la regla de caducidad se haya cumplido el 1 de enero, es posible que Amazon S3 no elimine estos objetos hasta días o incluso semanas después. Este retraso se debe a que S3 Lifecycle pone los objetos en cola para transiciones o caducidades de forma asíncrona. Sin embargo, los cambios en la facturación suelen aplicarse en cuanto se cumple la regla de ciclo de vida, incluso aunque la acción no se haya completado. Para obtener más información, consulte Cambios en la facturación. Para supervisar el efecto de las actualizaciones realizadas por las reglas del ciclo de vida activo, consulte ¿Cómo puedo supervisar las acciones que se llevan a cabo según mis reglas de ciclo de vida?.
Actualización, desactivación o eliminación de las reglas del ciclo de vida
Cuando se deshabilitan o eliminan reglas del ciclo de vida después de cierto retraso, Amazon S3 deja de programar la eliminación o transición de nuevos objetos. Cualquier objeto que ya haya sido programado se desprograma y no se elimina ni se traslada.
nota
Antes de actualizar, deshabilitar o eliminar las reglas del ciclo de vida, utilice las operaciones de la API de LIST
(como ListObjectsV2, ListObjectVersions y ListMultipartUploads) o Catálogo y análisis de sus datos con Inventario de S3 para comprobar que Amazon S3 haya realizado la transición y haya caducado los objetos aptos en función de sus casos de uso. Si tiene problemas para actualizar, deshabilitar o eliminar las reglas del ciclo de vida, consulte Solución de problemas de Amazon S3 Lifecycle.
Objetos existentes y nuevos
Cuando añade una configuración de ciclo de vida a un bucket, las reglas de configuración se aplican a los objetos existentes y a los objetos que añade posteriormente. Por ejemplo, si hoy agrega una regla de configuración de Lifecycle con una acción de vencimiento que causa que objetos con un prefijo específico expiren 30 días después de la creación, Amazon S3 pondrá en cola de eliminación cualquier objeto existente con más de 30 días de antigüedad y que tenga el prefijo especificado.
Supervisión del efecto de las reglas del ciclo de vida
Para supervisar el efecto de las actualizaciones realizadas por las reglas del ciclo de vida activo, consulte ¿Cómo puedo supervisar las acciones que se llevan a cabo según mis reglas de ciclo de vida?.
Cambios en la facturación
Puede que haya un desfase entre la fecha en que se cumplen las reglas de configuración de ciclo de vida y la fecha en que se realiza la acción para cumplir la regla. Sin embargo, los cambios en la facturación se producen en cuanto se cumple la regla de configuración de ciclo de vida, incluso aunque la acción todavía no se haya realizado.
Un ejemplo es cuando no se le cobra por el almacenamiento después del tiempo de vencimiento del objeto, incluso aunque el objeto no se elimine inmediatamente. De igual modo, se le cobran las tarifas de almacenamiento de S3 Glacier Flexible Retrieval en cuanto transcurre el tiempo de transición del objeto, incluso aunque el objeto no se traslade de inmediato a la clase de almacenamiento S3 Glacier Flexible Retrieval.
Sin embargo, las transiciones del ciclo de vida a la clase de almacenamiento de S3 Intelligent-Tiering son la excepción. Los cambios en la facturación no se producen hasta después de que el objeto haya pasado a la clase de almacenamiento de S3 Intelligent-Tiering.
Varias reglas o reglas incompatibles
Cuando tiene varias reglas en una configuración de S3 Lifecycle, un objeto puede reunir los requisitos para varias acciones de S3 Lifecycle realizadas el mismo día. En tales casos, Amazon S3 sigue estas reglas generales:
-
La eliminación permanente prevalece sobre la transición.
-
La transición prevalece sobre la creación de marcadores de eliminación.
-
Cuando un objeto es apto para una transición S3 Glacier Flexible Retrieval y una transición S3 Standard-IA (o una transición S3 One Zone-IA), Amazon S3 elige la transición S3 Glacier Flexible Retrieval.
Para ver ejemplos, consulte Ejemplos de superposición de filtros y conflictos entre acciones del ciclo de vida.
Establecimiento de una configuración de S3 Lifecycle
Puede establecer una configuración de Amazon S3 Lifecycle en un bucket mediante la consola de Amazon S3, la AWS Command Line Interface (AWS CLI), los AWS SDK o la API de REST de Amazon S3.
Para obtener información sobre el uso de plantillas de AWS CloudFormation y algunos ejemplos, consulte Trabajo con plantillas de AWS CloudFormation y AWS::S3::Bucket en la Guía del usuario de AWS CloudFormation.
Puede definir una regla de Lifecycle para todos los objetos o para un subconjunto de objetos del bucket mediante un prefijo compartido (nombres de objetos que comienzan por una cadena común) o una etiqueta. En la regla de Lifecycle, puede definir acciones específicas para las versiones de objetos actualizadas y no actualizadas. Para más información, consulte los siguientes temas:
Para crear una regla de ciclo de vida
-
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En la lista Buckets, seleccione el nombre del bucket para el que desea crear una regla de ciclo de vida.
-
Seleccione la pestaña Management (Administración) y seleccione Create lifecycle rule (Crear regla de ciclo de vida).
-
En Lifecycle rule name (Nombre de regla de ciclo de vida), escriba un nombre para la regla.
El nombre debe ser único dentro del bucket.
-
Elija el ámbito de la regla de ciclo de vida:
-
Para aplicar esta regla de ciclo de vida a todos los objetos con un prefijo o etiqueta específicos, elija Limit the scope to specific prefixes or tags (Limitar el ámbito a prefijos o etiquetas específicos).
-
Para limitar el ámbito por prefijo, en Prefix (Prefijo), escriba el prefijo.
-
Para limitar el ámbito por etiqueta, seleccione Add tag (Agregar etiqueta) e introduzca la clave y el valor de la etiqueta.
Para obtener más información acerca de los prefijos de nombre de objeto, consulte Denominación de objetos de Amazon S3. Para obtener más información acerca de las etiquetas de objeto, consulte Categorización del almacenamiento mediante etiquetas.
-
-
Para aplicar esta regla del ciclo de vida a todos los objetos del bucket, seleccione Esta regla se aplica a todos los objetos del bucket y, a continuación, elija Reconozco que esta regla se aplica a todos los objetos del bucket.
-
-
Para filtrar una regla por tamaño de objeto, puede seleccionar Especificar el tamaño mínimo de objeto, Especificar tamaño máximo de objeto o ambas opciones.
-
Cuando especifica un valor en Tamaño mínimo de objeto o Tamaño máximo de objeto, este debe ser superior a 0 bytes y hasta 5 TB. Puede indicar este valor en bytes, KB, MB o GB.
-
Cuando especifica ambos valores, el tamaño máximo de objeto debe ser superior al tamaño mínimo de objeto.
nota
Los filtros Tamaño mínimo de objeto y Tamaño máximo de objeto excluyen los valores especificados. Por ejemplo, si configura un filtro para que caduquen los objetos con un tamaño mínimo de objeto de 128 KB, los objetos que tengan exactamente 128 KB no caducarán. En cambio, la regla solo se aplica a los objetos que tengan un tamaño superior a 128 KB.
-
-
En Lifecycle rule actions (Acciones de regla de ciclo de vida), elija las acciones que desea que realice la regla de ciclo de vida:
-
Realizar la transición de versiones de objetos actuales entre clases de almacenamiento
-
Realizar la transición de versiones de objetos anteriores entre clases de almacenamiento
-
Caducar las versiones de objetos actuales
nota
En el caso de los buckets que no tengan habilitado el control de versiones de S3, la caducidad de las versiones actuales hace que Amazon S3 elimine los objetos de forma permanente. Para obtener más información, consulte Acciones de ciclo de vida y estado de control de versiones del bucket.
-
Eliminar permanentemente versiones de objetos anteriores
-
Eliminar marcadores de eliminación caducados o cargas multiparte incompletas
Dependiendo de las acciones que elija, aparecerán diferentes opciones.
-
-
Para realizar la transición de versiones de objetos actuales entre clases de almacenamiento, realice lo siguiente en Realizar transición de versiones actuales de objetos entre clases de almacenamiento:
-
En Transiciones de clase de almacenamiento, seleccione la clase de almacenamiento a la que quiera realizar la transición. Para ver una lista de posibles transiciones, consulte Transiciones del ciclo de vida admitidas. Puede elegir entre las siguientes clases de almacenamiento:
-
S3 Standard-IA
-
S3 Intelligent-Tiering
-
S3 One Zone-IA
-
S3 Glacier Instant Retrieval
-
S3 Glacier Flexible Retrieval
-
S3 Glacier Deep Archive
-
-
En Days after object creation (Días después de la creación del objeto), introduzca el número de días posteriores a la creación del objeto en los que quiera realizar la transición.
Para obtener más información acerca de las clases de almacenamiento, consulte Descripción y administración de clases de almacenamiento de Amazon S3. Puede definir transiciones para versiones de objetos actuales o anteriores, o tanto para las actuales como para las anteriores. El control de versiones le permite mantener varias versiones de un objeto en un bucket. Para obtener más información sobre el control de versiones, consulte Uso de la consola de S3.
importante
Si elige la clase de almacenamiento S3 Glacier Flexible Retrieval, S3 Glacier Flexible Retrival o Glacier Deep Archive, los objetos permanecen en Amazon S3. No puede acceder a ellos directamente a través del servicio independiente de Amazon S3 Glacier. Para obtener más información, consulte Transición de objetos con Amazon S3 Lifecycle.
-
-
Para realizar la transición de versiones de objetos no actuales entre clases de almacenamiento, realice lo siguiente en Realizar transición de versiones no actuales de objetos entre clases de almacenamiento:
-
En Transiciones de clase de almacenamiento, seleccione la clase de almacenamiento a la que quiera realizar la transición. Para ver una lista de posibles transiciones, consulte Transiciones del ciclo de vida admitidas. Puede elegir entre las siguientes clases de almacenamiento:
-
S3 Standard-IA
-
S3 Intelligent-Tiering
-
S3 One Zone-IA
-
S3 Glacier Instant Retrieval
-
S3 Glacier Flexible Retrieval
-
S3 Glacier Deep Archive
-
-
En Days after object becomes non-current (Días después de que el objeto se vuelve no actual), introduzca el número de días posteriores a la creación del objeto en los que quiera realizar la transición.
-
-
Para hacer caducar versiones de objetos actuales, en Expire current versions of objects (Hacer caducar versiones de objetos actuales), en Number of days after object creation (Número de días después de la creación del objeto), ingrese el número de días.
importante
En un bucket sin control de versiones, la acción de vencimiento da como resultado que Amazon S3 elimine de forma permanente el objeto. Para obtener más información sobre las acciones del ciclo de vida, consulte Elementos para describir las acciones del ciclo de vida.
-
Para eliminar de manera permanente versiones anteriores de objetos, en Permanently delete noncurrent versions of objects (Eliminar de manera permanente versiones no actuales de objetos), en Days after objects become noncurrent (Días después de que los objetos se vuelven no actuales), escriba el número de días. Puede especificar opcionalmente el número de versiones más recientes que desea retener introduciendo un valor en Number of newer versions to retain (Número de versiones más recientes que se deben retener).
-
Bajo Delete expired markers or incomplete multipart uploads (Eliminar marcadores caducados o cargas multiparte incompletas), seleccione Delete expired object delete markers (Eliminar marcadores de eliminación de objetos caducados) y Delete incomplete multipart uploads (Eliminar cargas multiparte incompletas). A continuación, escriba el número de días que han de transcurrir entre el inicio de la carga multiparte y el momento en que quiera finalizarla y limpiar las cargas incompletas.
Para obtener más información acerca de las cargas multipartes, consulte Carga y copia de objetos con la carga multiparte.
-
Elija Create rule (Crear regla).
Si la regla no contiene ningún error, Amazon S3 la habilita y se puede ver en la ficha Management (Administración) en Lifecycle rules (Reglas del ciclo de vida).
Puede utilizar los siguientes comandos de la AWS CLI para administrar configuraciones de ciclo de vida de S3:
-
put-bucket-lifecycle-configuration
-
get-bucket-lifecycle-configuration
-
delete-bucket-lifecycle
Para obtener instrucciones sobre la configuración de la AWS CLI, consulte Developing with Amazon S3 using the AWS CLI en la Amazon S3 API Reference.
La configuración de Amazon S3 Lifecycle es un archivo XML. Pero cuando se usa la AWS CLI no se puede especificar el formato XML. Debe especificar el formato JSON en su lugar. A continuación, se indican ejemplos de configuraciones de Lifecycle de XML y las configuraciones de JSON equivalentes que puede especificar en un comando de AWS CLI.
Considere la siguiente configuración de S3 Lifecycle de ejemplo:
ejemplo Ejemplo 1
ejemplo Ejemplo 2
Puede probar la put-bucket-lifecycle-configuration
de la siguiente manera.
Para probar la configuración
-
Guarde la configuración de Lifecycle de JSON en un archivo (por ejemplo,
).lifecycle.json
-
Ejecute el siguiente comando de la AWS CLI para establecer la configuración del ciclo de vida en su bucket. Reemplace los
con su propia información.user input placeholders
$
aws s3api put-bucket-lifecycle-configuration \ --bucketamzn-s3-demo-bucket
\ --lifecycle-configuration file://lifecycle.json
-
Para verificar, recupere la configuración de S3 Lifecycle con el comando
get-bucket-lifecycle-configuration
de la AWS CLI de la siguiente manera:$
aws s3api get-bucket-lifecycle-configuration \ --bucketamzn-s3-demo-bucket
-
Para eliminar la configuración de S3 Lifecycle, utilice el comando
delete-bucket-lifecycle
de la AWS CLI de la siguiente manera.aws s3api delete-bucket-lifecycle \ --bucket
amzn-s3-demo-bucket
En las secciones siguientes de la Amazon Simple Storage Service API Reference se describen las operaciones de la API de REST relacionadas con la configuración de S3 Lifecycle:
Solución de problemas del ciclo de vida
Para ver problemas habituales que pueden producirse al trabajar con S3 Lifecycle, consulte Solución de problemas de Amazon S3 Lifecycle.