¿Por qué no funciona la regla del ciclo de vida de mi bucket de Amazon S3 a pesar de que la apliqué hace más de un día?

5 minutos de lectura
0

He establecido una regla de configuración del ciclo de vida en mi bucket de Amazon Simple Storage Service (Amazon S3) para pasar los objetos a otra clase de almacenamiento o hacer que venzan. Sin embargo, los objetos no han cambiado según la regla.

Resolución

Esto ocurre cuando hay un retraso entre el momento en que se cumple la regla del ciclo de vida y el momento en que se completa la acción de la regla. Los cambios en la facturación se aplican cuando se cumple la regla del ciclo de vida, aunque la acción no se haya completado.

Ejemplo:

  • Si tiene una regla de ciclo de vida para el vencimiento de los objetos, no se le cobrará por el almacenamiento una vez transcurrida la fecha de vencimiento. Esto se aplica aunque el objeto no haya vencido inmediatamente.
  • Una regla de ciclo de vida para la transición de objetos a la clase de almacenamiento GLACIER cobra las tarifas de almacenamiento de Amazon S3 Glacier cuando transcurre el tiempo de transición del objeto. Esto ocurre aunque el objeto no pase inmediatamente a la clase de almacenamiento GLACIER.
    **Nota:**Si establece una transición del ciclo de vida a la clase de almacenamiento INTELLIGENT_TIERING, los cambios en la facturación no se producirán hasta que el objeto pase a la clase de almacenamiento INTELLIGENT_TIERING. Se trata de una excepción.

El ciclo de vida de S3 solo se ejecuta una vez al día. Además, Amazon S3 redondea la fecha de transición o vencimiento de un objeto a la medianoche del día siguiente, UTC. Por ejemplo, crea un objeto el 1/1/2020 a las 10:30 UTC con una regla de ciclo de vida para hacer la transición del objeto transcurridos 3 días. Para este objeto, la fecha de transición es el 5/1/2020 a las 00:00 UTC. Antes de comprobar si se cumple una regla del ciclo de vida, verifique que ha transcurrido suficiente tiempo.

Si ha transcurrido suficiente tiempo y la regla de ciclo de vida no se cumple, compruebe que ha configurado correctamente el filtro de prefijos para los objetos de la regla de ciclo de vida.

Importante:

  • Si no especifica un filtro de prefijos en la regla del ciclo de vida, la regla se aplica a todos los objetos del bucket.
  • Si especifica un filtro de prefijos como images/, la regla del ciclo de vida se aplica a todos los objetos con el prefijo images/.
    Nota: Asegúrese de especificar el carácter / al final del filtro de prefijos. Si especifica el carácter / al principio del filtro de prefijos, la regla del ciclo de vida no se evaluará correctamente.

Para comprobar cuándo está programado el vencimiento de la versión actual, puede utilizar la API HeadObject o la consola de Amazon S3.

Nota: Si recibe errores al ejecutar los comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), compruebe que está utilizando la versión más reciente de AWS CLI.

Ejecute el siguiente comando de AWS CLI para saber cuándo vence el objeto:

$ aws s3api head-object --bucket bucketname --key file.txt

El resultado es similar al siguiente:

 {  
 "AcceptRanges": "bytes",  
 "Expiration": "expiry-date=\"Wed, 15 Mar 2023 00:00:00 GMT\", rule-id=\"MyExpirationRule\"",  
 "LastModified": "2023-02-22T17:20:34+00:00",  
 "ContentLength": 6,  
 "ETag": "\"edae42exa0d2b93b123346740107dacf\"",  
 "VersionId": "SoshCRUrlabc1v4ZzYEA123PvWcaeF6F",  
 "ContentType": "text/plain",  
 "ServerSideEncryption": “AES256”,  
 "Metadata": {}  
}

El encabezado de la respuesta Expiration proporciona la expiry-date y el rule-id. El campo expiry-date de fecha de vencimiento indica la fecha en la que Amazon S3 pone en cola el objeto para su eliminación y lo elimina de forma asincrónica. El campo rule-id indica la regla del ciclo de vida que se aplica al objeto.

Si quiere utilizar la consola de Amazon S3 para comprobar la fecha de vencimiento de un objeto, siga estos pasos:

  1. Abra la consola de Amazon S3.
  2. En la lista Buckets, elija el nombre de su bucket.
  3. Elija el nombre del objeto que desee comprobar.
  4. Seleccione la pestaña Properties.
  5. En la sección Object Management Overview, en Management Configurations, revise los campos Expiration rule y Expiration date.

El campo Expiration date indica la fecha en la que Amazon S3 pone en cola el objeto para su eliminación y lo elimina de forma asincrónica. El campo Expiration rule indica la regla de ciclo de vida que se aplica al objeto.

Nota: Solo los objetos de la versión actual devuelven el encabezado de respuesta Expiration para las solicitudes HEAD o GET. Las versiones anteriores y los marcadores de eliminación no devuelven este encabezado de respuesta. Además, no aparecen encabezados de respuesta para los objetos que cumplen los requisitos de las transiciones.

Puede utilizar los paneles de control de S3 Storage Lens para supervisar el progreso de las reglas del ciclo de vida activas y las actualizaciones llevadas a cabo por las reglas del ciclo de vida.

Información relacionada

Configurar el ciclo de vida de un bucket

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año