¿Puedo usar la política del ciclo de vida S3 y el control de versiones al mismo time?

Quiero que mi cubo S3 sea controlado por la versión para protección contra modificaciones accidentales. También quiero que los objects en mi S3 se archiven en Glacier después de 30 días.

Cuando fui a habilitar el control de versiones, decía

Una vez habilitado, el control de versiones no se puede deshabilitar y no podrá agregar reglas de ciclo de vida para este segmento.

Pero, ¿puedo agregar una regla de ciclo de vida para el depósito y luego habilitar el control de versiones?

Además, cómo restaurará el trabajo en ese caso. Digamos, por ejemplo, el día 1 tengo en mi cubo los files A, B, C. El día 20 tengo el file A, B1, C1, D. En el día 30, los objects se mueven a S3. Ahora cuando hago una restauración, digamos el día 40, ¿todavía tendré todas las versiones del file B en mi cubo?

Amazon S3 ahora admite reglas de ciclo de vida para control de versiones

http://aws.amazon.com/about-aws/whats-new/2014/05/20/amazon-s3-now-supports-lifecycle-rules-for-versioning/

Amazon S3 ahora admite reglas de ciclo de vida para el control de versiones. Esto significa que ahora puede usar las reglas del ciclo de vida para los segmentos S3, independientemente de si están habilitados para el control de versiones o no.

La política del ciclo de vida y del cubo con versión no está permitida al mismo time

Estados de la documentation de AWS, no es posible combinar el cubo versionado y el ciclo de vida.

Intentar habilitar el control de versiones en un depósito con reglas de ciclo de vida (utilizando Management Console) le indicará primero que elimine las reglas.

No se proporciona la adición de reglas de ciclo de vida en el depósito versionado.

Cómo archivar contenido en un cubo versionado

Al estar en la misma situación, utilizo la siguiente solución:

1) Mueva primero todas las versiones en "balde plano" 2) Archive al Glaciar desde un balde plano.

Flat bucket es un concepto que permite almacenar versiones en un cubo no versionado. El proyecto de OpenStack swift lo hace de una manera, que cada key del <hexprefix><original_key_name>/<epochtimeinmilis> versionado recibe un nombre especial en el plano uno en una forma de <hexprefix><original_key_name>/<epochtimeinmilis>

<hexprefix> son tres caracteres hexadecimales largos (cero <hexprefix> longitud del nombre de la key original. Esto le permite usar nombres de key arbitrarios en el depósito versionado, incluso con un formatting que se asemeje al nombre utilizado en el depósito plano. El prefijo siempre está aquí para decirte, qué tan lejos leer el nombre de la tecla para get el nombre original.

En mi solución, utilicé un patrón un poco diferente para denotar el último time modificado.

Consejo: cuando te muevas a una cubeta plana, empaca los files en trozos más grandes

Como Amazon Glacier tiene algunos gastos generales, por los que debe pagar, se recomienda empacar el contenido archivado en files más grandes. Yo uso alquitrán simple El punto de equilibrio para el tamaño del file es de aproximadamente 16 kB, los files más pequeños se almacenan en Amazon Glacier a un costo mayor que en AWS S3 (el punto se calculó antes de que bajen los precios, espere que sea aún mayor).

Intereting Posts