Für viele Kunden ist der erste Schritt bei der Einführung eines Google Cloud-Produkts das Übertragen ihrer Daten auf Google Cloud. In diesem Dokument wird dieser Prozess von der Planung einer Datenübertragung bis zur Verwendung von Best Practices bei der Umsetzung eines Plans erläutert.
Zur Übertragung großer Datasets müssen Sie das richtige Team zusammenstellen, frühzeitig planen und Ihren Übertragungsplan testen, bevor Sie ihn in einer Produktionsumgebung umsetzen. Obwohl diese Schritte genauso viel Zeit in Anspruch nehmen können wie die Übertragung selbst, lässt sich die Unterbrechung Ihrer Geschäftsvorgänge während der Übertragung mit diesen Vorbereitungen auf ein Mindestmaß reduzieren.
Dieses Dokument ist Teil der folgenden mehrteiligen Reihe zur Migration zu Google Cloud:
- Zu Google Cloud migrieren: Erste Schritte
- Zu Google Cloud migrieren: Arbeitslasten bewerten und erkennen
- Zu Google Cloud migrieren: Grundlage planen und erstellen
- Zu Google Cloud migrieren: Große Datasets übertragen (dieses Dokument)
- Zu Google Cloud migrieren: Arbeitslasten bereitstellen
- Zu Google Cloud migrieren: Von manuellen zu automatisierten Containerbereitstellungen migrieren
- Zu Google Cloud migrieren: Umgebung optimieren
- Zu Google Cloud migrieren: Best Practices zur Validierung eines Migrationsplans
- Zu Google Cloud migrieren: Kosten minimieren
Was ist eine Datenübertragung?
In diesem Dokument bezieht sich der Begriff "Datenübertragung" auf das Verschieben von Daten, ohne sie zu transformieren, z. B. das Verschieben von Dateien in Objekte.
Eine Datenübertragung ist nicht so einfach, wie es scheint.
Es scheint naheliegend, sich Datenübertragungen als sehr große FTP-Sitzungen vorzustellen, bei der Sie Ihre Dateien auf einer Seite absenden und darauf warten, dass sie auf der anderen Seite ankommen. In den meisten Umgebungen von Unternehmen umfasst der Übertragungsvorgang jedoch viele Faktoren. Dazu zählen:
- Die Entwicklung eines Übertragungsplans unter Berücksichtigung des Verwaltungsaufwands, einschließlich der Zeit, um sich für eine Übertragungsoption zu entscheiden, Genehmigungen einzuholen und unvorhergesehene Probleme zu lösen.
- Die Koordinierung der Personen in Ihrer Organisation, z. B. des Teams, das die Übertragung ausführt, der Mitarbeiter, die die Tools und die Architektur genehmigen, sowie der Stakeholder im Unternehmen, die sich mit den Vor- und Nachteilen befassen, die das Verschieben von Daten mit sich bringen kann.
- Auswahl des richtigen Übertragungstools basierend auf den Ressourcen, den Kosten, dem zeitlichen Umfang und anderen Aspekten des Projekts.
- Überwindung von Problemen bei der Datenübertragung, z. B. Probleme mit der "Lichtgeschwindigkeit" (unzureichende Bandbreite), das Verschieben aktiver Datasets, der Schutz und das Monitoring der Daten während der Übertragung sowie das Sicherstellen einer erfolgreichen Übertragung der Daten
Dieses Dokument soll Ihnen den Einstieg in eine erfolgreiche Übertragungsinitiative erleichtern.
Andere Projekte in Verbindung mit Datenübertragung
Die folgende Liste enthält Ressourcen für andere Arten von Datenübertragungsprojekten, die in diesem Dokument nicht behandelt werden:
- Wenn Sie Ihre Daten transformieren müssen, z. B. Zeilen kombinieren, Datasets zusammenführen oder personenidentifizierbare Informationen herausfiltern, sollten Sie eine ETL-Lösung (Extrahieren, Transformieren und Laden) in Betracht ziehen, mit der Daten in einem Google Cloud Data Warehouse gespeichert werden können.
- Wenn Sie eine Datenbank und zugehörige Anwendungen migrieren müssen, z. B. um eine Datenbankanwendung zu verschieben, finden Sie weitere Informationen unter Datenbankmigration: Konzepte und Prinzipien.
Schritt 1: Team zusammenstellen
Die Planung einer Übertragung erfordert normalerweise Mitarbeiter mit den folgenden Rollen und Zuständigkeiten:
- Die erforderlichen Ressourcen für die Übertragung bereitstellen: Speicher-, IT- und Netzwerkadministratoren, ein Executive Sponsor und sonstige Berater (z. B. ein Google Konten-Team oder Integrationspartner)
- Die Übertragungsentscheidung genehmigen: Dateninhaber oder -verwalter (für interne Richtlinien zur Frage, wer welche Daten übertragen darf), Rechtsberater (für Vorschriften in Bezug auf Daten) und ein Sicherheitsadministrator (für interne Richtlinien zur Frage, wie der Datenzugriff geschützt ist)
- Die Übertragung ausführen: Ein Teamleiter, ein Projektmanager (für die Durchführung und Verwaltung des Projekts), ein Entwicklerteam und der Empfang und Versand vor Ort (für den Empfang von Gerätehardware)
Es muss bestimmt werden, wer bisher für das Übertragungsprojekt zuständig war. Diese Personen sollten gegebenenfalls in die Planung einbezogen werden und an Besprechungen zur Entscheidungsfindung teilnehmen. Eine schlechte Organisationsplanung ist häufig die Ursache für fehlgeschlagene Übertragungsinitiativen.
Es kann eine Herausforderung sein, Projektanforderungen und Anregungen von diesen Beteiligten zusammenzutragen, aber es lohnt sich, einen Plan zu erstellen und klare Rollen und Verantwortlichkeiten festzulegen. Niemand kann erwarten, dass Sie alle Details Ihrer Daten kennen. Durch das Zusammenstellen eines Teams erhalten Sie einen besseren Einblick in die Anforderungen des Unternehmens. Es empfiehlt sich, mögliche Probleme zu ermitteln, bevor Sie Zeit, Geld und Ressourcen in die Übertragung investieren.
Schritt 2: Anforderungen und verfügbare Ressourcen erfassen
Wenn Sie einen Übertragungsplan entwerfen, sollten Sie zuerst die Anforderungen für Ihre Datenübertragung erfassen und sich dann für eine Übertragungsoption entscheiden. Zum Erfassen der Anforderungen können Sie so vorgehen:
- Ermitteln Sie, welche Datasets Sie verschieben müssen.
- Wählen Sie Tools wie Data Catalog aus, um Ihre Daten in logischen Gruppierungen zu organisieren, die zusammen verschoben und verwendet werden.
- Arbeiten Sie mit Teams innerhalb Ihrer Organisation zusammen, um diese Gruppierungen zu validieren oder zu aktualisieren.
- Ermitteln Sie, welche Datasets Sie verschieben können.
- Stellen Sie fest, ob die Übertragung bestimmter Datasets aufgrund von Vorschriften, aus Sicherheitsgründen oder aufgrund anderer Faktoren unzulässig ist.
- Wenn Sie einige Ihrer Daten vor dem Verschieben transformieren müssen, z. B. um sensible Daten zu entfernen oder die Daten neu zu organisieren, sollten Sie ein Datenintegrationsprodukt wie Dataflow oder Cloud Data Fusion oder ein Workflow-Orchestrierungsprodukt wie Cloud Composer verwenden.
- Bestimmen Sie bei beweglichen Datasets, wohin die einzelnen Datasets übertragen werden sollen.
- Notieren Sie die Auswahl der Speicheroption zum Speichern Ihrer Daten. In der Regel ist das Zielspeichersystem in Google Cloud Cloud Storage. Cloud Storage ist eine skalierbare und robuste Speicheroption, auch wenn Sie nach dem Einrichten Ihrer Anwendungen komplexere Lösungen benötigen.
- Informieren Sie sich, welche Datenzugriffsrichtlinien nach der Migration beibehalten werden müssen.
- Legen Sie fest, ob Sie diese Daten in bestimmten Regionen speichern müssen.
- Planen Sie die Strukturierung dieser Daten am Ziel. Ist diese gleich wie an der Quelle oder anders?
- Ermitteln Sie, ob regelmäßig Daten übertragen werden müssen.
- Ermitteln Sie für bewegliche Datasets, welche Ressourcen für das Verschieben der Daten zur Verfügung stehen.
- Zeit: Wann muss die Übertragung abgeschlossen werden?
- Kosten: Wie hoch ist das verfügbare Budget für das Team und die Übertragungskosten?
- Personen: Wer kann die Übertragung ausführen?
- Bandbreite (für Onlineübertragungen): Wie viel Ihrer für Google Cloud verfügbaren Bandbreite kann für eine Übertragung zugewiesen werden und für welchen Zeitraum?
Bevor Sie in der nächsten Planungsphase Übertragungsoptionen bewerten und auswählen, sollten Sie sich überlegen, ob Teile Ihres IT-Modells verbessert werden können, z. B. Data Governance, Datenorganisation und Datensicherheit.
Ihr Sicherheitsmodell
Vielen Mitgliedern des Übertragungsteams werden im Rahmen Ihres Datenübertragungsprojekts möglicherweise neue Rollen in der Google Cloud-Organisation zugewiesen. Mit der Datenübertragungsplanung können Sie Ihre Berechtigungen für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) und die Best Practices für die sichere Verwendung von IAM prüfen. Diese Faktoren können sich darauf auswirken, wie Sie Zugriff auf Ihren Speicher gewähren. Beispielsweise können Sie den Schreibzugriff auf Daten, die aus regulatorischen Gründen archiviert wurden, stark einschränken. Sie könnten es hingegen vielen Nutzern und Anwendungen erlauben, Daten in Ihre Testumgebung zu schreiben.
Ihre Google Cloud-Organisation
Wie Sie Ihre Daten in Google Cloud strukturieren, hängt davon ab, wie Sie Google Cloud verwenden möchten. Das Speichern der Daten im selben Google Cloud-Projekt, in dem Sie Ihre Anwendung ausführen, kann funktionieren, ist jedoch aus der Verwaltungsperspektive möglicherweise nicht optimal. Einige Ihrer Entwickler sind unter Umständen nicht berechtigt, die Produktionsdaten aufzurufen. In diesem Fall könnte ein Entwickler Code für Beispieldaten entwickeln, während ein berechtigtes Dienstkonto auf Produktionsdaten zugreifen könnte. Daher sollten Sie Ihr gesamtes Produktions-Dataset in einem separaten Google Cloud-Projekt speichern und dann ein Dienstkonto verwenden, um den Zugriff auf die Daten über jedes Anwendungsprojekt zu erlauben.
Google Cloud ist nach Projekten strukturiert. Projekte können in Ordnern und Ordner unter Ihrer Organisation gruppiert werden. Rollen werden auf Projektebene eingerichtet und die Zugriffsberechtigungen werden diesen Rollen auf den Ebenen der Cloud Storage-Buckets hinzugefügt. Diese Struktur entspricht der Berechtigungsstruktur anderer Objektspeicheranbieter.
Best Practices zum Strukturieren einer Google Cloud-Organisation finden Sie unter Ressourcenhierarchie für Ihre Google Cloud-Landing-Zone festlegen.
Schritt 3: Übertragungsoptionen beurteilen
Bei der Bewertung Ihrer Datenübertragungsoptionen muss das Übertragungsteam unter anderem folgende Faktoren berücksichtigen:
- Kosten
- Übertragungszeit
- Offline- und Onlineübertragungsoptionen
- Tools und Technologien für die Übertragung
- Sicherheit
Kosten
Zu den Kosten im Zusammenhang mit der Datenübertragung gehören vor allem folgende Punkte:
- Netzwerkkosten
- Bei Cloud Storage eingehender Traffic ist kostenlos. Wenn Sie Ihre Daten jedoch bei einem Anbieter öffentlicher Clouds hosten, müssen Sie mit einer Gebühr für ausgehenden Traffic und potenziellen Speicherkosten (z. B. Lesevorgänge) für die Übertragung Ihrer Daten rechnen. Diese Gebühr gilt für Daten, die von Google oder einem anderen Cloud-Anbieter kommen.
- Wenn Ihre Daten in einem von Ihnen betriebenen privaten Rechenzentrum gehostet werden, können zusätzliche Kosten für das Einrichten einer größeren Bandbreite zu Google Cloud anfallen.
- Speicher- und Betriebskosten für Cloud Storage während und nach der Datenübertragung
- Produktkosten (z. B. eine Transfer Appliance)
- Personalkosten für das Zusammenstellen Ihres Teams und die Inanspruchnahme logistischer Unterstützung
Übertragungszeit
Die Übertragung großer Datenmengen ist eine der wenigen Aktivitäten beim Computing, bei denen die Hardwarebeschränkungen von Netzwerken in den Vordergrund rücken. Idealerweise können Sie 1 GB in acht Sekunden über ein Netzwerk mit 1 Gbit/s übertragen. Wenn Sie eine Skalierung auf ein großes Dataset vornehmen (z. B. 100 TB), beträgt die Übertragungszeit 12 Tage. Bei der Übertragung großer Datasets können Sie an die Grenzen Ihrer Infrastruktur stoßen, was möglicherweise Probleme für Ihr Unternehmen verursacht.
Berücksichtigen Sie bei der Schätzung der Dauer einer Übertragung die folgenden Faktoren:
- Die Größe des zu verschiebenden Datensatzes.
- Die für die Übertragung verfügbare Bandbreite.
- Ein bestimmter Prozentsatz der Verwaltungszeit.
- Die Bandbreiteneffizienz, die sich auch auf die Übertragungszeit auswirken kann.
In der Hauptarbeitszeit sollten Sie keine großen Datasets aus Ihrem Unternehmensnetzwerk übertragen. Wenn das Netzwerk durch die Übertragung überlastet wird, kann niemand anders erforderliche oder geschäftskritische Arbeiten abschließen. Aus diesem Grund muss das Übertragungsteam den Zeitfaktor berücksichtigen.
Nachdem die Daten an Cloud Storage übertragen wurden, können Sie eine Reihe von Technologien verwenden, um die neuen Dateien bei Ihrer Ankunft zu verarbeiten, z. B. Dataflow.
Netzwerkbandbreite erhöhen
Wie sich die Netzwerkbandbreite erhöhen lässt, hängt davon ab, wie Sie eine Verbindung zu Google Cloud herstellen.
Bei einer Cloud-zu-Cloud-Übertragung zwischen Google Cloud und anderen Cloud-Anbietern stellt Google die Verbindung zwischen den Rechenzentren der Cloud-Anbieter bereit, ohne dass Sie etwas einrichten müssen.
Es gibt mehrere Arten, wie Sie Daten zwischen Ihrem privaten Rechenzentrum und Google Cloud übertragen können:
- Eine öffentliche Internetverbindung mithilfe einer öffentlichen API
- Direct Peering mithilfe einer öffentlichen API
- Cloud Interconnect mithilfe einer privaten API
Bei der Bewertung dieser Ansätze sollten Sie Ihre langfristigen Konnektivitätsanforderungen berücksichtigen. Möglicherweise kommen Sie zu dem Schluss, dass der Erwerb von Bandbreite ausschließlich für Übertragungszwecke zu teuer ist. Wenn Sie jedoch die langfristige Nutzung von Google Cloud und die Netzwerkanforderungen in Ihrer Organisation berücksichtigen, könnte sich die Investition lohnen. Weitere Informationen zum Verbinden Ihrer Netzwerke mit Google Cloud finden Sie unter Network Connectivity-Produkt auswählen.
Wenn Sie sich für einen Ansatz entscheiden, bei dem Daten über das öffentliche Internet übertragen werden, sollten Sie sich bei Ihrem Sicherheitsadministrator erkundigen, ob Ihre Unternehmensrichtlinien solche Übertragungen erlauben. Prüfen Sie auch, ob die öffentliche Internetverbindung für Ihren Produktionstraffic verwendet wird. Beachten Sie auch, dass umfangreiche Datenübertragungen die Leistung Ihres Produktionsnetzwerks beeinträchtigen können.
Online- oder Offlineübertragung
Eine zentrale Entscheidung besteht darin, ob Sie einen Offline- oder Onlineprozess für die Datenübertragung verwenden möchten. Das heißt, Sie müssen entscheiden, ob die Übertragung über ein Netzwerk erfolgen soll, ob es sich dabei um eine Cloud Interconnect-Verbindung oder das öffentliche Internet handelt, oder ob die Übertragung mithilfe von Speicherhardware vorgenommen wird.
Das folgende Diagramm zeigt auch einige Übertragungsgeschwindigkeiten für verschiedene Dataset-Größen und Bandbreiten. Bei diesen Berechnungen wird auch ein gewisser Verwaltungsaufwand berücksichtigt.
Wie bereits erwähnt, müssen Sie abwägen, ob sich die Kosten zum Erreichen niedrigerer Latenzen für Ihre Datenübertragung (z. B. für die Netzwerkbandbreite) durch den Wert dieser Investition für Ihre Organisation ausgleichen lassen.
Optionen von Google
Google bietet verschiedene Tools und Technologien, die Ihnen beim Ausführen der Datenübertragung helfen.
Entscheidung für eine der Übertragungsoptionen von Google
Für welche Übertragungsoption Sie sich entscheiden, hängt von Ihrem Anwendungsfall ab, wie die folgende Tabelle zeigt.
Quelle der zu verschiebenden Daten | Szenario | Vorgeschlagene Produkte |
---|---|---|
Ein anderer Cloud-Anbieter (z. B. Amazon Web Services oder Microsoft Azure) zu Google Cloud | – | Storage Transfer Service |
Cloud Storage zu Cloud Storage (zwei verschiedene Buckets) | – | Storage Transfer Service |
Privates Rechenzentrum zu Google Cloud | Die Bandbreite reicht aus, um die Frist des Projekts einzuhalten | gcloud storage -Befehl
|
Privates Rechenzentrum zu Google Cloud | Die Bandbreite reicht aus, um die Frist des Projekts einzuhalten | Storage Transfer Service for On Premises Data |
Privates Rechenzentrum zu Google Cloud | Die Bandbreite reicht nicht aus, um die Frist des Projekts einzuhalten | Transfer Appliance |
gcloud storage
-Befehl für kleinere Übertragungen lokaler Daten
Der gcloud storage
-Befehl ist das Standardtool für kleine bis mittelgroße Übertragungen über ein typisches Unternehmensnetzwerk von einem privaten Rechenzentrum oder von einem anderen Cloud-Anbieter zu Google Cloud. Während gcloud storage
das Hochladen von Objekten bis zur maximalen Größe des Cloud Storage-Objekts unterstützt, ist bei Übertragungen großer Objekte die Wahrscheinlichkeit von Fehlern höher als bei kurz andauernden Übertragungen.
Weitere Informationen zum Übertragen großer Objekte nach Cloud Storage finden Sie unter Storage Transfer Service für große Übertragungen lokaler Daten.
Der Befehl gcloud storage
ist in folgenden Szenarien besonders nützlich:
- Die Übertragungen müssen je nach Bedarf oder im Zuge einer Befehlszeilensitzung von den Nutzern ausgeführt werden.
- Sie übertragen nur wenige oder sehr große Dateien oder beides.
- Sie verwenden die Ausgabe eines Programms (Streamingausgabe an Cloud Storage).
- Sie müssen ein Verzeichnis mit einer moderaten Anzahl von Dateien im Blick behalten und Aktualisierungen mit sehr niedrigen Latenzen synchronisieren.
Storage Transfer Service für umfangreiche Übertragungen lokaler Daten
Wie der gcloud storage
-Befehl ermöglicht der Storage Transfer Service for On Premises Data Übertragungen vom NFS-Speicher (Network File System) zu Cloud Storage. Storage Transfer Service for On Premises Data ist für umfangreiche Übertragungen ausgelegt (bis zu Petabyte an Daten, Milliarden von Dateien). Er unterstützt das vollständige oder inkrementelle Kopieren und funktioniert mit allen Übertragungsoptionen, die zuvor unter Entscheidung für eine der Übertragungsoptionen von Google aufgeführt sind. Außerdem hat er eine verwaltete grafische Benutzeroberfläche. Auch Nutzer, die technisch nicht versiert sind, können damit nach dem Einrichten Daten verschieben.
Der Storage Transfer Service for On Premises Data ist in folgenden Szenarien besonders nützlich:
- Sie haben genügend Bandbreite, um die Datenmengen zu verschieben.
- Sie unterstützen eine große Basis interner Nutzer, für die der Umgang mit einem Befehlszeilentools möglicherweise etwas schwierig ist.
- Sie benötigen robuste Fehlerberichte und einen Datensatz, der alle zu verschiebenden Dateien und Objekte umfasst.
- Sie müssen die Auswirkungen von Übertragungen auf andere Arbeitslasten in Ihrem Rechenzentrum begrenzen (dieses Produkt kann unter einem benutzerdefinierten Bandbreitenlimit bleiben).
- Sie möchten wiederkehrende Übertragungen nach einem Zeitplan ausführen.
Um den Storage Transfer Service for On Premises Data einzurichten, installieren Sie lokale Software (sogenannte Agents) auf Computern in Ihrem Rechenzentrum.
Nachdem Sie den Storage Transfer Service eingerichtet haben, können Sie Übertragungen in der Google Cloud Console initiieren. Dazu geben Sie ein Quellverzeichnis, einen Ziel-Bucket und eine Zeit oder einen Zeitplan an.
Der Storage Transfer Service durchsucht rekursiv Unterverzeichnisse und Dateien im Quellverzeichnis und erstellt Objekte mit einem entsprechenden Namen in Cloud Storage (das Objekt /dir/foo/file.txt
wird im Ziel-Bucket zu einem Objekt namens /dir/foo/file.txt
). Der Storage Transfer Service versucht automatisch, eine Übertragung zu wiederholen, wenn kurzzeitige Fehler auftreten.
Während die Übertragungen ausgeführt werden, können Sie nachvollziehen, wie viele Dateien verschoben werden und wie hoch die Übertragungsgeschwindigkeit insgesamt ist. Außerdem können Sie sich Fehlerbeispiele ansehen.
Wenn der Storage Transfer Service eine Übertragung beendet, wird eine tabulatorgetrennte Datei (TSV) mit dem vollständigen Datensatz aller verarbeiteten Dateien und aller empfangenen Fehlermeldungen generiert. Agents sind fehlertolerant. Wenn ein Agent ausfällt, wird die Übertragung mit den verbleibenden Agents fortgesetzt. Agents aktualisieren und reparieren sich auch selbst. Sie müssen sich also keine Sorgen machen, dass Sie eine Aktualisierung auf die neueste Versionen vornehmen oder den Vorgang neu starten müssen, wenn er aufgrund eines unerwarteten Problems abgebrochen wird.
Bei der Verwendung des Storage Transfer Service sollten Sie Folgendes beachten:
- Richten Sie den Agent auf jedem Computer identisch ein. Alle Agents sollten dieselben NFS-Bereitstellungen (Network File System) auf dieselbe Weise sehen (gleiche relative Pfade). Das Produkt muss so eingerichtet werden, damit es funktioniert.
- Je mehr Agents, desto schneller. Da Übertragungen automatisch für alle Agents parallelisiert werden, sollten Sie viele Agents bereitstellen, um die verfügbare Bandbreite auszunutzen.
- Bandbreitenbeschränkungen können Ihre Arbeitslasten schützen. Ihre anderen Arbeitslasten nutzen möglicherweise die Bandbreite Ihres Rechenzentrums. Legen Sie daher eine Bandbreitenbeschränkung fest, damit Ihre SLAs durch Übertragungen nicht beeinträchtigt werden.
- Planen Sie Zeit für die Fehlerüberprüfung ein. Große Übertragungen können häufig zu Fehlern führen, die überprüft werden müssen. Mit dem Storage Transfer Service können Sie sich ein Beispiel der aufgetretenen Fehler direkt in der Cloud Console ansehen. Bei Bedarf können Sie den vollständigen Datensatz aller Übertragungsfehler in BigQuery laden, um Dateien zu überprüfen oder Fehler zu bewerten, die auch bei wiederholten Versuchen immer wieder aufgetreten sind. Diese Fehler können durch das Ausführen von Anwendungen verursacht werden, die während der Übertragung in die Quelle schreiben, oder die Fehler weisen auf ein Problem hin, das behoben werden muss (z. B. ein Berechtigungsfehler).
- Richten Sie Cloud Monitoring für lang andauernde Übertragungen ein. Mit dem Storage Transfer Service kann Monitoring den Status und den Durchsatz von Agents überwachen. So können Sie Benachrichtigungen einrichten, um benachrichtigt zu werden, wenn Agents ausfallen oder Ihre Aufmerksamkeit erfordern. Bei Übertragungen, die mehrere Tage oder Wochen dauern, ist es wichtig, auf den Ausfall von Agents zu reagieren. So vermeiden Sie erhebliche Verzögerungen oder Unterbrechungen, durch die sich der Zeitplan des Projekts verzögert.
Transfer Appliance für umfangreichere Übertragungen
Für umfangreiche Übertragungen (insbesondere Übertragungen mit begrenzter Netzwerkbandbreite) ist die Transfer Appliance eine hervorragende Option, insbesondere wenn keine schnelle Netzwerkverbindung verfügbar ist und der Erwerb von mehr Bandbreite zu teuer kommt.
Die Transfer Appliance ist in folgenden Szenarien besonders nützlich:
- Ihr Rechenzentrum befindet sich an einem abgelegenen Standort mit eingeschränktem oder gar keinem Zugriff auf Bandbreite.
- Die Bandbreite ist verfügbar, kann jedoch nicht rechtzeitig erworben werden, um die vorgesehene Frist einzuhalten.
- Sie haben Zugriff auf logistische Ressourcen, um Appliances entgegenzunehmen und mit Ihrem Netzwerk zu verbinden.
Beachten Sie bei dieser Option Folgendes:
- Für die Verwendung der Transfer Appliance müssen Sie in der Lage sein, die Hardware von Google zu empfangen und zurückzusenden.
- Abhängig von Ihrer Internetverbindung ist die Latenz für die Übertragung von Daten zu Google Cloud mit der Transfer Appliance in der Regel höher als bei einer Onlineübertragung.
- Die Transfer Appliance ist nur in bestimmten Ländern verfügbar.
Die beiden Hauptkriterien, die es bei der Transfer Appliance zu berücksichtigen gilt, sind Kosten und Geschwindigkeit. Bei einer angemessenen Netzwerkverbindung (z. B. 1 Gbit/s) dauert die Onlineübertragung von 100 TB Daten mehr als 10 Tage. Wenn diese Rate akzeptabel ist, ist eine Onlineübertragung wahrscheinlich eine gute Lösung für Ihre Anforderungen. Wenn Sie nur eine Verbindung mit 100 Mbit/s oder sogar nur eine Verbindung über einen Remote-Standort haben, dauert dieselbe Übertragung mehr als 100 Tage. An dieser Stelle sollten Sie eine Offlineübertragungsoption wie die Transfer Appliance in Betracht ziehen.
Der Erwerb einer Transfer Appliance ist unkompliziert. Fordern Sie in der Google Cloud Console eine Transfer Appliance an und geben Sie dabei den Umfang Ihrer Daten an. Anschließend sendet Ihnen Google eine oder mehrere Appliances an den gewünschten Standort. Sie haben einige Tage Zeit, um Ihre Daten auf die Appliance zu übertragen ("Datenerfassung") und sie an Google zurückzusenden.
Storage Transfer Service für Cloud-zu-Cloud-Übertragungen
Der Storage Transfer Service ist ein vollständig verwalteter, hoch skalierbarer Dienst zur Automatisierung von Übertragungen aus anderen öffentlichen Clouds zu Cloud Storage. Beispielsweise können Sie Storage Transfer Service zum Übertragen von Daten aus Amazon S3 zu Cloud Storage verwenden.
Bei HTTP können Sie für den Storage Transfer Service eine Liste öffentlicher URLs in einem bestimmten Format bereitstellen.
Dafür müssen Sie ein Skript schreiben, mit dem die Größe jeder Datei in Byte angegeben sowie ein Base64-codiertes MD5-Hash des Dateiinhalts bereitgestellt wird.
Manchmal sind die Dateigröße und das Hash auf der Quellwebsite verfügbar. Wenn nicht, benötigen Sie lokalen Zugriff auf die Dateien. In diesem Fall ist es möglicherweise einfacher, den gcloud storage
-Befehl zu verwenden (wie zuvor beschrieben).
Wenn Sie eine Übertragung eingerichtet haben, ist der Storage Transfer Service eine hervorragende Möglichkeit, Daten abzurufen und beizubehalten, insbesondere bei der Übertragung aus einer anderen öffentlichen Cloud.
Wenn Sie Daten aus einer anderen Cloud verschieben möchten, die nicht von Storage Transfer Service unterstützt wird, können Sie den gcloud storage
-Befehl von einer in der Cloud gehosteten VM-Instanz verwenden.
Sicherheit
Für viele Google Cloud-Nutzer steht Sicherheit an erster Stelle und es stehen verschiedene Sicherheitsebenen zur Verfügung. Zu den Sicherheitsaspekten gehören der Schutz inaktiver Daten (Autorisierung und Zugriff auf das Quell- und Zielspeichersystem), der Schutz von Daten während der Übertragung und der Schutz des Zugriffs auf das Übertragungsprodukt. In der folgenden Tabelle sind diese Sicherheitsaspekte nach Produkt beschrieben.
Produkt | Inaktive Daten | Daten während der Übertragung | Zugriff auf das Übertragungsprodukt |
---|---|---|---|
Transfer Appliance | Alle Daten werden verschlüsselt, wenn sie inaktiv sind. | Die Daten werden durch vom Kunden verwaltete Schlüssel geschützt. | Jeder kann eine Appliance bestellen. Um sie zu verwenden, muss jedoch auf die Datenquelle zugegriffen werden können. |
gcloud storage -Befehl |
Zugriffsschlüssel, die für den Zugriff auf Cloud Storage erforderlich sind. Die Verschlüsselung erfolgt, wenn die Daten inaktiv sind. | Die Daten werden über HTTPS gesendet und bei der Übertragung verschlüsselt. | Jeder kann die Google Cloud CLI herunterladen und ausführen. Es sind Berechtigungen für Buckets und lokale Dateien erforderlich, um Daten zu verschieben. |
Storage Transfer Service for On Premises Data | Zugriffsschlüssel, die für den Zugriff auf Cloud Storage erforderlich sind. Die Verschlüsselung erfolgt, wenn die Daten inaktiv sind. Der Agent-Prozess kann auf lokale Dateien zugreifen, wenn die Betriebssystemberechtigungen dies zulassen. | Die Daten werden über HTTPS gesendet und bei der Übertragung verschlüsselt. | Für den Zugriff auf Cloud Storage-Buckets sind Berechtigungen als Objektbearbeiter erforderlich. |
Storage Transfer Service | Zugriffsschlüssel, die für Nicht-Google Cloud-Ressourcen (z. B. Amazon S3) erforderlich sind. Zugriffsschlüssel sind für den Zugriff auf Cloud Storage erforderlich. Die Verschlüsselung erfolgt, wenn die Daten inaktiv sind. | Die Daten werden über HTTPS gesendet und bei der Übertragung verschlüsselt. | Sie benötigen IAM-Berechtigungen für das Dienstkonto, um auf Berechtigungen für Quell- und Objektbearbeiter für Cloud Storage-Buckets zuzugreifen. |
Zur Verbesserung der grundlegenden Sicherheit werden Onlineübertragungen zu Google Cloud mit gcloud storage
über HTTPS ausgeführt, die Daten werden bei der Übertragung verschlüsselt und es werden auch alle Daten in Cloud Storage standardmäßig verschlüsselt, wenn sie inaktiv sind.
Wenn Sie die Transfer Appliance verwenden, können die von Ihnen verwalteten Sicherheitsschlüssel zum Schutz Ihrer Daten beitragen. Im Allgemeinen empfehlen wir Ihnen, sich an Ihr Sicherheitsteam zu wenden, um sicherzustellen, dass Ihr Übertragungsplan den Anforderungen Ihres Unternehmens und den behördlichen Vorschriften entspricht.
Übertragungsprodukte von Drittanbietern
Zur erweiterten Optimierung auf Netzwerkebene oder für Workflows mit einer laufenden Datenübertragung sollten Sie fortschrittlichere Tools verwenden. Informationen zu fortschrittlicheren Tools finden Sie unter Google Cloud Partner.
Schritt 4: Ansätze zur Datenmigration bewerten
Beim Migrieren von Daten können Sie diesen allgemeinen Schritten folgen:
- Übertragen Sie die Daten von der Legacy-Website zur neuen Website.
- Beheben Sie eventuell auftretende Probleme bei der Datenintegration, die z. B. durch das Synchronisieren derselben Daten aus mehreren Quellen auftreten können.
- Validieren Sie die Datenmigration.
- Stufen Sie die neue Website zur primären Kopie hoch.
- Wenn Sie die Legacy-Website nicht mehr als Fallback-Option benötigen, deaktivieren Sie diese.
Beim Entwurf Ihres Ansatzes zur Datenmigration sollten Sie sich an folgenden Fragen orientieren:
- Wie viele Daten müssen Sie migrieren?
- Wie oft ändern sich diese Daten?
- Ist die Ausfallzeit in Form eines Umstellungsfensters für Sie beim Migrieren der Daten tragbar?
- Welches Datenkonsistenzmodell verwenden Sie derzeit?
Es gibt dabei keine ideale Herangehensweise; die jeweilige Auswahl hängt von Ihrer Umgebung und Ihren Anforderungen ab.
In den folgenden Abschnitten werden vier Ansätze zur Datenmigration vorgestellt:
- Planmäßige Wartung
- Fortlaufende Replikation
- Y (Schreiben und Lesen)
- Mikrodienst für den Datenzugriff
Je nach Umfang und Anforderungen der Datenmigration werden bei jedem Ansatz unterschiedliche Probleme angegangen.
Der Ansatz "Mikrodienst für den Datenzugriff" ist bei einer Mikrodienste-Architektur die beste Option. Die anderen Ansätze sind jedoch für die Migration von Daten hilfreich. Sie eignen sich auch für die Übergangszeit, die erforderlich ist, um Ihre Infrastruktur zu modernisieren, damit der Ansatz "Mikrodienst für den Datenzugriff" verwendet werden kann.
Das folgende Diagramm zeigt die Größe des Umstellungsfensters, den Refaktorierungsaufwand und die Flexibilität der einzelnen Ansätze.
Bevor Sie einen dieser Ansätze befolgen, müssen Sie prüfen, ob Sie die erforderliche Infrastruktur in der neuen Umgebung eingerichtet haben.
Planmäßige Wartung
Der Ansatz "Planmäßige Wartung" ist dann ideal, wenn ein Umstellungsfenster für Ihre Arbeitslasten kein Problem darstellt. "Planmäßig" bedeutet in diesem Fall, dass Sie den Zeitpunkt für das Umstellungsfenster festlegen können.
Bei diesem Ansatz besteht die Migration aus den folgenden Schritten:
- Kopieren Sie die Daten, die sich auf der Legacy-Website befinden, auf die neue Website. Dadurch, dass Sie diese erste Kopie erstellen, verkleinert sich das Umstellungsfenster, da Sie später nur noch die Daten kopieren müssen, die sich im Umstellungszeitraum geändert haben.
- Führen Sie Datenüberprüfungen und Konsistenzprüfungen durch, um die Daten der Legacy-Website mit den kopierten Daten der neuen Website zu vergleichen.
- Halten Sie die Arbeitslasten und Dienste an, die Schreibzugriff auf die kopierten Daten haben, sodass daran keine weiteren Änderungen vorgenommen werden.
- Synchronisieren Sie die Änderungen, die nach Erstellen der ersten Kopie aufgetreten sind.
- Refaktorieren Sie Ihre Arbeitslasten und Dienste so, dass diese die neue Website verwenden.
- Starten Sie die Arbeitslasten und Dienste.
- Wenn Sie die Legacy-Website nicht mehr als Fallback-Option benötigen, deaktivieren Sie diese.
Beim Ansatz "Planmäßige Wartung" liegt die Hauptlast auf dem laufenden Betrieb, da nur eine minimale Refaktorierung der Arbeitslasten und Dienste erforderlich ist.
Fortlaufende Replikation
Da nicht bei allen Arbeitslasten ein großes Umstellungsfenster tragbar ist, können Sie den Ansatz "Planmäßige Wartung" dahingehend erweitern, dass Sie nach den Kopier- und Validierungsschritten am Anfang einen Mechanismus zur fortlaufenden Replikation bereitstellen. Wenn Sie einen solchen Mechanismus entwerfen, sollten Sie dabei auch die Geschwindigkeit berücksichtigen, mit der an Ihren Daten Änderungen vorgenommen werden. Es kann schwierig sein, zwei Systeme synchron zu halten.
Der Ansatz "Fortlaufende Replikation" ist komplexer als der Ansatz "Planmäßige Wartung". Beim Ansatz "Fortlaufende Replikation" wird jedoch die Größe des erforderlichen Umstellungsfensters minimiert, da die zu synchronisierende Datenmenge reduziert wird. Beim Ansatz "Fortlaufende Replikation" für die Migration halten Sie sich an folgende Reihenfolge:
- Kopieren Sie die Daten, die sich auf der Legacy-Website befinden, auf die neue Website. Dadurch, dass Sie diese erste Kopie erstellen, verkleinert sich das Umstellungsfenster, da Sie später nur noch die Daten kopieren müssen, die sich in diesem Fenster geändert haben.
- Führen Sie Datenüberprüfungen und Konsistenzprüfungen durch, um die Daten der Legacy-Website mit den kopierten Daten der neuen Website zu vergleichen.
- Richten Sie einen Mechanismus zur fortlaufenden Replikation von der Legacy-Website zur neuen Website ein.
- Halten Sie die Arbeitslasten und Dienste an, die Zugriff auf die zu migrierenden Daten haben, d. h. auf die Daten aus dem vorherigen Schritt.
- Refaktorieren Sie Ihre Arbeitslasten und Dienste so, dass diese die neue Website verwenden.
- Warten Sie, bis die Replikation den neuen Standort vollständig mit dem alten Standort synchronisiert hat.
- Starten Sie die Arbeitslasten und Dienste.
- Wenn Sie die Legacy-Website nicht mehr als Fallback-Option benötigen, deaktivieren Sie diese.
Wie beim Ansatz "Planmäßige Wartung" sind auch beim Ansatz "Fortlaufende Replikation" die Auswirkungen auf den laufenden Betrieb am größten.
Y (Schreiben und Lesen)
Wenn Ihre Arbeitslasten hohe Anforderungen an die Hochverfügbarkeit stellen und die Ausfallzeit in Form eines Umstellungsfensters für Sie nicht tragbar ist, müssen Sie einen anderen Ansatz wählen. In diesem Szenario können Sie den Ansatz verwenden, der in diesem Dokument als Y (Schreiben und Lesen) bezeichnet wird. Dies ist eine Form der parallelen Migration. Bei diesem Ansatz schreibt die Arbeitslast während der Migration Daten in die Legacy-Website und in die neue Website bzw. liest diese daraus. Der Buchstabe Y wird hier zur grafischen Darstellung des Datenflusses während des Migrationszeitraums verwendet.
Dieser Ansatz lässt sich so zusammenfassen:
- Refaktorieren Sie die Arbeitslasten und Dienste, sodass die Daten sowohl auf die Legacy-Website als auch auf die neue Website geschrieben und von der Legacy-Website gelesen werden.
- Identifizieren Sie die Daten, die geschrieben wurden, bevor Sie auf der neuen Website Schreibvorgänge aktiviert haben, und kopieren Sie diese von der Legacy-Website zur neuen Website. Zusammen mit der vorherigen Refaktorierung stellt die sicher, dass die Datenspeicher ausgerichtet werden.
- Validieren Sie die Daten und überprüfen Sie die Datenkonsistenz, um die Daten der Legacy-Website mit den Daten der neuen Website zu vergleichen.
- Stellen Sie die Lesevorgänge von der Legacy-Website auf die neue Website um.
- Führen Sie nochmals eine Überprüfung der Datenvalidierung und -konsistenz durch, um die Daten der Legacy-Website mit den Daten der neuen Website zu vergleichen.
- Deaktivieren Sie Schreibvorgänge auf der Legacy-Website.
- Wenn Sie die Legacy-Website nicht mehr als Fallback-Option benötigen, deaktivieren Sie diese.
Im Gegensatz zu den Ansätzen "Planmäßige Wartung" und "Fortlaufende Replikation" wird beim Ansatz "Y (Schreiben und Lesen)" aufgrund der mehrfachen Refaktorierungen die meiste Arbeit von den Teams für den laufenden Betrieb auf die Teams der Entwicklungsseite umverlagert.
Mikrodienst für den Datenzugriff
Wenn Sie den Refaktorierungsaufwand, den der Ansatz "Y (Schreiben und Lesen)" erfordert, senken möchten, können Sie die Lese- und Schreibvorgänge für Daten zentralisieren. Dazu refaktorieren Sie die Arbeitslasten und Dienste, sodass diese für den Datenzugriff einen Mikrodienst verwenden. Dieser skalierbare Mikrodienst wird zum einzigen Einstiegspunkt für Ihre Datenspeicherebene und fungiert als Proxy für diese Ebene. Von den hier beschriebenen Ansätzen bietet dieser die größtmögliche Flexibilität, da Sie diese Komponente refaktorieren können, ohne dass andere Komponenten der Architektur davon betroffen sind und ohne dass ein Umstellungsfenster erforderlich ist.
Die Verwendung eines Mikrodiensts für den Datenzugriff ähnelt dem Ansatz "Y (Schreiben und Lesen)" stark. Der Unterschied besteht darin, dass nur der Mikrodienst für den Datenzugriff refaktoriert werden muss, anstatt alle Arbeitslasten und Dienste, die auf die Datenspeicherebene zugreifen. Dieser Ansatz lässt sich so zusammenfassen:
- Refaktorieren Sie den Mikrodienst für den Datenzugriff so, dass Daten sowohl auf die Legacy-Website als auch auf die neue Website geschrieben werden. Lesevorgänge werden auf der Legacy-Website durchgeführt.
- Identifizieren Sie die Daten, die geschrieben wurden, bevor Sie auf der neuen Website Schreibvorgänge aktiviert haben, und kopieren Sie diese von der Legacy-Website zur neuen Website. Zusammen mit der vorherigen Refaktorierung stellt die sicher, dass die Datenspeicher ausgerichtet werden.
- Validieren Sie die Daten und überprüfen Sie die Datenkonsistenz, um die Daten der Legacy-Website mit den Daten der neuen Website zu vergleichen.
- Refaktorieren Sie den Mikrodienst für den Datenzugriff, sodass Daten von der neuen Website gelesen werden.
- Führen Sie nochmals eine Überprüfung der Datenvalidierung und -konsistenz durch, um die Daten der Legacy-Website mit den Daten der neuen Website zu vergleichen.
- Refaktorieren Sie den Mikrodienst für den Datenzugriff, sodass Daten nur auf die neue Website geschrieben werden.
- Wenn Sie die Legacy-Website nicht mehr als Fallback-Option benötigen, deaktivieren Sie diese.
Wie beim Ansatz "Y (Schreiben und Lesen)" sind auch beim Ansatz "Mikrodienst mit Datenzugriff" die Auswirkungen auf der Entwicklungsseite am größten. Er lässt sich im Vergleich zum Ansatz "Y (Schreiben und Lesen)" jedoch wesentlich leichter umsetzen, da sich die Refaktorierung auf den Mikrodienst mit Datenzugriff beschränkt.
Schritt 5: Übertragung vorbereiten
Bei einer großen Übertragung oder einer Übertragung mit erheblichen Abhängigkeiten ist es wichtig zu wissen, wie das Übertragungsprodukt funktioniert. Kunden führen normalerweise die folgenden Schritte aus:
- Preisgestaltung und ROI-Schätzung. Dieser Schritt bietet viele Optionen, die zur Entscheidungsfindung beitragen.
Funktionstests. In diesem Schritt bestätigen Sie, dass das Produkt erfolgreich eingerichtet werden kann und die Netzwerkverbindung (falls zutreffend) funktioniert. Außerdem testen Sie, ob Sie eine repräsentative Stichprobe Ihrer Daten an das Ziel verschieben können. Dies umfasst auch Tests zu begleitenden Schritten wie das Verschieben einer VM-Instanz.
Sie können diesen Schritt normalerweise ausführen, bevor Sie alle Ressourcen wie Übertragungsmaschinen oder Bandbreite zuweisen. Dieser Schritt hat unter anderem folgende Ziele:
- Bestätigen, dass die Übertragung eingerichtet und ausgeführt werden kann.
- Aufzeigen möglicher Probleme, bei denen die Datenverschiebung (z. B. Netzwerkrouten) oder Ihre Vorgänge blockiert werden (z. B. erforderliche Schulungen für Nicht-Übertragungsschritte) und die zum Beenden des Projekts führen würden.
Leistungstests. In diesem Schritt führen Sie eine Übertragung mit einer großen Stichprobe Ihrer Daten aus (normalerweise 3–5 %), nachdem Produktionsressourcen für folgende Aufgaben zugewiesen wurden:
- Bestätigen, dass alle zugewiesenen Ressourcen genutzt und die erwarteten Geschwindigkeiten erreicht werden können.
- Erkennen und Beheben von Engpässen (z. B. langsames Quellspeichersystem).
Schritt 6: Integrität der Übertragung gewährleisten
Um während einer Übertragung die Integrität Ihrer Daten sicherzustellen, sollten Sie folgende Vorsichtsmaßnahmen ergreifen:
- Aktivieren Sie die Versionsverwaltung und die Sicherung am Ziel, um den Schaden durch versehentliches Löschen zu begrenzen.
- Prüfen Sie Ihre Daten, bevor Sie die Quelldaten entfernen.
Bei umfangreichen Datenübertragungen (mit Petabyte an Daten und Milliarden von Dateien) führt eine grundlegende latente Fehlerrate des zugrunde liegenden Quellspeichersystems von 0,0001 % immer noch zu einem Datenverlust von Tausenden von Dateien und Gigabyte. Normalerweise sind Anwendungen, die an der Quelle ausgeführt werden, diesen Fehlern gegenüber bereits sehr tolerant. In diesem Fall ist keine zusätzliche Validierung erforderlich. In einigen Ausnahmefällen (z. B. Langzeitarchivierung) ist eine weitere Validierung erforderlich, bevor es sicher ist, Daten an der Quelle zu löschen.
Je nach Anforderungen Ihrer Anwendung sollten Sie nach Abschluss der Übertragung einige Datenintegritätstests durchführen, um sicherzustellen, dass die Anwendung weiterhin wie vorgesehen funktioniert. In viele Übertragungsprodukte ist eine Prüfung der Datenintegrität eingebunden. Abhängig von Ihrem Risikoprofil können Sie jedoch zusätzliche Prüfungen der Daten und der Anwendungen, die die Daten lesen, durchführen, bevor Sie Daten an der Quelle löschen. Sie könnten beispielsweise prüfen, ob eine von Ihnen aufgezeichnete und berechnete Prüfsumme mit den am Ziel geschriebenen Daten übereinstimmt oder ob ein von der Anwendung verwendetes Dataset erfolgreich übertragen wurde.
Nächste Schritte
- Hilfe für Migrationen erhalten
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.
Beitragende
Autoren:
- Marco Ferrari | Cloud Solutions Architect
- Ross Thomson | Cloud Solutions Architect