Gibt es eine Möglichkeit zur Wiederherstellung nach versehentlichem Löschen eines Amazon S3-Buckets?
Wir haben wichtige Informationen in unseren Eimern, und ich muss das Risiko eines versehentlichen oder böswilligen Löschens des Eimers selbst verringern.
Ich weiß, dass ich den gesamten Bucket lokal synchronisieren kann, aber das ist nicht besonders praktisch, wenn mein Bucket 100 GB groß ist.
Irgendwelche Ideen zu Sicherungsstrategien?
Antworten:
Ein weiterer Ansatz besteht darin, die S3-Versionierung auf Ihrem Bucket zu aktivieren. Sie können dann gelöschte Dateien usw. wiederherstellen. Informationen zur Aktivierung finden Sie in der S3-Dokumentation
Die Verwendung von Tools von Drittanbietern wie BucketExplorer macht das Arbeiten mit der Versionierung ziemlich trivial (im Gegensatz zum direkten Aufrufen der API selbst).
Sie können auch das Löschen durch Multi-Faktor-Authentifizierung für Ihre S3-Buckets aktivieren - was das "versehentliche Löschen" ein wenig erschwert;)
Weitere Informationen zur Multi-Faktor-Authentifizierung Löschen
Weitere Informationen zum Löschen von Objekten
quelle
Sie könnten s3cmd http://s3tools.org/s3cmd verwenden
Also einen Eimer namens mybucket sichern
quelle
Dies ist keine billige Lösung, aber wenn Ihre Buckets wirklich kritisch sind, gehen Sie folgendermaßen vor: Starten Sie eine Amazon EC2-Instanz und synchronisieren Sie den Inhalt dort regelmäßig.
Amazon EC2 ist ihr Virtualisierungs-Hosting-Anbieter. Sie können Instanzen von Linux, Windows usw. starten und alles ausführen, was Sie möchten. Sie zahlen stundenweise und Sie erhalten lokal einen ziemlich großen Speicherplatz für diesen Server. Zum Beispiel verwende ich die "große" Instanz, die mit 850 GB lokalem Speicherplatz geliefert wird.
Der coole Teil ist, dass es sich im selben Netzwerk wie S3 befindet und Sie unbegrenzte Übertragungen zwischen S3 und EC2 erhalten. Ich verwende die $ 20 Jungle Disk- Software auf einer Windows EC2-Instanz, mit der ich auf meine S3-Buckets zugreifen kann, als wären sie lokale Festplattenordner. Dann kann ich geplante Batch-Dateien erstellen, um Daten aus S3 auf meinen lokalen EC2-Speicherplatz zu kopieren. Sie können es automatisieren, um stündliche Backups zu erstellen, wenn Sie JungleDisk (oder seine Linux-Entsprechungen) für die stündliche Synchronisierung einrichten möchten. Wenn jemand eine Datei löscht, haben Sie mindestens ein paar Minuten Zeit, um sie von EC2 zurückzubekommen. Ich würde jedoch die regelmäßigen geskripteten Sicherungen empfehlen - es ist einfach, ein paar Tage an Sicherungen aufzubewahren, wenn Sie sie auf ein 850-GB-Volume komprimieren.
Dies ist sehr nützlich für den SQL Server-Protokollversand, aber ich kann auch sehen, wie Ihr Ziel erreicht wird.
quelle
Eine mögliche Lösung könnte darin bestehen, einfach einen "Backup-Bucket" zu erstellen und Ihre vertraulichen Informationen dort zu duplizieren. Theoretisch sind Ihre Daten in S3 sicherer als auf Ihrer Festplatte.
Außerdem bin ich mir nicht sicher, ob versehentliches Löschen ein echtes Problem darstellt, da Sie alle Ihre Bucket-Schlüssel versehentlich löschen müssen, bevor Sie den Bucket löschen können.
quelle
rm -rf
Eine andere mögliche Lösung besteht darin, Ihren Bucket in S3 in die Europa-Zone zu replizieren. Dies kann dazu führen, dass der Bucket nach dem versehentlichen Löschen so lange erhalten bleibt, bis er wiederhergestellt ist.
quelle
Um Brents (ausgezeichnete) Antwort ein wenig zu modifizieren; Sie müssen die Instanz nicht weiter ausführen. Erstellen Sie ein EC2-AMI, das Ihre Daten herunterfährt, mit einem EBS-Volume synchronisiert, dieses Volume abbildet und sich selbst herunterfährt.
Sie können das Volume auch für sich laufen lassen, aber ein Snapshot sollte für ein Backup ausreichen. Wenn Ihr benutzerdefiniertes AMI dies alles erledigt (einschließlich des Herunterfahrens, nachdem es fertig ist), muss Ihr "Backup" -Skript nur "ec2run -n 1 -t m1.small ami-" und fire-and-forget "ausführen.
quelle