Procesamiento de Amazon S3 de los conflictos en las configuraciones del ciclo de vida - Amazon Simple Storage Service

Procesamiento de Amazon S3 de los conflictos en las configuraciones del ciclo de vida

En general, Amazon S3 Lifecycle optimiza el coste. Por ejemplo, si dos políticas de vencimiento se superponen, se respeta la política con una fecha de vencimiento anterior para que los datos no permanezcan almacenados más tiempo de lo previsto. Del mismo modo, si dos políticas de transición se superponen, S3 Lifecycle pasa los objetos a la clase de almacenamiento con costos inferiores.

En ambos casos, S3 Lifecycle intenta elegir la opción que le resulte menos costosa. Una excepción a esta regla general es la clase de almacenamiento S3 Intelligent-Tiering (Capas inteligentes de S3). S3 Lifecycle prioriza S3 Intelligent-Tiering por encima de cualquier clase de almacenamiento, aparte de las clases de almacenamiento de S3 Glacier y S3 Glacier Deep Archive.

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.

Ejemplos de superposición de filtros y conflictos entre acciones del ciclo de vida

Es posible que especifique una configuración de S3 Lifecycle en la que especifique prefijos o acciones superpuestos. En los siguientes ejemplos, se muestra cómo Amazon S3 resuelve posibles conflictos.

ejemplo 1: Superponer prefijos (sin conflicto)

El siguiente ejemplo de configuración tiene dos reglas que especifican prefijos superpuestos de la siguiente manera:

  • La primera regla especifica un filtro vacío que denota todos los objetos en el bucket.

  • La segunda regla especifica un prefijo de nombre de clave (logs/) que solo denota un subconjunto de objetos.

La regla 1 solicita a Amazon S3 que elimine todos los objetos un año después de su creación. La regla 2 solicita a Amazon S3 que realice la transición de un subconjunto de objetos a la clase de almacenamiento S3 Standard-IA 30 días después de su creación.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> </Filter> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA</StorageClass> <Days>30</Days> </Transition> </Rule> </LifecycleConfiguration>

Dado que no hay conflicto en este caso, Amazon S3 hará la transición de los objetos con el prefijo logs/ a la clase de almacenamiento S3 Standard-IA 30 días después de su creación. Cuando un objeto llegue a un año después de su creación, se eliminará.

ejemplo 2: conflictos entre acciones del ciclo de vida

En este ejemplo de configuración, existen dos reglas que le indican a Amazon S3 que realice dos acciones diferentes en el mismo conjunto de objetos al mismo tiempo durante la vida útil de los objetos:

  • Ambas reglas especifican el mismo prefijo de nombre de clave, por lo que ambas reglas se aplican al mismo conjunto de objetos.

  • Ambas reglas especifican el mismo momento de aplicación de las reglas, es decir, 365 días después de la creación de los objetos.

  • Una regla le indica a Amazon S3 que pase objetos a la clase de almacenamiento S3 Standard-IA y la otra regla desea que Amazon S3 provoque el vencimiento de los objetos al mismo tiempo.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA</StorageClass> <Days>365</Days> </Transition> </Rule> </LifecycleConfiguration>

En este caso, como usted desea que los objetos venzan (se eliminen), no tiene sentido cambiar la clase de almacenamiento, por lo que Amazon S3 opta por realizar la acción de vencimiento en estos objetos.

ejemplo 3: Superponer prefijos causa conflictos entre acciones del ciclo de vida

En este ejemplo, la configuración tiene dos reglas que especifican prefijos superpuestos de la siguiente manera:

  • La regla 1 especifica un prefijo vacío (que denota todos los objetos).

  • La regla 2 especifica un prefijo de nombre de clave (logs/) que identifica un subconjunto de todos los objetos.

Para el subconjunto de objetos con el prefijo de nombre de clave logs/, se aplican las acciones de S3 Lifecycle de ambas reglas. Una regla le indica a Amazon S3 que pase los objetos 10 días después de su creación y otra regla le indica a Amazon S3 que pase los objetos 365 días después de su creación.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Prefix></Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA</StorageClass> <Days>10</Days> </Transition> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Prefix>logs/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>STANDARD_IA</StorageClass> <Days>365</Days> </Transition> </Rule> </LifecycleConfiguration>

En este caso, Amazon S3 opta por pasarlos 10 días después de su creación.

ejemplo 4: filtros basados en etiquetas y conflictos entre acciones de ciclo de vida resultantes

Suponga que tiene la siguiente configuración de Ciclo de vida de S3 con dos reglas, cada una de las cuales especifica un filtro de etiquetas:

  • La regla 1 especifica un filtro basado en etiquetas (tag1/value1). Esta regla le indica a Amazon S3 que pase los objetos a la clase de almacenamiento S3 Glacier Flexible Retrieval 365 días después de su creación.

  • La regla 2 especifica un filtro basado en etiquetas (tag2/value2). Esta regla le indica a Amazon S3 que provoque el vencimiento de los objetos 14 días después de su creación.

La configuración de S3 Lifecycle se muestra en el siguiente ejemplo.

<LifecycleConfiguration> <Rule> <ID>Rule 1</ID> <Filter> <Tag> <Key>tag1</Key> <Value>value1</Value> </Tag> </Filter> <Status>Enabled</Status> <Transition> <StorageClass>GLACIER</StorageClass> <Days>365</Days> </Transition> </Rule> <Rule> <ID>Rule 2</ID> <Filter> <Tag> <Key>tag2</Key> <Value>value2</Value> </Tag> </Filter> <Status>Enabled</Status> <Expiration> <Days>14</Days> </Expiration> </Rule> </LifecycleConfiguration>

Si un objeto tiene ambas etiquetas, Amazon S3 tiene que decidir qué regla seguir. En este caso, Amazon S3 provoca el vencimiento del objeto 14 días después de su creación. El objeto se elimina y, por lo tanto, la acción de transición no se aplica.