50 votes

Comment sauvegarder un AWS S3 Bucket sans versionner le bucket source ?

Existe-t-il un moyen de récupérer les suppressions accidentelles d'un Amazon S3 Bucket ?

Nous disposons d'informations critiques dans nos buckets et je dois limiter le risque de suppression accidentelle ou malveillante du bucket lui-même.

Je sais que je peux synchroniser l'ensemble du panier localement, mais ce n'est pas très pratique si la taille de mon panier est de 100 Go.

Des idées sur les stratégies de sauvegarde ?

25voto

Jeff Points 302

Une autre approche consiste à activer le versioning S3 sur votre bucket. Vous pouvez alors restaurer les fichiers supprimés, etc. Voir la documentation S3 pour savoir comment activer cette fonction.

L'utilisation d'outils tiers tels que BucketExplorer rend le travail sur les versions assez trivial (par rapport à l'appel direct à l'API).

Vous pouvez également activer l'authentification multi-facteurs pour vos buckets S3 - ce qui rend la "suppression accidentelle" un peu plus difficile ;)

En savoir plus sur l'authentification multi-facteurs Supprimer
Plus d'informations sur la suppression d'objets

15voto

Ian Varley Points 5623

Vous pouvez utiliser s3cmd http://s3tools.org/s3cmd

Ainsi, pour sauvegarder un bucket appelé mybucket

s3cmd mb s3://mybucket_backup
s3cmd --recursive cp s3://mybucket s3://mybucket_backup

8voto

Justin Bennett Points 2513

Une solution possible consisterait à créer un "bac de sauvegarde" et à y dupliquer vos informations sensibles. En théorie, vos données sont plus en sécurité dans S3 que sur votre disque dur.

Par ailleurs, je ne suis pas sûr que les suppressions accidentelles constituent un réel problème, car vous devrez accidentellement supprimer toutes les clés du seau avant de pouvoir supprimer le seau.

7voto

Une autre solution possible consiste à répliquer votre panier vers la zone Europe dans S3. Cela peut permettre de conserver le panier après une suppression accidentelle suffisamment longtemps pour pouvoir le récupérer.

7voto

Ce n'est pas une solution bon marché, mais si vos données sont vraiment critiques, voici comment procéder : démarrez un fichier Instance Amazon EC2 et y synchroniser périodiquement le contenu.

Amazon EC2 est leur fournisseur d'hébergement de virtualisation. Vous pouvez créer des instances Linux, Windows, etc. et exécuter tout ce que vous voulez. Vous payez à l'heure et vous disposez d'un espace de stockage local assez important pour ce serveur. Par exemple, j'utilise l'instance de taille "large", qui est livrée avec 850 Go d'espace disque local.

L'avantage est qu'il se trouve sur le même réseau que S3 et que vous bénéficiez de transferts illimités entre S3 et EC2. J'utilise les 20 Disque de la jungle sur une instance Windows EC2, ce qui me permet d'accéder à mes buckets S3 comme s'il s'agissait de dossiers de disques locaux. Je peux ensuite programmer des fichiers batch pour copier des données de S3 vers mon espace disque EC2 local. Vous pouvez l'automatiser pour conserver des sauvegardes toutes les heures si vous le souhaitez, ou si vous voulez jouer, configurer JungleDisk (ou ses équivalents Linux) pour qu'il se synchronise une fois par heure environ. Si quelqu'un supprime un fichier, vous avez au moins quelques minutes pour le récupérer sur EC2. Je recommande toutefois les sauvegardes régulières par script - il est facile de conserver quelques jours de sauvegardes si vous les comprimez sur un volume de 850 Go.

C'est très utile pour l'expédition des journaux du serveur SQL, mais je peux voir comment cela permettrait d'atteindre votre objectif également.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X