Wie kann ich ein backup oder sync ein Amazon S3-bucket?
Ich habe wichtige Daten in einem Amazon S3-bucket. Ich möchte eine wöchentliche Sicherung seiner anderen Inhalten zu einem anderen cloud-service, oder auch im S3. Der beste Weg, um sync meinem Eimer zu einem neuen Eimer in einer anderen region, im Falle von Datenverlust.
Wie kann ich das tun?
- verwenden s3cmd s3tools.org/s3cmd, oder schreiben Sie Ihre eigenen backup-tool von s3 api.
- ist das wirklich sinnvoll? Daten in S3 ist überflüssig. Aus aws.amazon.com/s3/#protecting:
Amazon S3’s standard storage is designed to sustain the concurrent loss of data in two facilities.
- Zu fügen Sie eine weitere Erkenntnis über die Nützlichkeit dieses Ansatzes (entnommen aus S3-FAQ): Amazon S3 ist entworfen, um 99,999999999% Zuverlässigkeit von Objekten über einen Zeitraum eines Jahres. Diese zuverlässigkeitsstufe entspricht einem jährlich zu erwartenden objektverlust von 0,000000001%. Zum Beispiel, wenn Sie speichern Sie 10.000 Objekte mit Amazon S3 können Sie im Durchschnitt erwarten Sie, um einen Verlust von einem einzigen Objekt einmal alle zu 10.000.000 Jahre. Neben Amazon S3 ist so konzipiert, zu erhalten, dass ein gleichzeitiger Datenverlust in zwei Anlagen.
- Redundanz ist KEIN backup - wenn man von der junior-Entwickler entscheidet zu laufen "s3cmd del —rekursive s3://your-bucket/" dann alle die Redundanz in der Welt wird dich nicht retten !
- Auch, was ist, wenn Sie ausgesperrt sind, der S3? Sie verlieren Ihre Daten.
- Sieht aus wie S3 bietet MFA Delete Schutz gegen das
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich lieber backup lokal mit sync, wo nur die änderungen aktualisiert werden. Das ist nicht die perfekte backup-Lösung aber, die Sie umsetzen können regelmäßige updates später, wie Sie benötigen:
Wenn Sie nie benutzt s3cmd installieren und konfigurieren Sie es mit:
Auch es sollte S3-backup-Dienste für $5/Monat, aber ich würde auch prüfen, Amazon Glacier können Sie stellen fast 40-GB-single-Archiv-Datei, wenn Sie mit einem multi-Teil hochladen.
http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html#qfacts
Denken Sie daran, wenn Sie Ihre S3-Konto kompromittiert ist, haben Sie die chance, um alle Ihre Daten verlieren, als würden Sie die Synchronisierung leere Ordner oder fehlerhafte Dateien. So, Sie besser ein Skript schreiben, archivieren Sie Ihre backup paar mal, für e.g durch die Erkennung von Anfang der Woche.
Update 01/17/2016:
Python-basierte AWS CLI ist jetzt sehr reif.
Verwenden Sie bitte: https://github.com/aws/aws-cli
Beispiel:
aws s3 sync s3://mybucket .
Dieses Skript sichert eine S3-bucket:
Ich diese in einem rake-task (für eine Rails-app):
Habe ich versucht, dies zu tun in der Vergangenheit, und es ist immer noch frustrierend schwer, vor allem mit großen, multi-GB-viele-Millionen-von-Dateien Eimer. Die beste Lösung, die ich jemals gefunden wurde S3S3Mirror, die gemacht wurde, für genau diesen Zweck.
Es ist nicht so trivial wie einfach nur einen Schalter umlegen, aber es ist immer noch besser als die meisten anderen DIY-Lösungen, die ich ausprobiert habe. Es ist multi-threaded und kopieren Sie die Dateien viel schneller als vergleichbare single-threaded Ansätze.
Einen Vorschlag: stellen Sie es auf einem separaten EC2-Instanz, und sobald Sie es ausführen, nur den Mund, die Maschine aus-aber lassen Sie die AMI dort. Dann, wenn Sie Sie brauchen, um re-run -, Feuer-die Maschine wieder auf und Sie sind alle gesetzt. Dies ist bei weitem nicht so schön wie eine echte automatisierte Lösung, sondern überschaubare monatliche oder wöchentliche backups.
Als der 24 Mar 2015, dies ist möglich mit der Cross-Region Die Replikation - feature von S3.
Einen der aufgeführten Use-case-Szenarien ist "compliance-Anforderungen", das scheint zu passen Sie Ihre use-case für zusätzlichen Schutz wichtiger Daten gegen Datenverlust:
Sehen How to Set Up Cross-Region die Replikation für die setup-Anweisungen.