¿Alguna necesidad de hacer una copia de seguridad de los datos en Amazon S3?

16

Alojo 200 GB de imágenes de productos en S3 (este es mi host principal de archivos).

¿Debo hacer una copia de seguridad de esos datos en otro lugar o S3 es seguro como está?

He estado experimentando con el montaje del bucket S3 en una instancia EC2 y luego haciendo una copia de seguridad nocturna rsync. El problema es que se trata de 3 millones de archivos, por lo que lleva un tiempo generar las diferentes necesidades de rsync. La copia de seguridad en realidad tarda unos 3 días en completarse.

¿Alguna idea de cómo hacer esto mejor? (¿Si es necesario?)

Chrille
fuente

Respuestas:

5

He estado investigando sobre esto, lo suficientemente divertido.

Sus copias de seguridad en S3 pueden fallar dependiendo de su región debido a la consistencia eventual; La advertencia básica es que si hace esto lo suficiente, en algún momento tendrá errores al abrir o encontrar archivos, ya que el sistema de archivos mágico en el fondo de Amazon se sincroniza entre servidores, por lo que sus copias de seguridad pueden no ser confiables.

En cuanto a si necesita guardarlos de otra manera, esto depende de su gestión de riesgos. ¿Confías en Amazon para guardar tus datos?

Es posible que pierdan algo o tengan una falla mayor en su sistema de almacenamiento; sin duda tienen cláusulas en sus contratos que especifican que si pierden sus datos, ese es su problema. No de ellos. Además, dado que sus datos están alojados en otro lugar, no sabe qué harán con ellos; la policía quiere sus datos? Puede que ni siquiera sepas que alguien más accedió a él.

¿Confías en eso? Si los datos no son clave para su negocio y está dispuesto a aceptar este riesgo, entonces no hay necesidad de descargarlos al almacenamiento externo. Si no está dispuesto a arriesgarse a que sus datos estén seguros en los servidores de almacenamiento de Amazon, debe hacer arreglos para volcarlos periódicamente en su propio almacenamiento.

En otras palabras, no creo que haya una respuesta directa a esto, ya que depende de su tolerancia al riesgo y sus necesidades comerciales. Muchas personas no confiarían completamente en sus ingresos únicamente en el almacenamiento con la nube, personalmente me siento un poco desconfiado de eso ...

Para hacerlo mejor, en discusiones e investigaciones, otro enfoque a considerar es crear un volumen EBS lo suficientemente grande como para almacenar los datos, adjuntarlo a la instancia EC2, guardar sus datos allí, luego puede desmontar el volumen y guardar esos datos en S3 . Estoy a punto de investigar si esto se haría como guardar el archivo de volumen en S3 o los contenidos ... pero luego puede eliminar la instancia de EBS cuando termine para ahorrar costos de almacenamiento.

EDITAR Veo en la relectura que está guardando DE S3 A ​​la instancia EC2, no al revés (aunque no sé si el problema de consistencia eventual aún podría causar problemas allí). ¿Estás intentando guardar datos en una instancia EC2 como copia de seguridad? Creo que, en términos de costos, esa no es una táctica sólida; puede ser más barato hacer copias de seguridad en un disco local cuando se tiene en cuenta el almacenamiento a largo plazo de ese tipo de datos, junto con el tiempo de VM. Con los costos de la unidad, puede copiar datos en un disco local como copia de seguridad.

Todavía mantendría las advertencias sobre confiar en Amazon y su almacenamiento. Si desea mantener todo en Amazon S3 pero tiene más redundancia, duplique sus depósitos de S3 en todas las regiones, y si tienen una interrupción que afecta a una región, no debería eliminarlos a todos. Esperas Sin embargo, todo es posible.

Todo se reduce a cuánto valora sus datos, cuánto está dispuesto a pagar por ellos y cuánto riesgo desea tolerar.

Bart Silverstrim
fuente
Gracias por tu respuesta, pero creo que entendiste mal. Estoy usando S3 como mi almacenamiento principal (alojo los archivos directamente desde allí como un CDN). Entonces, mi pregunta era si los archivos están seguros allí, o si necesito hacer una copia de seguridad de ellos en algún momento (¿podría ser para otro bucker S3 o una instancia EC2?)
Chrille
Agregado en una edición.
Bart Silverstrim
Hmm, sí, tal vez una copia de seguridad local sería más segura. ¿Sabe si S3 y EC2 comparten el mismo hardware? Si falla, tanto S3 como mi copia de seguridad EC2 desaparecerán. Mis dos razones para hacer una copia de seguridad en EC2 son: (1) No hay cargo de transferencia entre EC2 y S3. Costaría más o menos copiar 200 GB localmente cada semana más o menos. (2) en caso de un desastre en S3, podría convertir rápidamente mi instancia EC2 para compartir las imágenes de la copia de seguridad. Pero entiendo que una copia de seguridad local también tiene muchas ventajas ...
Chrille
Sinceramente, no sé cómo se configura el hardware de Amazon en segundo plano; incluso si lo supiera, no hay garantía de que no lo cambiarán en el futuro.
Bart Silverstrim
4

He usado s3cmd s3cmd sync para hacer esto. Es un poco rsync en su operación, y puede empujar y extraer directorios completos entre S3 y otro sistema Linux de su elección.

No veo ninguna razón por la que no s3cmd syncpueda ejecutar una instancia EC2 en ejecución, o incluso su propia estación de trabajo de desarrollador (o un servidor de almacenamiento).

Es posible que desee configurar una instancia de VPC, y luego puede asignar a un pequeño nodo dentro de su VPC la función de servidor de respaldo, y asignarle una IP dentro de la red de Amazon, así como dentro de su subred local.

Tom O'Connor
fuente
Mi preocupación, que tendría que decidir con sus propias finanzas, es el costo de mantener una instancia de EC2 y el espacio de EBS para almacenar ese tipo de datos en comparación con guardarlos en un disco duro externo local por un par de cientos de dólares. Si el dinero permite las tarifas de transferencia, simplemente lo descargaría a un disco local y lo mantendría sincronizado periódicamente (que también fue parte de su solución).
Bart Silverstrim
El EC2 de Amazon no es barato en ninguna medida del término, especialmente si desea hacer un nivel empresarial, o cualquier otra cosa que no sea algo simple. Si no te gusta, entonces quizás no sea para ti.
Tom O'Connor
@BartSilverstrim: ¿no es gratuita la transferencia dentro de AWS? Si es así, podría ser más barato para mí copiar a EC2 que localmente. De todos modos, tengo una instancia de EC2 que funciona las 24 horas, los 7 días de la semana, por lo que es solo el espacio de EBS lo que costaría.
Chrille
2

Mi consejo es que sus datos son su responsabilidad, no de Amazon. Si perder los datos no es tan importante, no hagas tu propia copia de seguridad. Si es así, tome su propia copia de seguridad en (al menos) un JBOD barato (y verifíquelo regularmente) como lo hago yo.

Descubrirá cuánta responsabilidad está dispuesta a asumir Amazon por sus datos, el día que los pierdan.

Tom Donnelly
fuente
0

Si puede permitírselo (mientras hago esto) es tener todos mis datos almacenados en mi servidor, pero sacándolos de Amazon s3. Entonces, si Amazon se cae por algún motivo (toque madera), simplemente puedo extraer todos mis datos al instante directamente desde mi servidor. Desde mi servidor hago copias de seguridad mensuales en mi disco local. Como mi sitio web tiene más de 2 TB en el sitio.

daniel27lt
fuente
No me queda claro cuál es su recomendación. ¿Cuál es su servidor y dónde está ubicado?
Kasperd
0

Aunque este es un hilo viejo, es lo primero que surge cuando se realiza una copia de seguridad de Google S3, así que pensé en agregarlo ...

Al investigar un poco sobre esto, descubrí Rclone https://rclone.org/ : es un software rsync-ish diseñado para copiar entre servicios de almacenamiento de archivos en la nube y es compatible con la mayoría de ellos. Sin afiliación y aún no lo he usado, así que no puedo decir si es bueno o malo, pero pensé que podría ayudar a alguien.

Me parece que hay una oportunidad para un servicio alojado que realiza copias de seguridad 'fuera del sitio' de archivos alojados en la nube (S3, Google Storage, Rackspace Cloud Files, etc.) ...

ckm
fuente