Die Antwort auf unseren vorherigen Beitrag,
Um Daten aus AWS S3 zu repatriieren, befolgen Sie diese allgemeinen Richtlinien:
Datenanforderungen überprüfen: Bestimmen Sie die spezifischen Buckets und Objekte, die von AWS S3 repatriiert werden müssen. Stellen Sie sicher, dass Sie die Geschäftsanforderungen und Compliance-Anforderungen für jeden Bucket einzeln verstehen.
Rückführungsziel bestimmen: Sie haben sich bereits für eine Rückführung zu MinIO entschieden. Jetzt können Sie wählen, ob Sie MinIO in einem lokalen Rechenzentrum oder bei einem anderen Cloud-Anbieter oder einer Colocation-Einrichtung ausführen möchten. Anhand der Anforderungen aus Nr. 1 wählen Sie Hardware oder Instanzen für die prognostizierten Speicher-, Übertragungs- und Verfügbarkeitsanforderungen aus.
Datenübertragung: Planen und führen Sie die Datenübertragung von AWS S3 zu MinIO aus. Verwenden Sie einfach die integrierte Batch-Replikation von MinIO oder spiegeln Sie sie mit dem MinIO-Client (siehe
Datenzugriff und Berechtigungen: Stellen Sie sicher, dass für die repatriierten Daten auf Bucket-Basis entsprechende Zugriffskontrollen und Berechtigungen eingerichtet sind. Dazu gehören IAM- und Bucket-Richtlinien zur Verwaltung des Benutzerzugriffs, der Authentifizierung und der Autorisierung, um die Sicherheit der Daten zu gewährleisten.
Objektsperren: Es ist wichtig, die Richtlinien zur Objektsperrenaufbewahrung und zum gesetzlichen Aufbewahrungsrecht nach der Migration beizubehalten. Der Zielobjektspeicher muss die Regeln auf die gleiche Weise interpretieren wie Amazon S3. Wenn Sie sich nicht sicher sind, fragen Sie nach der
Datenlebenszyklusmanagement: Definieren und implementieren Sie eine Datenlebenszyklusmanagementstrategie für die repatriierten Daten. Dazu gehört das Definieren von Aufbewahrungsrichtlinien, Sicherungs- und Wiederherstellungsverfahren sowie Datenarchivierungspraktiken auf Bucket-Basis.
Datenvalidierung: Validieren Sie die übertragenen Daten, um ihre Integrität und Vollständigkeit sicherzustellen. Führen Sie die erforderlichen Prüfungen und Tests durch, um sicherzustellen, dass die Daten erfolgreich und ohne Beschädigung oder Verlust übertragen wurden. Nach der Übertragung stimmen Objektname, ETag und Metadaten, Prüfsumme und Anzahl der Objekte zwischen Quelle und Ziel überein.
Anwendungen und Workflows aktualisieren: Die gute Nachricht ist, dass Sie Ihre Anwendungen nur für den neuen MinIO-Endpunkt neu konfigurieren müssen, wenn Sie beim Erstellen Ihrer Anwendungen Cloud-native-Prinzipien befolgen. Wenn Ihre Anwendungen und Workflows jedoch für die Zusammenarbeit mit dem AWS-Ökosystem konzipiert wurden, nehmen Sie die erforderlichen Aktualisierungen vor, um die repatriierten Daten zu berücksichtigen. Dies kann die Aktualisierung von Konfigurationen, die Neukonfiguration von Integrationen oder in einigen Fällen die Änderung von Code beinhalten.
Überwachen und optimieren: Überwachen und optimieren Sie die repatriierte Datenumgebung kontinuierlich, um optimale Leistung, Kosteneffizienz und Einhaltung der Best Practices im Datenmanagement sicherzustellen.
Bei der Budgetierung und Planung der Cloud-Repatriierung müssen viele Faktoren berücksichtigt werden. Glücklicherweise haben unsere Ingenieure dies bereits mit vielen Kunden durchgeführt und wir haben einen detaillierten Plan für Sie entwickelt. Wir haben Kunden, die alles von einer Handvoll Workloads bis hin zu Hunderten von Petabyte repatriiert haben.
Die größte Planungsaufgabe besteht darin, über die Auswahlmöglichkeiten in Bezug auf Netzwerk, gemietete Bandbreite, Serverhardware, Archivierungskosten für die nicht zur Rückführung ausgewählten Daten und die Personalkosten für die Verwaltung und Wartung Ihrer eigenen Cloud-Infrastruktur nachzudenken. Schätzen Sie diese Kosten und planen Sie sie ein. Die Kosten für die Rückführung in die Cloud umfassen Datenausgangsgebühren für die Übertragung der Daten aus der Cloud zurück in das Rechenzentrum. Diese Gebühren sind absichtlich hoch genug, um eine Bindung an die Cloud zu erzwingen. Beachten Sie diese hohen Ausgangsgebühren – sie untermauern das wirtschaftliche Argument, die öffentliche Cloud zu verlassen, denn mit der wachsenden Menge der von Ihnen verwalteten Daten steigen die Ausgangsgebühren. Wenn Sie also eine Rückführung planen, lohnt es sich, eher früher als später zu handeln.
Wir konzentrieren uns auf die Daten und Metadaten, die verschoben werden müssen – das sind 80 % der für die Rückführung erforderlichen Arbeit. Zu den Metadaten gehören Bucket-Eigenschaften und -Richtlinien (Zugriffsverwaltung basierend auf Zugriffs-/Geheimschlüssel, Lebenszyklusverwaltung, Verschlüsselung, anonymer öffentlicher Zugriff, Objektsperre und Versionierung).
Konzentrieren wir uns zunächst auf die Daten (Objekte). Erstellen Sie für jeden Namespace, den Sie migrieren möchten, eine Bestandsaufnahme der Buckets und Objekte, die Sie verschieben möchten. Wahrscheinlich weiß Ihr DevOps-Team bereits, welche Buckets wichtige aktuelle Daten enthalten. Sie können auch
Namensraum | Eimer gesamt | Gesamtobjektanzahl | Gesamtobjektgröße (GB) | Täglicher Gesamtupload (TB) | Täglicher Gesamtdownload (TB) |
---|---|---|---|---|---|
ns-001 | 166 | 47.751.258 | 980.014,48 | 50,04 | 14,80 |
ns-002 | 44 | 24.320.810 | 615.033,35 | 23,84 | 675,81 |
ns-002 | 648 | 88.207.041 | 601.298,91 | 328,25 | 620,93 |
ns-001 | 240 | 68.394.231 | 128.042,16 | 62,48 | 12.45 |
Der nächste Schritt besteht darin, alle Buckets und ihre Eigenschaften nach Namespace aufzulisten, und zwar für alle Buckets, die Sie migrieren möchten. Notieren Sie die Anwendungen, die Daten in diesem Bucket speichern und lesen. Klassifizieren Sie jeden Bucket je nach Nutzung als Hot-, Warm- oder Cold-Tier-Daten.
In einer gekürzten Fassung sieht das dann etwa so aus:
Bucket-Name | Eigenschaften | App(s) | Heiß/Warm/Kalt-Stufe |
---|---|---|---|
A | Kopieren Sie JSON und fügen Sie es hier ein | Spark, Eisberg, Dremio | Heiß |
B | Kopieren Sie JSON und fügen Sie es hier ein | Elastisch | Warm |
C | Kopieren Sie JSON und fügen Sie es hier ein | Elastic (Schnappschüsse) | Kalt |
An diesem Punkt müssen Sie einige Entscheidungen zum Datenlebenszyklusmanagement treffen und dabei gut aufpassen, denn hier können Sie AWS-Gebühren sparen. Kategorisieren Sie Objekte in jedem Bucket als heiß, warm oder kalt, je nachdem, wie häufig auf sie zugegriffen wird. Eine großartige Möglichkeit, Geld zu sparen, ist die direkte Migration von Buckets der kalten Ebene zu S3 Glacier – es gibt keinen Grund, Austrittsgebühren für das Herunterladen zu zahlen, nur um sie dann wieder hochzuladen.
Abhängig von der Datenmenge, die Sie repatriieren, haben Sie mehrere Möglichkeiten, die Migrationsmethode auszuwählen. Wir empfehlen, dass Sie neue Daten auf den neuen MinIO-Cluster laden und damit arbeiten, während Sie im Laufe der Zeit heiße und warme Daten in den neuen Cluster kopieren. Die zum Kopieren von Objekten benötigte Zeit und Bandbreite hängt natürlich von der Anzahl und Größe der zu kopierenden Objekte ab.
Hier ist es sehr hilfreich, die Gesamtdatenmenge zu berechnen, die Sie von AWS S3 zurückführen möchten. Sehen Sie sich Ihren Bestand an und addieren Sie die Größe aller Buckets, die als heiß und warm klassifiziert sind.
Gesamtdaten der Hot- und Warm-Tier-Ebene = 1.534.096,7 GB |
---|
Verfügbare Bandbreite = 10 Gbit/s |
Erforderliche Mindestübertragungszeit (Gesamtobjektgröße / verfügbare Bandbreite) = 14,2 Tage |
Berechnen Sie die Datenausgangsgebühren auf der Grundlage der oben genannten Summe. Ich verwende
Gesamtanzahl der auf S3 Glacier übertragenen Daten = 767.048,337 GB |
---|
Transfergebühren von S3 zu S3 Glacier (0,05 $/1000 Objekte) = 3.773,11 $ |
Monatliche Speichergebühr für S3 Glacier Deep Archive = 760 $ |
Vergessen Sie nicht, die künftige Nutzung des S3 Glacier Deep Archive in Ihr Budget einzuplanen.
Gesamtmenge der zu übertragenden Daten = 1.534.096,7 GB |
---|
Erste 10 TB zu 0,09 $/GB = 900 $ |
Die nächsten 40 TB zu 0,085 USD/GB = 3.400 USD |
Die nächsten 100 TB zu 0,07 USD/GB = 70.000 USD |
Zusätzlich über 150 TB zu 0,05 USD/GB = 69.205 USD |
Gesamte Austrittsgebühren = 143.504 USD |
Der Einfachheit halber enthält die obige Berechnung weder die Gebühr für Vorgänge pro Objekt (0,40 USD/1 Mio.) noch die Kosten für die Auflistung (5 USD/1 Mio.). Bei sehr großen Repatriierungsprojekten können wir Objekte auch komprimieren, bevor wir sie über das Netzwerk senden, wodurch Sie einen Teil der Kosten für Ausgangsgebühren sparen.
Eine weitere Möglichkeit besteht darin, AWS Snowball zum Übertragen von Objekten zu verwenden. Snowball-Geräte haben jeweils eine Kapazität von 80 TB, daher wissen wir im Voraus, dass wir 20 davon für unsere Rückführungsbemühungen benötigen. Die Gebühr pro Gerät umfasst 10 Tage Nutzung plus 2 Tage für den Versand. Zusätzliche Tage sind für 30 USD pro Gerät verfügbar.
Servicegebühr für 20 Snowball-Geräte (je 300 USD) = 6.000 USD |
---|
R/T-Versand (3-5 Tage zu 400 USD/Gerät) = 8.000 USD |
S3-Datenausgang (0,02 $/GB) = 30.682 $ |
Gesamte Snowball-Gebühren = 38.981,93 USD |
AWS berechnet Ihnen Standardgebühren für Anfragen, Speicher und Datenübertragungen für das Lesen und Schreiben von AWS-Diensten, einschließlich
Jetzt wissen wir, wie lange die Migration dieser riesigen Datenmenge dauern wird und wie hoch die Kosten sind. Treffen Sie eine geschäftliche Entscheidung darüber, welche Methode Ihren Anforderungen am besten entspricht, basierend auf der Kombination aus Zeitaufwand und Kosten.
An diesem Punkt kennen wir auch die Anforderungen an die Hardware, die für den Betrieb von MinIO vor Ort oder in einer Colocation-Einrichtung erforderlich ist. Nehmen Sie die oben genannte Anforderung für 1,5 PB Speicher, schätzen Sie das Datenwachstum und konsultieren Sie unsere
Der erste Schritt besteht darin, Ihre S3-Buckets in MinIO neu zu erstellen. Dies müssen Sie unabhängig davon tun, wie Sie Objekte migrieren möchten. Obwohl sowohl S3 als auch MinIO Objekte mit serverseitiger Verschlüsselung speichern, müssen Sie sich keine Gedanken über die Migration von Verschlüsselungsschlüsseln machen. Sie können eine Verbindung zu Ihrem KMS Ihrer Wahl herstellen mit
Sie haben mehrere Möglichkeiten, Objekte zu kopieren: Batch-Replikation und mc mirror
. Mein vorheriger Blogbeitrag,
Normalerweise verwenden Kunden von uns geschriebene Tools in Kombination mit der Datenmigrationshardware und -diensten von AWS Snowball oder TD SYNNEX, um größere Datenmengen (über 1 PB) zu verschieben.
MinIO hat sich kürzlich mit Western Digital und TD SYNNEX zusammengeschlossen, um eine Snowball-Alternative anzubieten. Kunden können Zeitfenster für die Lieferung der Western Digital-Hardware vereinbaren und während der Mietdauer nur das bezahlen, was sie benötigen. Noch wichtiger ist, dass der Service nicht an eine bestimmte Cloud gebunden ist. Das heißt, das Unternehmen kann den Service nutzen, um Daten in, aus und zwischen Clouds zu verschieben – alles unter Verwendung des allgegenwärtigen S3-Protokolls. Weitere Einzelheiten zum Service finden Sie auf der
Bucket-Metadaten, einschließlich Richtlinien und Bucket-Eigenschaften, können mit get-bucket
gelesen werden.
Achten Sie besonders auf
Achten Sie besonders auf das Data Lifecycle Management, wie z. B. Objektaufbewahrung, Objektsperre und Archivierung/Tiering. Führen Sie für jeden Bucket eine get-bucket-lifecycle-configuration
aus, um eine menschenlesbare JSON-Liste mit Lebenszyklusregeln zu erhalten. Sie können AWS S3-Einstellungen problemlos mithilfe der MinIO-Konsole oder des MinIO-Clients (mc) neu erstellen. Verwenden Sie Befehle wie get-object-legal-hold
und get-object-lock-configuration
um Objekte zu identifizieren, die eine besondere Sicherheits- und Governance-Behandlung erfordern.
Wenn wir schon beim Thema Lebenszyklus sind, lassen Sie uns kurz über Backup und Disaster Recovery sprechen. Möchten Sie einen zusätzlichen MinIO-Cluster, auf den Sie für Backup und Disaster Recovery replizieren können?
Nachdem Objekte von AWS S3 nach MinIO kopiert wurden, ist es wichtig, die Datenintegrität zu überprüfen. Der einfachste Weg hierfür besteht darin, mit dem MinIO-Client mc diff
für alte Buckets in S3 und neue Buckets auf MinIO auszuführen. Dadurch wird die Differenz zwischen den Buckets berechnet und eine Liste nur der Objekte zurückgegeben, die fehlen oder sich unterscheiden. Dieser Befehl verwendet die Argumente der Quell- und Ziel-Buckets. Der Einfachheit halber können Sie Folgendes erstellen:
mc diff s3/bucket1 minio/bucket1
Die gute Nachricht ist, dass Sie lediglich vorhandene Apps auf den neuen MinIO-Endpunkt richten müssen. Konfigurationen können über einen bestimmten Zeitraum hinweg App für App neu geschrieben werden. Die Datenmigration im Objektspeicher ist weniger störend als bei einem Dateisystem. Ändern Sie einfach die URL, um von einem neuen Cluster aus zu lesen/schreiben. Beachten Sie, dass AWS-Dienste, die Sie bisher zur Unterstützung Ihrer Anwendungen verwendet haben, in Ihrem Rechenzentrum nicht mehr vorhanden sind. Sie müssen sie also durch ihr Open-Source-Äquivalent ersetzen und etwas Code neu schreiben. Beispielsweise kann Athena durch Spark SQL, Apache Hive und Presto, Kinesis durch Apache Kafka und AWS Glue durch Apache Airflow ersetzt werden.
Wenn Ihre S3-Migration Teil einer größeren Anstrengung ist, eine ganze Anwendung vor Ort zu verlagern, dann haben Sie wahrscheinlich
Nachdem Sie die Repatriierung abgeschlossen haben, ist es an der Zeit, Ihre Aufmerksamkeit auf Speicherbetrieb, Überwachung und Optimierung zu richten. Die gute Nachricht ist, dass für MinIO keine Optimierung erforderlich ist – wir haben die Optimierung direkt in die Software integriert, damit Sie wissen, dass Sie die beste Leistung für Ihre Hardware erhalten. Sie sollten mit der Überwachung Ihres neuen MinIO-Clusters beginnen, um die Ressourcennutzung und Leistung kontinuierlich zu bewerten. MinIO stellt Folgendes bereit:
Mit
Es ist kein Geheimnis, dass die Zeiten vorbei sind, in denen man Cloud-Anbietern Blankoschecks ausstellen konnte. Viele Unternehmen prüfen derzeit ihre Cloud-Ausgaben, um mögliche Einsparungen zu finden. Jetzt haben Sie alles, was Sie brauchen, um mit der Migration von AWS S3 zu MinIO zu beginnen, einschließlich konkreter technischer Schritte und eines finanziellen Rahmens.
Wenn Sie sich für die Möglichkeit interessieren, Kosten für die Repatriierung zu sparen, dann kontaktieren Sie uns bitte unter
Erscheint auch hier .