¿Hay alguna forma de recuperarse de las eliminaciones accidentales de un Amazon S3 Bucket?
Tenemos información crítica en nuestros depósitos y necesito mitigar el riesgo de eliminaciones accidentales o maliciosas del depósito en sí.
Sé que puedo sincronizar todo el depósito localmente, pero esto no es demasiado práctico si el tamaño de mi depósito es de 100 GB.
¿Alguna idea sobre estrategias de respaldo?
Respuestas:
Otro enfoque es habilitar el control de versiones S3 en su bucket. Luego puede restaurar archivos borrados, etc. Consulte la documentación de S3 para saber cómo habilitar esto
El uso de herramientas de terceros como BucketExplorer hace que trabajar con versiones sea bastante trivial (en lugar de llamar a la API usted mismo directamente).
También puede habilitar la eliminación de autenticación multifactor para sus depósitos S3, lo que hace que la "eliminación accidental" sea un poco más difícil;)
Más información sobre la autenticación de múltiples factores Eliminar
más sobre la eliminación de objetos
fuente
Puede usar s3cmd http://s3tools.org/s3cmd
Entonces, para respaldar un cubo llamado mybucket
fuente
Esta no es una solución barata, pero si sus depósitos son realmente críticos, así es como lo hace: inicie una instancia de Amazon EC2 y sincronice el contenido allí periódicamente.
Amazon EC2 es su proveedor de alojamiento de virtualización. Puede activar instancias de Linux, Windows, etc. y ejecutar lo que desee. Paga por hora y obtiene un espacio de almacenamiento bastante grande localmente para ese servidor. Por ejemplo, uso la instancia de "gran tamaño", que viene con 850 GB de espacio en disco local.
Lo bueno es que está en la misma red que S3, y obtienes transferencias ilimitadas entre S3 y EC2. Utilizo el software Jungle Disk de $ 20 en una instancia de Windows EC2, que me permite acceder a mis cubos S3 como si fueran carpetas de disco locales. Entonces puedo hacer archivos por lotes programados para copiar cosas de S3 y en mi espacio de disco EC2 local. Puede automatizarlo para mantener copias de seguridad por hora si lo desea, o si desea apostar, configure JungleDisk (o sus equivalentes de Linux) para sincronizar una vez cada hora más o menos. Si alguien elimina un archivo, tiene al menos unos minutos para recuperarlo de EC2. Sin embargo, recomendaría las copias de seguridad programadas regulares: es fácil mantener unos días de copias de seguridad si las está comprimiendo en un volumen de 850 GB.
Esto es realmente útil para el envío de registros de SQL Server, pero puedo ver cómo lograría su objetivo también.
fuente
Una posible solución podría ser simplemente crear un "depósito de respaldo" y duplicar su información confidencial allí. En teoría, sus datos son más seguros en S3 que en su disco duro.
Además, no estoy seguro de si las eliminaciones accidentales son un problema real porque necesitarás eliminar accidentalmente todas tus claves de depósito antes de poder eliminar el depósito.
fuente
rm -rf
Otra posible solución es replicar su cubo a la zona de Europa en S3. Esto puede persistir en el depósito después de su eliminación accidental el tiempo suficiente para recuperarse.
fuente
Para modificar la respuesta de Brent (excelente) un poco; no debería necesitar mantener la instancia ejecutándose. Cree un AMI EC2 que extraiga sus datos, los sincronice con un volumen EBS, tome instantáneas de ese volumen y se cierre.
También podría mantener el volumen en ejecución por sí solo, pero la captura de imágenes debería ser suficiente para una copia de seguridad. Si su AMI personalizada hace todo esto (incluido el apagado después de que se haya hecho) sin interacción, entonces su script de 'copia de seguridad' solo necesita 'ec2run -n 1 -t m1.small ami-' y disparar y olvidar.
fuente