amazon web services - will - ¿Puede Amazon Glacier reflejar un cubo Amazon S3?
which aws services will you use to collect and process e-commerce data for near real-time analysis? (5)
Ahora es posible lograr un espejo "S3 a Glaciar" creando primero un cubo de replicación entre regiones en Amazon S3 (este cubo de replicación será un espejo de su cubo original - ver http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html ), luego configura una regla de ciclo de vida (para mover los datos a Glacier) desde el cubo de replicación .
Me gustaría reflejar un cubo S3 con Amazon Glacier.
Las preguntas frecuentes de Glacier dicen :
Amazon S3 ahora ofrece una nueva opción de almacenamiento que le permite utilizar el servicio de almacenamiento extremadamente económico de Amazon Glacier para el archivo de datos. Puede definir las reglas de ciclo de vida de S3 para archivar automáticamente conjuntos de objetos de Amazon S3 en Amazon Glacier para reducir sus costos de almacenamiento. Puede obtener más información visitando el tema Administración de ciclo de vida de objetos en la Guía del desarrollador de Amazon S3.
Esto está cerca, pero me gustaría reflejarlo . No quiero eliminar el contenido en S3, solo copiarlo a Glacier.
¿Es posible configurarlo automáticamente con AWS?
¿O es necesario cargar esta duplicación en Glacier manualmente?
Amazon no ofrece esta característica a través de su API. Tuvimos el mismo problema y resolvimos el problema ejecutando un trabajo cron diario que vuelve a subir archivos a Glacier.
Aquí hay un fragmento de código que puede ejecutar usando Python y boto para copiar un archivo en una bóveda de Glacier. Tenga en cuenta que con el siguiente código, debe descargar el archivo localmente desde S3 antes de poder ejecutarlo (puede usar s3cmd, por ejemplo); el siguiente código es útil para cargar el archivo local a Glacier.
import boto
# Set up your AWS key and secret, and vault name
aws_key = "AKIA1234"
aws_secret = "ABC123"
glacierVault = "someName"
# Assumption is that this file has been downloaded from S3
fileName = "localfile.tgz"
try:
# Connect to boto
l = boto.glacier.layer2.Layer2(aws_access_key_id=aws_key, aws_secret_access_key=aws_secret)
# Get your Glacier vault
v = l.get_vault(glacierVault)
# Upload file using concurrent upload (so large files are OK)
archiveID = v.concurrent_create_archive_from_file(fileName)
# Append this archiveID to a local file, that way you remember what file
# in Glacier corresponds to a local file. Glacier has no concept of files.
open("glacier.txt", "a").write(fileName + " " + archiveID + "/n")
except:
print "Could not upload gzipped file to Glacier"
Esto se hace mediante la política de Lifecycle , pero el objeto ya no está disponible en S3. Puedes duplicarlo en un cubo separado para mantenerlo.
Si primero habilita el control de versiones en su depósito S3, las reglas del ciclo de vida se pueden aplicar a versiones anteriores. Esto logrará un resultado muy similar, excepto que no habrá una copia de seguridad de la versión actual.
Tuve el mismo problema pero no pude soportar la larga latencia para restaurar desde Glacier, que suele ser de 3 a 5 horas.
En mi caso, creé un producto comercial que puede sincronizar y crear instantáneas de mis cubos, entre otras cosas.
También puede utilizar S3 Redundancy Storage reducido para aproximarse mejor a los beneficios de ahorro de costes de Glacier.
Puedes probar una versión completa de prueba de 2 semanas totalmente gratis en bucketbacker.com