Auf dieser Seite wird beschrieben, wie Sie Buckets von einem Standort an einen anderen verlagern. Informationen zum Verschieben von Buckets finden Sie unter Buckets verschieben.
Hinweise
Bevor Sie Buckets verschieben können, müssen Sie die folgenden Schritte ausführen:
Prüfen Sie die Kontingente und Limits, um sicherzustellen, dass am neuen Speicherort ein ausreichendes Kontingent für die Bucket-Daten vorhanden ist.
Art der Bucket-Migration festlegen, um zu ermitteln, ob Ausfallzeiten für Schreibvorgänge erforderlich sind.
Wenn Sie Inventarberichte verwenden, speichern Sie Ihre Konfigurationen.
Rufen Sie die erforderlichen Rollen ab, die im folgenden Abschnitt beschrieben werden.
Erforderliche Rollen abrufen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verschieben von Buckets benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verschieben von Buckets erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Verschieben von Buckets erforderlich:
-
So verschieben Sie einen Bucket:
storage.buckets.relocate -
So rufen Sie den Status eines Bucket-Verschiebevorgangs auf:
storage.bucketOperations.get -
So rufen Sie die Liste der Bucket-Verschiebevorgänge für ein Projekt auf:
storage.bucketOperations.list -
So brechen Sie einen Bucket-Verschiebevorgang ab:
storage.bucketOperations.cancel -
So rufen Sie die Metadaten eines Buckets während der Phasen Probelauf und Verschieben von Buckets auf:
storage.buckets.get -
So rufen Sie ein Objekt in einem Bucket ab, das Sie verschieben möchten:
storage.objects.get -
So listen Sie die Objekte in einem Bucket auf, den Sie verschieben möchten:
storage.objects.list
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Buckets verschieben
In diesem Abschnitt wird beschrieben, wie Sie Cloud Storage-Buckets von einem Standort an einen anderen verlagern.
So verschieben Sie einen Bucket:
Weitere Informationen zu diesen Schritten finden Sie unter Informationen zum Verschieben von Buckets.
Bucket-Verschiebung mit einem Probelauf testen (optional)
Um potenzielle Probleme während der Bucket-Migration zu minimieren, empfehlen wir, einen Probelauf durchzuführen, um den End-to-End-Prozess zu testen. Bei einem Probelauf wird die Bucket-Migration simuliert, ohne dass Daten verschoben werden. So können Sie Probleme frühzeitig erkennen und beheben. Beim Probelauf wird nach den folgenden Inkompatibilitäten gesucht:
- Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) oder vom Kunden bereitgestellte Verschlüsselungsschlüssel (CSEK)
- Gesperrte Aufbewahrungsrichtlinien
- Objekte mit temporären Holds
- Mehrteilige Uploads
Bei einem Testlauf können nicht alle möglichen Probleme erkannt werden, da einige Probleme aufgrund von Faktoren wie der Ressourcenverfügbarkeit in Echtzeit erst während der Live-Migration auftreten. Das Risiko, dass während der eigentlichen Migration zeitaufwendige Probleme auftreten, wird jedoch verringert.
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie in der Liste der Buckets auf den Namen des Buckets, das Sie verschieben möchten.
- Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.
- Klicken Sie im Bereich Übersicht neben dem Feld Standort auf Bearbeiten.
- Geben Sie auf der Seite Bucket verlagern den neuen Standort des Buckets ein. Klicken Sie nach jedem der folgenden Schritte auf Weiter, um mit dem nächsten Schritt fortzufahren:
- Prüfen Sie im Abschnitt Bucket bestätigen, den Sie verschieben möchten den Bucket und seinen Standort.
- Sehen Sie sich im Abschnitt Bevor Sie fortfahren die Konfigurationen an, die die Migration blockieren. Wenn eine Einschränkung auf Ihren Bucket zutrifft, sollten Sie den Storage Transfer Service als alternative Lösung in Betracht ziehen.
-
Führen Sie im Abschnitt Legen Sie fest, wohin Sie den Bucket verschieben möchten die folgenden Schritte aus:
- Wählen Sie einen Standorttyp aus.
-
Wählen Sie einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket gespeichert werden sollen.
Je nach Quell- und Zielort werden Sie darüber informiert, ob eine Schreibausfallzeit erforderlich ist. Informationen zu den Arten der Migration und zu Ausfallzeiten finden Sie unter Migrationstypen.
- Klicken Sie im Bereich Choose how you'd like to proceed (Wählen Sie aus, wie Sie fortfahren möchten) auf Start with a dry run (recommended) (Mit einem Probelauf beginnen (empfohlen)). Bei einem Probelauf wird die Migration simuliert, um potenzielle Probleme zu erkennen, ohne Daten zu verschieben.
- Klicken Sie auf Weiter.
- Klicken Sie auf Start.
- Prüfen Sie im Bestätigungsdialogfeld Mit einem Probelauf beginnen die angezeigte Meldung und klicken Sie auf Probelauf starten.
Nachdem Sie eine Generalprobe gestartet haben, wird ein Vorgang mit langer Ausführungszeit gestartet. Sie können den Fortschritt auf dem Tab Vorgänge der Seite Bucket-Details verfolgen.
Befehlszeile
Führen Sie den Befehl gcloud storage buckets relocate mit dem Flag --dry-run aus, um einen Probelauf zu starten:
gcloud storage buckets relocate gs://BUCKET_NAME --location=LOCATION --dry-run
Wobei:
BUCKET_NAMEist der Name des Buckets, den Sie verschieben möchten.LOCATIONist der Zielspeicherort des Buckets.
Nachdem Sie eine Generalprobe gestartet haben, wird ein Vorgang mit langer Ausführungszeit gestartet. Sie erhalten eine Vorgangs-ID und eine Beschreibung des Vorgangs. Rufen Sie die Details des lang andauernden Vorgangs ab, um den Fortschritt und Abschluss des Probelaufs zu verfolgen.
Wenn beim Schreibtischtest Probleme auftreten, beheben Sie diese, bevor Sie mit dem Umzug fortfahren.
JSON API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Erstellen Sie eine JSON-Datei mit den Einstellungen für den Bucket, die die Parameter
destinationLocationundvalidateOnlyenthalten muss. Eine vollständige Liste der Einstellungen finden Sie in der Dokumentation zuBuckets: relocate. Folgende Einstellungen können verwendet werden:{ "destinationLocation": "DESTINATION_LOCATION", "destinationCustomPlacementConfig": { "dataLocations": [ LOCATIONS, ... ] }, "validateOnly": "true" }
Wobei:
DESTINATION_LOCATIONist der Zielstandort des Buckets.LOCATIONSist eine Liste von Standortcodes, die für die konfigurierbare Dual-Region verwendet werden sollen.validateOnlyist auftruegesetzt, um einen Probelauf durchzuführen.
Verwenden Sie
cURLzum Aufrufen der JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/relocate"
Wobei:
JSON_FILE_NAMEist der Name der JSON-Datei, die Sie erstellt haben.BUCKET_NAMEist der Name des Buckets, den Sie verschieben möchten.
Nachdem Sie eine Generalprobe gestartet haben, wird ein Vorgang mit langer Ausführungszeit gestartet. Der Probelauf ist erfolgreich, wenn die folgenden Bedingungen erfüllt sind:
- Im Probelauf werden keine Fehler gemeldet.
Die
operations-Ressource gibt für das Felddoneden Werttruezurück.{ "kind": "storage#operation", "name": "projects/_/buckets/bucket/operations/operation_id", "metadata": { "@type": OperationMetadataType*, metadata OperationMetadata* }, "done": "true", "response": { "@type": ResponseResourceType*, response ResponseResource* } }Wenn beim Schreibtischtest Probleme auftreten, beheben Sie diese, bevor Sie mit dem Schritt Umzug starten fortfahren.
Verschieben des Buckets starten
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie in der Liste der Buckets auf den Namen des Buckets, das Sie verschieben möchten.
- Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.
- Klicken Sie im Bereich Übersicht neben dem Feld Standort auf Bearbeiten.
- Geben Sie auf der Seite Bucket verlagern den neuen Standort des Buckets ein. Klicken Sie nach jedem der folgenden Schritte auf Weiter, um mit dem nächsten Schritt fortzufahren:
- Prüfen Sie im Abschnitt Bucket bestätigen, den Sie verschieben möchten den Bucket und seinen Standort.
- Sehen Sie sich im Abschnitt Bevor Sie fortfahren die Konfigurationen an, die die Migration blockieren. Wenn eine Einschränkung auf Ihren Bucket zutrifft, sollten Sie den Storage Transfer Service als alternative Lösung in Betracht ziehen.
-
Führen Sie im Abschnitt Legen Sie fest, wohin Sie den Bucket verschieben möchten die folgenden Schritte aus:
- Wählen Sie einen Standorttyp aus.
-
Wählen Sie einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket gespeichert werden sollen.
Je nach Quell- und Zielort werden Sie darüber informiert, ob eine Schreibausfallzeit erforderlich ist. Informationen zu den Arten der Migration und zu Ausfallzeiten finden Sie unter Migrationstypen.
- Klicken Sie im Bereich Weitere Vorgehensweise auswählen auf Jetzt umziehen.
- Klicken Sie auf Weiter.
- Klicken Sie auf Starten, um den Umzug zu starten.
- Prüfen Sie im Bestätigungsdialogfeld Jetzt umziehen die angezeigte Meldung und klicken Sie auf Umzug starten.
Nachdem Sie den Verlagerungsvorgang gestartet haben, wird ein Vorgang mit langer Ausführungszeit gestartet. Sie können den Fortschritt auf dem Tab Vorgänge der Seite Bucket-Details verfolgen.
Befehlszeile
Führen Sie den Befehl gcloud storage buckets relocate aus, um die Bucket-Verlagerung zu starten:
gcloud storage buckets relocate gs://BUCKET_NAME --location=LOCATION
Wobei:
BUCKET_NAMEist der Name des Buckets, den Sie verschieben möchten.LOCATIONist der Zielspeicherort des Buckets.
JSON API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Erstellen Sie eine JSON-Datei mit den Einstellungen für den Bucket. Eine vollständige Liste der Einstellungen finden Sie in der Dokumentation zu
Buckets: relocate. Folgende Einstellungen können verwendet werden:{ "destinationLocation": "DESTINATION_LOCATION", "destinationCustomPlacementConfig": { "dataLocations": [ LOCATIONS, ... ] }, "validateOnly": "false" }
Wobei:
DESTINATION_LOCATIONist der Zielstandort des Buckets.LOCATIONSist eine Liste von Standortcodes, die für die konfigurierbare Dual-Region verwendet werden sollen.validateOnlyist auffalsegesetzt, um das Verschieben des Buckets zu starten.
Verwenden Sie
cURLzum Aufrufen der JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/relocate"
Wobei:
JSON_FILE_NAMEist der Name der JSON-Datei, die Sie erstellt haben.BUCKET_NAMEist der Name des Buckets, den Sie verschieben möchten.
Umzugsprozess überwachen
Console
So überwachen Sie den Fortschritt des Probelaufs oder des Umzugsprozesses:
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie verschieben möchten.
Klicken Sie auf der Seite Bucket-Details auf den Tab Vorgänge.
Klicken Sie in der Liste der Bucket-Vorgänge, die angezeigt werden, auf den Probe- oder den Verlagerungsvorgang, um die zugehörigen Details aufzurufen.
Auf der Seite mit den Vorgangsdetails werden die Zusammenfassung der Verlagerung, wichtige Messwerte und eine Fehlerzusammenfassung angezeigt.
Befehlszeile
Nachdem Sie das Verschieben eines Buckets initiiert haben, wird ein Vorgang mit langer Ausführungszeit gestartet. Sie erhalten eine Vorgangs-ID und eine Beschreibung des Vorgangs. Sie können den Fortschritt und Abschluss des Migrationsvorgangs verfolgen, indem Sie Details zum Vorgang mit langer Ausführungszeit abrufen.
JSON API
Das Verschieben von Buckets ist ein lang andauernder Vorgang, der überwacht werden muss. Prüfen Sie regelmäßig die Details des lang andauernden Vorgangs, um den Prozessstatus zu ermitteln. Informationen zum Prüfen des Status des Umzugsvorgangs finden Sie unter Details zu einem Vorgang mit langer Ausführungszeit abrufen.
Das folgende Beispiel zeigt die Ausgabe, die von einem Verlagerungsvorgang generiert wird:
done: false
kind: storage#operation
metadata:
'@type': type.googleapis.com/google.storage.control.v2.RelocateBucketMetadata
commonMetadata:
createTime: '2024-10-21T04:26:59.666Z
endTime: '2024-12-29T23:39:53.340Z'
progressPercent: 99
requestedCancellation: false
type: relocate-bucket
updateTime: '2024-10-21T04:27:03.2892'
destinationLocation: US-CENTRAL1
finalizationState: 'READY'
progress:
byteProgressPercent: 100
discoveredBytes: 200
remainingBytes: 0
discoveredObjectCount: 10
remainingObjectCount: 8
objectProgressPercent: 100
discoveredSyncCount: 8
remainingSyncCount: 0
syncProgressPercent: 100
relocationState: SYNCING
sourceLocation: US
validateOnly: false
estimatedWriteDowntimeDuration: '7200s'
writeDowntimeExpireTime: '2024-12-30T10:34:01.786Z'
name: projects//buckets/my-bucket1/operations/Bar7-1b0khdew@nhenUQRTF_R-Kk4dQ5V1f8fzezkFcPh3XMvlTqJ6xhnqJ1h_QXFIeAirrEqkjgu4zPKSRD6WSSG5UGXil6w
response:
'@type': type.googleapis.com/google.storage.control.v2.RelocateBucketResponse
selfLink: https://storage.googleusercontent.com/storage/v1_ds/b/my-bucket1/operations/Bar7-1b0khdew@nhenUQRTF_R-Kk4dQ5V1f8fzezkFcPh3XMvlTqJ6xhnqJ1h_QXFIeAirrEqkjgu4zPKSRD6WSSG5UGXil6w
In der folgenden Tabelle finden Sie Informationen zu den Schlüsselfeldern in der Ausgabe, die vom Migrationsvorgang generiert wird:
| Feldname | Beschreibung | Mögliche Werte |
|---|---|---|
done |
Gibt an, dass der Vorgang zum Verschieben des Buckets abgeschlossen ist. | true, false |
kind |
Gibt an, dass diese Ressource einen Speichervorgang darstellt. | |
metadata |
Enthält Informationen zum Vorgang. | |
metadata.@type |
Gibt den Vorgangstyp als Bucket-Migration an. | |
metadata.commonMetadata |
Metadaten, die für alle Vorgänge gelten. | |
metadata.commonMetadata.createTime |
Der Zeitpunkt, zu dem der Vorgang mit langer Ausführungszeit erstellt wurde. | |
metadata.commonMetadata.endTime |
Der Zeitpunkt, zu dem der Vorgang mit langer Ausführungszeit beendet wurde. | |
metadata.commonMetadata.progressPercent |
Der geschätzte Fortschritt des Vorgangs mit langer Ausführungszeit in Prozent. | Zwischen 0 und 100%. Der Wert -1 bedeutet, dass der Fortschritt unbekannt oder nicht anwendbar ist. |
metadata.commonMetadata.requestedCancellation |
Gibt an, ob der Nutzer den Abbruch des Vorgangs mit langer Ausführungszeit angefordert hat. | true, false |
metadata.commonMetadata.type |
Gibt den Typ des Vorgangs mit langer Ausführungszeit an. | |
metadata.commonMetadata.updateTime |
Der Zeitpunkt, zu dem der Vorgang mit langer Ausführungszeit zuletzt aktualisiert wurde. | |
metadata.destinationLocation |
Der Zielspeicherort des Buckets. | |
metadata.finalizationState |
Gibt an, ob die endgültige Synchronisierung gestartet werden kann. |
|
metadata.progress |
Details zum Fortschritt des Umzugsvorgangs. | |
metadata.progress.byteProgressPercent |
Fortschritt der kopierten Bytes in Prozent. | Zwischen 0 und 100%. Der Wert -1 bedeutet, dass der Fortschritt unbekannt oder nicht anwendbar ist. |
metadata.progress.discoveredBytes |
Anzahl der Bytes, die im Quell-Bucket gefunden wurden. | |
metadata.progress.discoveredObjectCount |
Anzahl der Objekte, die im Quell-Bucket erkannt wurden. | |
metadata.progress.discoveredSyncCount |
Anzahl der Aktualisierungen von Objektmetadaten, die im Quell-Bucket erkannt wurden. | |
metadata.progress.objectProgressPercent |
Fortschritt des Kopiervorgangs in Prozent. | Zwischen 0 und 100%. Der Wert -1 bedeutet, dass der Fortschritt unbekannt oder nicht anwendbar ist. |
metadata.progress.remainingBytes |
Anzahl der Bytes, die noch vom Quell-Bucket in den Ziel-Bucket kopiert werden müssen. | |
metadata.progress.remainingObjectCount |
Anzahl der Objekte, die noch aus dem Quell-Bucket in den Ziel-Bucket kopiert werden müssen. | |
metadata.progress.remainingSyncCount |
Anzahl der verbleibenden Aktualisierungen von Objektmetadaten, die synchronisiert werden müssen. | |
metadata.progress.syncProgressPercent |
Fortschritt der zu synchronisierenden Aktualisierungen von Objektmetadaten in Prozent. | Zwischen 0 und 100%. Der Wert -1 bedeutet, dass der Fortschritt unbekannt oder nicht anwendbar ist. |
metadata.relocationState |
Gesamtstatus des Bucket-Verschiebevorgangs. |
|
metadata.sourceLocation |
Der Quellspeicherort des Buckets. | |
metadata.validateOnly |
Gibt an, ob ein Probelauf für das Verschieben des Buckets initiiert wurde. | true, false |
metadata.estimatedWriteDowntimeDuration |
Die geschätzte Dauer der Schreibausfallzeit. Wird ausgefüllt, sobald finalizationState READY ist. |
Der Mindestwert beträgt 7200s. |
metadata.writeDowntimeExpireTime |
Die Zeit, zu der die Schreibausfallzeit abläuft. | |
name |
Die eindeutige Kennung für diesen Umzugsvorgang. Format: projects/_/buckets/bucket-name/operations/operation-id |
|
response |
Die Antwort des Vorgangs. | |
response.@type |
Der Typ der Antwort. | |
selfLink |
Ein Link zu diesem Vorgang. |
Wenn Sie Probleme bei der Interaktion mit anderen Cloud Storage-Funktionen haben, lesen Sie den Abschnitt Einschränkungen.
Endgültige Synchronisierung starten
Bei Verschiebungen, die eine Unterbrechung der Schreibvorgänge erfordern, müssen Sie die endgültige Synchronisierung starten. Beim letzten Synchronisierungsschritt können Sie keine Schreibvorgänge für den Bucket ausführen. Wir empfehlen, den letzten Synchronisierungsschritt zu einem Zeitpunkt zu planen, der Unterbrechungen Ihrer Anwendungen minimiert.
Console
Führen Sie die folgenden Schritte aus, um den letzten Synchronisierungsschritt zu starten:
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie verschieben möchten.
Klicken Sie auf der Seite Bucket-Details auf den Tab Vorgänge.
Klicken Sie in der Liste der Bucket-Vorgänge auf den Verschiebevorgang, um die Seite mit den Vorgangsdetails aufzurufen. Wenn die Datenkopie auf der Seite mit den Vorgangsdetails zu mindestens 99% abgeschlossen ist, wird eine Meldungsleiste angezeigt, die darauf hinweist, dass jetzt der optimale Zeitpunkt für den Start der endgültigen Synchronisierung ist.
Optional: Wenn Sie die maximal zulässige Schreibausfallzeit festlegen möchten, klicken Sie auf Maximal zulässige Ausfallzeit (TTL) festlegen und geben Sie die maximale Ausfallzeit an.
Klicken Sie auf Endgültige Synchronisierung starten.
Klicken Sie im angezeigten Bestätigungsdialogfeld auf Starten, um die endgültige Synchronisierung zu starten.
Auf der Seite mit den Vorgangsdetails werden die Zusammenfassung der Migration, wichtige Messwerte und eine Fehlerzusammenfassung angezeigt.
Befehlszeile
Bevor Sie fortfahren, prüfen Sie, ob der Bucket vollständig vorbereitet ist. Sehen Sie sich dazu den Wert finalizationState in der Ausgabe des Schritts Bucketmigration starten an.
Wenn der Wert finalizationState gleich READY ist, führen Sie den Befehl gcloud storage buckets
relocate aus, um die endgültige Synchronisierung zu starten:
gcloud storage buckets relocate --finalize --operation=projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Wobei:
BUCKET_NAMEist der Name des Buckets, den Sie verschieben möchten.OPERATION_IDist die ID des Vorgangs mit langer Ausführungszeit für die Bucket-Verlagerung, die in der Antwort der von Ihnen aufgerufenen Methoden zurückgegeben wird. Beispielsweise wird beim Aufrufen vongcloud storage operations listdie folgende Antwort zurückgegeben und die ID des Vorgangs mit langer Ausführungszeit lautetAbCJYd8jKT1n-Ciw1LCNXIcubwvij_TdqO-ZFjuF2YntK0r74.
`name: projects/_/buckets/my-bucket/operations/AbCJYd8jKT1n-Ciw1LCNXIcubwvij_TdqO-ZFjuF2YntK0r74`
Mit dem Flag ttl können Sie den Prozess der Standortverlagerung besser steuern. Beispiel:
gcloud storage buckets relocate --finalize --ttl TTL_DURATION --operation=projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Wobei:
TTL_DURATION ist die Gültigkeitsdauer (Time to Live, TTL) für die Schreibausfallzeit während eines Umzugsprozesses. Sie wird als String ausgedrückt, z. B. 12h für 12 Stunden. Die TTL_DURATION bestimmt die maximal zulässige Dauer für die Schreibausfallzeit. Wenn die Schreibausfallzeit dieses Limit überschreitet, wird der Migrationsvorgang automatisch auf den Schritt „Bucket-Migration“ zurückgesetzt und Schreibvorgänge für den Bucket werden wieder aktiviert. Der Wert muss zwischen 6h (6 Stunden) und 48h (48 Stunden) liegen. Wenn keine Angabe erfolgt, beträgt der Standardwert 12h (12 Stunden).
JSON API
Bevor Sie fortfahren, prüfen Sie, ob der Bucket vollständig vorbereitet ist. Sehen Sie dazu in der Ausgabe des Schritts Bucketmigration nach dem Wert finalizationState. Der finalizationState-Wert muss READY sein, um fortzufahren.
Wenn Sie die endgültige Synchronisierung vorzeitig starten, gibt der Befehl die Fehlermeldung The relocate bucket operation is not ready to advance to finalization running state zurück, der Migrationsprozess wird jedoch fortgesetzt.
Wir empfehlen, mit dem letzten Synchronisierungsschritt zu warten, bis der Wert progressPercent 99 ist.
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Erstellen Sie eine JSON-Datei mit den Einstellungen für die Bucket-Umsiedlung. Eine vollständige Liste der Einstellungen finden Sie in der Dokumentation zu
Buckets: advanceRelocateBucket. Folgende Einstellungen können verwendet werden:{ "expireTime": "EXPIRE_TIME", "ttl": "TTL_DURATION" }
Wobei:
EXPIRE_TIMEist die Zeit, zu der die Schreibausfallzeit abläuft.TTL_DURATIONist die Gültigkeitsdauer (Time to Live, TTL) für die Schreibausfallzeit während eines Umzugsprozesses. Sie wird als String ausgedrückt, z. B.12hfür 12 Stunden. DieTTL_DURATIONbestimmt die maximal zulässige Dauer für die Schreibausfallzeit. Wenn die Schreibausfallzeit dieses Limit überschreitet, wird der Migrationsvorgang automatisch auf den Schritt „Bucket-Migration“ zurückgesetzt und Schreibvorgänge für den Bucket werden wieder aktiviert. Der Wert muss zwischen6h(6 Stunden) und48h(48 Stunden) liegen. Wenn keine Angabe erfolgt, beträgt der Standardwert12h(12 Stunden).
Verwenden Sie
cURLzum Aufrufen der JSON API:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/bucket/BUCKET_NAME/operations/OPERATION_ID/advanceRelocateBucket"
Wobei:
JSON_FILE_NAMEist der Name der JSON-Datei, die Sie erstellt haben.BUCKET_NAMEist der Name des Buckets, den Sie verschieben möchten.OPERATION_IDist die ID des Vorgangs mit langer Ausführungszeit, der die Bucket-Umstellung initiiert hat. Eine Liste der IDs von Vorgängen mit langer Ausführungszeit für einen Bucket finden Sie unter Vorgänge: list.
Nachdem ein Bucket erfolgreich verschoben wurde, können Sie 14 Tage lang kein weiteres Verschieben für denselben Bucket initiieren.
Bucket-Migration validieren
Prüfen Sie nach dem Start einer Standortverlagerung, ob sie erfolgreich abgeschlossen wurde. In diesem Abschnitt finden Sie Informationen dazu, wie Sie überprüfen können, ob die Datenübertragung erfolgreich war.
Prüfen Sie mit den folgenden Methoden, ob die Migration erfolgreich war:
Vorgänge mit langer Ausführungszeit abfragen: Die Bucket-Verlagerung ist ein Vorgang mit langer Ausführungszeit. Sie können den Vorgang mit langer Ausführungszeit mit
operation idabfragen, um den Fortschritt des Vorgangs zu überwachen und den erfolgreichen Abschluss zu bestätigen, indem Sie den Statussuccessprüfen. Dazu müssen Sie den Status des Vorgangs regelmäßig abfragen, bis er einen Endstatus erreicht. Informationen zum Monitoring von Vorgängen mit langer Ausführungszeit finden Sie unter Vorgänge mit langer Ausführungszeit in Cloud Storage verwenden.Cloud-Audit-Logs-Einträge analysieren: Cloud-Audit-Logs enthalten einen detaillierten Datensatz von Ereignissen und Vorgängen in Ihrer Google Cloud -Umgebung. Sie können die mit der Verlagerung verknüpften Cloud-Audit-Logeinträge analysieren, um den Erfolg zu überprüfen. Analysieren Sie die Logs auf Fehler, Warnungen oder unerwartetes Verhalten, die auf Probleme während der Übertragung hinweisen könnten. Informationen zum Aufrufen von Cloud-Audit-Logs finden Sie unter Audit-Logs ansehen.
Anhand der folgenden Logeinträge können Sie feststellen, ob die Migration erfolgreich war oder fehlgeschlagen ist:
Erfolgreiche Migration:
Relocate bucket succeeded. All existing objects are now in the new placement configuration.Fehler bei der Standortverlagerung:
Relocate bucket has failed. Bucket location remains unchanged.
Mithilfe von Pub/Sub-Benachrichtigungen können Sie auch Benachrichtigungen einrichten, die Sie informieren, wenn das jeweilige Erfolgs- oder Fehlerereignis in den Logs angezeigt wird. Informationen zum Einrichten von Pub/Sub-Benachrichtigungen finden Sie unter Pub/Sub-Benachrichtigungen für Cloud Storage konfigurieren.
Aufgaben nach der Bucket-Verschiebung ausführen
Nachdem Sie Ihren Bucket erfolgreich verschoben haben, führen Sie die folgenden Schritte aus:
- Optional: Stellen Sie alle tagbasierten Zugriffssteuerungen für Ihren Bucket wieder her.
- Vorhandene Konfigurationen für Inventarberichte werden während der Migration nicht beibehalten. Sie müssen sie manuell neu erstellen. Informationen zum Erstellen einer Konfiguration für Inventarberichte finden Sie unter Konfiguration für Inventarberichte erstellen.
- Aktualisieren Sie Ihre Infrastructure-as-Code-Konfigurationen wie Terraform und den Google Kubernetes Engine-Konfigurationsconnector, um den neuen Speicherort des Buckets anzugeben.
- Regionale Endpunkte sind an bestimmte Standorte gebunden. Sie müssen Ihren Anwendungscode ändern, um den neuen Endpunkt zu berücksichtigen.
Umgang mit fehlgeschlagenen Bucket-Verschiebevorgängen
Beachten Sie die folgenden Faktoren, bevor Sie fehlgeschlagene Bucket-Verschiebungen bearbeiten:
Bei einer fehlgeschlagenen Bucket-Verschiebung können am Zielort veraltete Ressourcen wie temporäre Dateien oder unvollständige Datenkopien verbleiben. Sie müssen 7 bis 14 Tage warten, bevor Sie ein weiteres Verschieben von Buckets zum selben Ziel initiieren können. Sie können die Bucket-Verschiebung zu einem anderen Zielort sofort starten.
Wenn der Zielspeicherort nicht der optimale Speicherort für Ihre Daten ist, sollten Sie die Verlagerung möglicherweise rückgängig machen. Sie können jedoch nicht sofort mit der Verlegung beginnen. Bevor Sie den Verschiebungsvorgang wieder starten können, ist eine Wartezeit von bis zu 14 Tagen erforderlich, um die Stabilität zu gewährleisten und Datenkonflikte zu vermeiden.
Nächste Schritte
- Informationen zu Buckets verschieben