Auf dieser Seite wird beschrieben, wie Sie Buckets von einem Standort an einen anderen verschieben. Informationen zum Verschieben von Buckets finden Sie unter Buckets verschieben.
Hinweis
Bevor Sie Buckets verschieben können, müssen Sie die folgenden Schritte ausführen:
Art der Bucket-Migration festlegen, um zu ermitteln, ob Ausfallzeiten für Schreibvorgänge erforderlich sind.
Wenn bei der Verschiebung von Buckets Ausfallzeiten für Schreibvorgänge auftreten, aktivieren Sie das vorläufige Löschen.
Prüfen Sie die Kontingente und Limits, um sicherzustellen, dass am neuen Speicherort ausreichende Kontingente für die Bucket-Daten vorhanden sind.
Prüfen Sie die Einschränkungen für das Verschieben von Buckets.
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 ab:
storage.bucketOperations.get -
So rufen Sie die Liste der Vorgänge zum Verschieben von Buckets 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 des Probelaufs und des Verschiebens von Buckets auf:
storage.buckets.get -
So rufen Sie ein Objekt in einem Bucket ab, den Sie verschieben möchten:
storage.objects.get -
So listen Sie die Objekte in einem Bucket auf, die 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 Cloud Storage-Buckets von einem Standort an einen anderen verschoben werden.
So verschieben Sie einen Bucket:
Weitere Informationen zu diesen Schritten finden Sie unter Verschieben von Buckets.
Testen Sie das Verschieben von Buckets mit einem Probelauf (optional)
Um potenzielle Probleme während des Verschiebens von Buckets zu minimieren, empfehlen wir, einen Probelauf durchzuführen, um den End-to-End-Prozess zu testen. Bei einem Probelauf wird der Prozess zum Verschieben von Buckets simuliert, ohne dass Daten verschoben werden. So können Sie Probleme frühzeitig erkennen und beheben. Beim Probelauf wird auf die folgenden Inkompatibilitäten geprüft:
- Kundenverwaltete Verschlüsselungsschlüssel (CMEK) oder vom Kunden bereitgestellte Verschlüsselungsschlüssel (CSEK)
- Aufbewahrungsrichtlinien für Buckets und Objekte
- Objekte mit temporären Holds
- Mehrteilige Uploads
Bei einem Probelauf können nicht alle möglichen Probleme erkannt werden, da einige Probleme möglicherweise erst während der Live-Migration auftreten. Das liegt an Faktoren wie der Ressourcenverfügbarkeit in Echtzeit. 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, den 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 verschieben den neuen Speicherort 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 Speicherort.
- Prüfen Sie im Abschnitt Bevor Sie fortfahren die Konfigurationen, 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 Wählen Sie aus, wie Sie fortfahren möchten auf 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.
- Lesen 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 TabVorgänge der Seite Bucket-Details überwachen.
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 Zielort des Buckets.
Nachdem Sie einen Probelauf gestartet 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 die Fertigstellung des Probelaufs verfolgen, indem Sie die Details des Vorgangs mit langer Ausführungszeit abrufen.
Wenn bei der Probelaufprüfung Probleme auftreten, beheben Sie diese, bevor Sie mit dem Verschiebungsschritt 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 auftruefestgelegt, um einen Probelauf auszufü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 einen Probelauf gestartet haben, wird ein Vorgang mit langer Ausführungszeit gestartet. Der Probelauf ist erfolgreich, wenn die folgenden Bedingungen erfüllt sind:
- Beim Probelauf werden keine Fehler gemeldet.
Die
operations-Ressource gibt dendone-Feldwerttruezurü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 Probelauf Probleme auftreten, beheben Sie diese, bevor Sie mit dem Schritt Umzug starten fortfahren.
Verschieben von 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, den 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 verschieben den neuen Speicherort 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 Speicherort.
- Prüfen Sie im Abschnitt Bevor Sie fortfahren die Konfigurationen, 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 Abschnitt Weitere Vorgehensweise auswählen auf Jetzt umziehen.
- Klicken Sie auf Weiter.
- Klicken Sie auf Starten, um den Umzug zu starten.
- Lesen Sie im Bestätigungsdialogfeld Jetzt verschieben die angezeigte Meldung und klicken Sie auf Verschieben starten.
Nachdem Sie den Migrationsvorgang 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 das Verschieben von Buckets 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 Zielstandort 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 Zielort des Buckets.LOCATIONSist eine Liste von Standortcodes, die für die konfigurierbare Dual-Region verwendet werden sollen.validateOnlyist auffalsegesetzt, um das Verschieben von Buckets zu initiieren.
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 Migrationsprozesses:
- 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 Probelauf oder den Verschiebevorgang, um die Details aufzurufen.
Auf der Detailseite des Vorgangs werden die Zusammenfassung der Verlagerung, die wichtigsten Messwerte und eine Fehlerzusammenfassung angezeigt.
Befehlszeile
Nachdem Sie das Verschieben von Buckets initiiert haben, wird ein Vorgang mit langer Ausführungszeit gestartet. Sie erhalten eine Vorgangs-ID und eine Beschreibung des Vorgangs. Verfolgen Sie den Fortschritt und den Abschluss des Verschiebevorgangs, indem Sie die Details des Vorgangs mit langer Ausführungszeit abrufen.
JSON API
Das Verschieben von Buckets ist ein Vorgang mit langer Ausführungszeit, der überwacht werden muss. Prüfen Sie regelmäßig die Details des Vorgangs mit langer Ausführungszeit, um den Prozessstatus zu prüfen. 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 durch einen 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 den Abschluss des Verschiebens von Buckets an. | true, false |
kind |
Gibt an, dass diese Ressource einen Speichervorgang darstellt. | |
metadata |
Enthält Informationen zum Vorgang. | |
metadata.@type |
Gibt den Vorgangstyp als Verschieben von Buckets 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 zutreffend 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 Verschiebevorgangs. | |
metadata.progress.byteProgressPercent |
Fortschritt der kopierten Bytes in Prozent. | Zwischen 0 und 100%. Der Wert -1 bedeutet, dass der Fortschritt unbekannt oder nicht zutreffend ist. |
metadata.progress.discoveredBytes |
Anzahl der im Quell-Bucket gefundenen Byte. | |
metadata.progress.discoveredObjectCount |
Anzahl der im Quell-Bucket erkannten Objekte. | |
metadata.progress.discoveredSyncCount |
Anzahl der Aktualisierungen von Objektmetadaten, die im Quell-Bucket erkannt wurden. | |
metadata.progress.objectProgressPercent |
Fortschritt des Kopierens von Objekten in Prozent. | Zwischen 0 und 100%. Der Wert -1 bedeutet, dass der Fortschritt unbekannt oder nicht zutreffend 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 vom 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 zutreffend ist. |
metadata.relocationState |
Gesamtstatus des Verschiebens von Buckets. |
|
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 Verschiebevorgang. 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 bei der Interaktion mit anderen Cloud Storage-Funktionen Probleme auftreten, lesen Sie den Abschnitt Einschränkungen.
Letzten Synchronisierungsschritt 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 so zu planen, dass die Unterbrechung Ihrer Anwendungen minimiert wird.
Console
So starten Sie den letzten Synchronisierungsschritt:
- 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 Detailseite des Vorgangs 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 Letzte 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 des Umzugs, 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 Verschieben von Buckets initiieren an.
Wenn der Wert von finalizationState 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 zum Verschieben von Buckets, 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`
Legen Sie das Flag ttl fest, um den Migrationsprozess besser steuern zu können. Beispiel:
gcloud storage buckets relocate --finalize --ttl TTL_DURATION --operation=projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Wobei:
TTL_DURATION ist die Gültigkeitsdauer (TTL) für die Schreibausfallphase während eines Migrationsprozesses. 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 „Verschieben von Buckets“ 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 sich dazu den Wert finalizationState in der Ausgabe des Schritts Verschieben von Buckets an. Der Wert für finalizationState muss READY sein, um fortzufahren.
Wenn Sie den Schritt der endgültigen Synchronisierung vorzeitig starten, gibt der Befehl die Fehlermeldung The relocate bucket operation isn't ready to advance to finalization running state zurück, der Verlagerungsvorgang 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 das Verschieben von Buckets. 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 (TTL) für die Schreibausfallphase während eines Migrationsprozesses. 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 Verschiebevorgang automatisch auf den Schritt „Verschieben von Buckets“ zurückgesetzt und Schreibvorgänge im 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 das Verschieben von Buckets initiiert hat. Eine Liste der IDs von Vorgängen mit langer Ausführungszeit für einen Bucket finden Sie unter Operations: list.
Verschieben von Buckets validieren
Prüfen Sie nach dem Start einer Standortverlagerung, ob sie erfolgreich abgeschlossen wurde. In diesem Abschnitt finden Sie eine Anleitung, wie Sie die erfolgreiche Übertragung von Daten bestätigen können.
Prüfen Sie mit den folgenden Methoden, ob die Migration erfolgreich war:
Vorgänge mit langer Ausführungszeit abfragen: Das Verschieben von Buckets ist ein Vorgang mit langer Ausführungszeit. Sie können den Vorgang mit langer Ausführungszeit mithilfe von
operation idabfragen, um den Fortschritt des Vorgangs zu überwachen und den erfolgreichen Abschluss durch Prüfen des Statussuccesszu bestätigen. Dazu wird der Status des Vorgangs regelmäßig abgefragt, 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-Logeinträge analysieren: Cloud-Audit-Logs bieten eine detaillierte Aufzeichnung 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 nicht:
Erfolgreiche Migration:
Relocate bucket succeeded. All existing objects are now in the new placement configuration.Fehler beim Verschieben:
Relocate bucket has failed. Bucket location remains unchanged.
Mit 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 dem Verschieben von Buckets ausführen
Führen Sie die folgenden Schritte aus, nachdem Sie Ihren Bucket erfolgreich verschoben haben:
- Optional: Stellen Sie alle tagbasierten Zugriffssteuerungen für Ihren Bucket wieder her.
- Vorhandene Konfigurationen für Inventarberichte werden während der Migration nicht beibehalten und müssen manuell neu erstellt werden. Informationen zum Erstellen einer Inventarberichtskonfiguration finden Sie unter Inventarberichtskonfiguration 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 entsprechend anpassen.
Umgang mit fehlgeschlagenen Bucket-Verschiebevorgängen
Berücksichtigen Sie die folgenden Faktoren, bevor Sie fehlgeschlagene Vorgänge zum Verschieben von Buckets bearbeiten:
Bei einem fehlgeschlagenen Verschieben von Buckets 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 einen weiteren Bucket-Verschiebevorgang zum selben Ziel initiieren können. Sie können das Verschieben eines Buckets an ein anderes Ziel sofort starten.
Wenn der Zielspeicherort nicht der optimale Speicherort für Ihre Daten ist, können Sie die Migration rückgängig machen. Sie können eine Migration jedoch nicht sofort initiieren. Um die Stabilität zu gewährleisten und Datenkonflikte zu vermeiden, ist eine Wartezeit von 7 bis 14 Tagen erforderlich, bevor Sie eine Verschiebung zurück zum ursprünglichen Quellspeicherort initiieren können.
Nächste Schritte
- Informationen zum Verschieben von Buckets