Müssen Sie Daten auf Amazon S3 sichern?

16

Ich hoste 200 GB Produktbilder bei S3 (dies ist mein primärer Datei-Host).

Muss ich diese Daten an einem anderen Ort sichern oder ist S3 so sicher wie es ist?

Ich habe versucht, den S3-Bucket an eine EC2-Instanz zu montieren und dann eine nächtliche Rsync-Sicherung durchzuführen. Das Problem ist, dass es sich um ca. 3 Millionen Dateien handelt. Daher dauert es eine Weile, bis die verschiedenen Rsync-Anforderungen erfüllt sind. Das Backup dauert ca. 3 Tage.

Irgendwelche Ideen, wie man das besser macht? (wenn es überhaupt nötig ist?)

Chrille
quelle

Antworten:

5

Ich habe darüber geforscht, komischerweise.

Ihre Sicherungen in S3 können aufgrund der möglichen Konsistenz je nach Region fehlschlagen. Die grundlegende Warnung ist, dass Sie, wenn Sie dies genug tun, irgendwann Fehler beim Öffnen oder Finden von Dateien haben, da das Dateisystem im Hintergrund von Amazon zwischen Servern synchronisiert wird, sodass Ihre Sicherungen möglicherweise nicht zuverlässig sind.

Ob Sie sie auf andere Weise speichern müssen, hängt von Ihrem Risikomanagement ab. Vertrauen Sie darauf, dass Amazon Ihre Daten speichert?

Möglicherweise verlieren sie etwas oder haben einen größeren Ausfall ihres Speichersystems. Sie haben zweifellos Klauseln in ihren Verträgen, die besagen, dass es Ihr Problem ist , wenn sie Ihre Daten verlieren . Nicht ihre. Da sich Ihre Daten an einem anderen Ort befinden, wissen Sie auch nicht, was sie damit tun werden. Strafverfolgungsbehörden wollen Ihre Daten? Möglicherweise wissen Sie nicht einmal, dass eine andere Person darauf zugegriffen hat.

Vertraust du es Wenn die Daten für Ihr Unternehmen nicht entscheidend sind und Sie bereit sind, dieses Risiko einzugehen, müssen Sie sie nicht in einen externen Speicher herunterladen. Wenn Sie nicht riskieren möchten, dass Ihre Daten auf Amazon-Speicherservern sicher sind, sollten Sie Vorkehrungen treffen, um sie regelmäßig in Ihren eigenen Speicher zu übertragen.

Mit anderen Worten, ich glaube nicht, dass es eine klare Antwort darauf gibt, da dies von Ihrer Risikotoleranz und Ihren geschäftlichen Anforderungen abhängt. Viele Menschen würden ihrem Einkommen nicht nur bei der Speicherung mit der Cloud vertrauen, ich persönlich bin ein bisschen skeptisch ...

Um dies besser zu tun, sollten Sie in Diskussionen und Untersuchungen einen EBS-Datenträger erstellen, der groß genug ist, um die Daten zu speichern, ihn an die EC2-Instanz anzuhängen und Ihre Daten dort zu speichern. Anschließend können Sie den Datenträger aushängen und diese Daten in S3 speichern . Ich bin gerade dabei zu überlegen, ob dies als Speichern der Volumendatei selbst in S3 oder des Inhalts erfolgen soll. Sie können jedoch die EBS-Instanz löschen, wenn Sie damit fertig sind, um Speicherkosten zu sparen.

BEARBEITEN Beim erneuten Lesen sehe ich, dass Sie VON S3 AUF die EC2-Instanz speichern und nicht umgekehrt (obwohl ich nicht weiß, ob das eventuelle Konsistenzproblem dort immer noch Probleme verursachen könnte). Sie versuchen, Daten als Backup in einer EC2-Instanz zu speichern? Ich würde denken, dass dies in Bezug auf die Kosten keine vernünftige Taktik ist. Das Sichern auf einem lokalen Laufwerk kann günstiger sein, wenn Sie die Langzeitspeicherung dieser Art von Daten zusammen mit der VM-Zeit berücksichtigen. Mit den Laufwerkskosten könnten Sie Daten als Backup auf eine lokale Festplatte kopieren.

Ich würde immer noch die Warnungen bezüglich des Vertrauens in Amazon und dessen Speicherung behalten. Wenn Sie alles in Amazon S3 behalten möchten, aber über mehr Redundanz verfügen, duplizieren Sie Ihre S3-Buckets über Regionen hinweg. Wenn ein Ausfall eine Region betrifft, sollten nicht alle ausgeschlossen werden. Du würdest hoffen. Alles ist möglich.

Es kommt darauf an, wie viel Sie Ihre Daten schätzen, wie viel Sie bereit sind, dafür zu zahlen und wie viel Risiko Sie tolerieren möchten.

Bart Silverstrim
quelle
Vielen Dank für Ihre Antwort, aber ich denke, Sie haben falsch verstanden. Ich verwende S3 als primären Speicher (ich hoste die Dateien direkt von dort als CDN). Meine Frage war also, ob die Dateien dort sicher sind oder ob ich sie irgendwo sichern muss (möglicherweise auf einem anderen S3-Bucker oder einer anderen EC2-Instanz)?
Chrille
Wurde bei einer Bearbeitung hinzugefügt.
Bart Silverstrim
Hmm, ja, vielleicht wäre ein lokales Backup sicherer. Wissen Sie, ob S3 und EC2 dieselbe Hardware verwenden? Wenn dies fehlschlägt, sind sowohl S3 als auch meine EC2-Sicherung nicht mehr vorhanden. Meine zwei Gründe für ein Backup auf EC2 sind: (1) Es gibt keine Übertragungsgebühr zwischen EC2 und S3. Es würde ziemlich viel kosten, etwa 200 GB pro Woche lokal zu kopieren. (2) Im Falle einer Katastrophe bei S3 konnte ich meine EC2-Instanz ziemlich schnell konvertieren, um stattdessen die Images aus dem Backup freizugeben. Aber ich
Chrille
Ich weiß ehrlich gesagt nicht, wie die Hardware von Amazon im Hintergrund eingerichtet ist. Selbst wenn ich es wüsste, gibt es keine Garantie, dass sie es in Zukunft nicht ändern werden.
Bart Silverstrim
4

Ich habe S3CMDS verwendet s3cmd sync , um dies zu tun. Es ist ein bisschen rsync-artig und kann ganze Verzeichnisse zwischen S3 und einem anderen Linux-System Ihrer Wahl pushen und ziehen.

Ich sehe keinen Grund, warum Sie keine s3cmd syncEC2-Instanz oder sogar Ihre eigene Entwickler-Workstation (oder einen Speicherserver) ausführen konnten.

Möglicherweise möchten Sie eine VPC-Instanz einrichten und dann einem kleinen Knoten in Ihrer VPC die Rolle des Sicherungsservers zuweisen und ihm sowohl eine IP-Adresse innerhalb des Amazon-Netzwerks als auch innerhalb Ihres lokalen Subnetzes zuweisen.

Tom O'Connor
quelle
Mein Anliegen, das er selbst entscheiden müsste, sind die Kosten für die Wartung einer EC2-Instanz und des EBS-Speicherplatzes zum Speichern dieser Art von Daten im Vergleich zum Speichern auf einer lokalen externen Festplatte für ein paar hundert Dollar. Wenn das Geld die Übertragungsgebühren zulässt, würde ich es einfach auf ein lokales Laufwerk herunterladen und regelmäßig synchronisieren (was auch Teil Ihrer Lösung war.)
Bart Silverstrim
Das EC2 von Amazon ist keineswegs billig, vor allem wenn Sie auf Unternehmensebene arbeiten möchten oder etwas anderes als das Einfache. Wenn dir das nicht gefällt, dann ist es vielleicht nichts für dich.
Tom O'Connor
@BartSilverstrim: Ist der Transfer innerhalb von AWS nicht kostenlos? In diesem Fall ist das Kopieren auf EC2 möglicherweise billiger als vor Ort. Ich habe sowieso eine EC2-Instanz, die rund um die Uhr läuft, also ist es nur der EBS-Speicherplatz, der kosten würde.
Chrille
2

Mein Rat ist, dass Ihre Daten in Ihrer Verantwortung liegen, nicht bei Amazon. Wenn der Verlust der Daten keine große Sache ist, dann machen Sie kein eigenes Backup. Wenn ja, nehmen Sie Ihr eigenes Backup (zumindest) zu einem billigen JBOD (und überprüfen Sie es regelmäßig) wie ich.

Sie erfahren, wie viel Verantwortung Amazon für Ihre Daten übernimmt, sobald sie verloren gehen.

Tom Donnelly
quelle
0

Wenn Sie es sich leisten können (so wie ich es tue), müssen alle meine Daten auf meinem Server gespeichert sein, aber von Amazon S3 bezogen werden. Wenn also Amazon aus irgendeinem Grund ausfällt (Holz anfassen), kann ich einfach alle meine Daten sofort direkt von meinem Server abrufen. Von meinem Server mache ich monatliche Backups auf meinem lokalen Laufwerk. Da meine Website über 2 TB vor Ort ist.

daniel27lt
quelle
Ich finde es etwas unklar, was Ihre Empfehlung ist. Was ist Ihr Server und wo befindet er sich?
Kasperd
0

Obwohl dies ein alter Thread ist, ist es das erste, was beim Googeln von S3-Backup auftaucht, also dachte ich, ich würde es ergänzen ...

Als ich dies selbst recherchierte, entdeckte ich Rclone https://rclone.org/ - eine rsync-ish-Software, die zum Kopieren zwischen Cloud-Dateispeicherdiensten entwickelt wurde und die meisten von ihnen unterstützt. Keine Zugehörigkeit und ich habe es noch nicht benutzt, daher kann ich nicht sagen, ob es gut oder schlecht ist, aber ich dachte, es könnte jemandem helfen.

Es scheint mir, dass es eine Möglichkeit für einen gehosteten Dienst gibt, der "Offsite" -Sicherungen von in der Cloud gehosteten Dateien (S3, Google Storage, Rackspace Cloud-Dateien usw.) durchführt.

ckm
quelle