La frecuencia de acceso a los datos disminuye con el tiempo. La gestión del ciclo de vida permite crear reglas que transfieren automáticamente los objetos a clases de almacenamiento de menor costo (como Infrequent Access o Archive) o los eliminan después de un periodo especificado, lo que reduce los costos de almacenamiento sin intervención manual.
Funcionamiento
La gestión del ciclo de vida utiliza reglas definidas por el usuario para automatizar operaciones sobre los objetos de un bucket. OSS carga una regla nueva dentro de las 24 horas posteriores a su creación. Una vez cargada, OSS ejecuta las reglas coincidentes a una hora fija diariamente, por lo general después de las 00:00 (UTC) del día siguiente (08:00 UTC+8).
Una regla de ciclo de vida consta de tres partes principales:
-
Objetos a gestionar: Filtre los objetos objetivo por prefijo de objeto (Prefix), etiqueta de objeto (Tag) o tamaño de objeto (ObjectSize).
Las reglas de ciclo de vida no admiten caracteres comodín, coincidencia de sufijos ni expresiones regulares.
-
Acciones a realizar: Defina qué hacer con los objetos filtrados:
Transición de clase de almacenamiento (Transition): Transfiera objetos a clases de almacenamiento de menor costo, como Infrequent Access, Archive o Cold Archive.
Vencimiento y eliminación (Expiration): Elimine objetos después de que alcancen un periodo de ciclo de vida especificado.
Limpieza de fragmentos (AbortMultipartUpload): Elimine automáticamente las partes de cargas multiparte incompletas después de un tiempo especificado.
-
Políticas de activación: Defina cuándo se activan las acciones:
Hora de última modificación (Last-Modified-Time): Transfiera o elimine objetos según la hora de la última modificación. Adecuado para datos con un ciclo de vida claro, como registros y copias de seguridad.
Hora de último acceso (Last-Access-Time): Después de habilitar el seguimiento de acceso, transfiera objetos según la hora del último acceso. Ideal para patrones de acceso impredecibles (como una biblioteca de materiales). Los datos fríos se degradan automáticamente y se restauran al acceder a ellos.
Todos los parámetros configurables están documentados en Lifecycle configuration elements.
Escenarios de configuración
Limpieza automática de archivos de registro vencidos
Los servidores cargan registros diariamente en un directorio designado. Utilice una regla basada en la hora de última modificación para delete all objects in a bucket after a specified number of days, liberar almacenamiento y reducir costos.
Uso de niveles de almacenamiento automáticos para datos calientes y fríos
Para datos con frecuencia de acceso incierta (imágenes de sitios web, videos, documentos), habilite el seguimiento de acceso y use a lifecycle rule based on the last access time to implement intelligent data tiering. El sistema transfiere los datos fríos a clases de almacenamiento de menor costo según los patrones de acceso reales.
Limpieza automática de versiones anteriores
Con el control de versiones habilitado, las sobrescrituras y eliminaciones se guardan como versiones anteriores. Cuando un bucket acumula muchas versiones anteriores o marcadores de eliminación vencidos, use a lifecycle rule based on the last modified time together with versioning to reduce storage costs. Esto reduce costos y mejora el rendimiento del listado de objetos.
Limpieza automática de fragmentos de cargas multiparte
Las cargas multiparte interrumpidas dejan partes sin fusionar que continúan generando cargos. Configure una regla de ciclo de vida para clean up incomplete parts after a specified time.
Además de los escenarios anteriores, puede implementar políticas de gestión de datos más detalladas. Para obtener más información, consulte Lifecycle configuration examples. Puede combinar diferentes reglas para lograr una gestión detallada de los datos en su bucket según sea necesario.
Múltiples reglas de ciclo de vida
El uso de múltiples reglas de ciclo de vida se basa en dos mecanismos: la prioridad de ejecución de reglas y el mecanismo de sobrescritura de configuración.
Prioridad de ejecución de reglas
Un bucket puede tener varias reglas de ciclo de vida independientes. Cuando un objeto coincide con múltiples reglas, la acción final se determina por todos los resultados coincidentes.
Cuando varias reglas coinciden con el mismo objeto al mismo tiempo, se ejecutan en el siguiente orden de prioridad: Eliminar objeto > Transferir a Deep Cold Archive > Transferir a Cold Archive > Transferir a Archive > Transferir a Infrequent Access > Transferir a Standard.
La acción de eliminación siempre tiene mayor prioridad que las transiciones de clase de almacenamiento. Establezca el tiempo de las reglas de eliminación para que sea mayor que el de las reglas de transición. Esto evita que los objetos se eliminen antes de completar la transición.
Ejemplo de ejecución
Suponga que especifica las siguientes dos reglas de ciclo de vida y ambas coinciden con el mismo objeto.
Regla 1: Especifica que los objetos modificados por última vez hace más de 365 días se transfieren a la clase de almacenamiento Infrequent Access.
Regla 2: Especifica que los objetos modificados por última vez hace más de 365 días se eliminan.
Resultado: El objeto que coincide con las reglas se eliminará después de 365 días desde su hora de última modificación.
Mecanismo de sobrescritura de configuración
La consola gestiona la fusión automáticamente para evitar sobrescrituras accidentales. Sin embargo, al usar ossutil, SDKs o la API, cada llamada a PutBucketLifecycle sobrescribe por completo todas las configuraciones de ciclo de vida existentes. Enviar una regla nueva sin incluir las existentes elimina esas reglas.
Ejemplo
Si desea agregar una regla nueva a sus reglas existentes, realice los siguientes pasos:
Recupere todas las reglas de ciclo de vida vigentes actualmente (por ejemplo, Regla 1).
Agregue la regla nueva (por ejemplo, Regla 2).
Vuelva a enviar la configuración completa que incluye todas las reglas (Regla 1 + Regla 2).
Nota: Si envía solo la configuración que contiene la regla nueva (Regla 2) sin incluir la regla existente (Regla 1), la Regla 1 se eliminará y dejará de estar vigente.
Puesta en marcha
Para desplegar la gestión del ciclo de vida en producción de forma segura:
Pruebe antes de desplegar: Cree reglas primero en un bucket de prueba. Compruebe el comportamiento antes de aplicarlas en producción.
Use reglas de eliminación con precaución: Establezca el prefijo con precisión para evitar la eliminación accidental de datos importantes.
Habilite el control de versiones como salvaguarda: Para datos críticos, habilite el control de versiones para que los objetos eliminados accidentalmente por una regla de ciclo de vida puedan recuperarse desde una versión anterior.
-
Utilice transiciones escalonadas para evitar cargos adicionales: Asegúrese de que el tiempo de activación de cada etapa posterior supere la suma del tiempo de activación de la etapa anterior y su duración mínima de almacenamiento. Esto evita cargos por transiciones prematuras.
Ejemplo incorrecto: Standard
30 days-> Infrequent Access40 days-> Archive Storage. El objeto permanece en IA solo 10 días (< 30 days) antes de transferirse nuevamente, lo que genera un cargo.Ejemplo correcto: Standard
30 days-> Infrequent Access90 days-> Archive Storage. El objeto permanece en IA durante 60 días (cumpliendo el mínimo de 30 días) antes de transferirse a Archive el día 90.
Facturación
Configurar reglas de ciclo de vida es gratuito. Se aplican tarifas cuando las reglas se ejecutan y cambian el estado de almacenamiento.
-
Tarifas de solicitud: Cada transición de clase de almacenamiento, eliminación de objetos o eliminación de partes genera una solicitud tipo
Put. Las tarifas se cobran por solicitud. Los detalles de facturación se encuentran en Lifecycle fee description.Para buckets con muchos archivos pequeños, las tarifas de solicitud pueden ser significativas. Evalúelas antes de configurar las reglas.
-
Tarifas de almacenamiento: Después de la transición, los objetos se facturan según la tarifa de la nueva clase de almacenamiento.
ImportanteLas clases de almacenamiento como Infrequent Access, Archive y Cold Archive tienen requisitos de duración mínima de almacenamiento (por ejemplo, 30 días para Infrequent Access y 60 días para Archive). Si una regla de ciclo de vida elimina o transfiere un objeto antes de cumplir la duración mínima de almacenamiento, debe pagar por el tiempo de almacenamiento restante. Para evitar conditional capacity fees for storage shorter than the specified duration debido a transiciones o eliminaciones, consulte How do I avoid capacity fees for storage shorter than the specified duration?. Asegúrese de cumplir la duración mínima de almacenamiento antes de realizar la transición o eliminación.
-
Tarifas de recuperación de datos: Las reglas de ciclo de vida por sí mismas no generan tarifas de recuperación de datos. Sin embargo, acceder a objetos en clases de almacenamiento como Infrequent Access o Archive genera tarifas de recuperación.
Leer un objeto IA directamente genera tarifas de recuperación de datos.
Leer un objeto Archive genera tarifas de capacidad de recuperación de datos para acceso en tiempo real.
Restaurar un objeto Archive genera tarifas de solicitud tipo Put y tarifas de capacidad de recuperación.
Restaurar un objeto Cold Archive o Deep Cold Archive genera tarifas de solicitud de recuperación, tarifas de capacidad de recuperación y tarifas de capacidad restaurada temporalmente.
ImportantePara objetos Cold Archive y Deep Cold Archive, la tarifa varía según la prioridad de recuperación que elija. Una prioridad más alta resulta en una tarifa mayor.



