Buckets verschieben

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:

  1. Storage Intelligence konfigurieren

  2. Vorläufiges Löschen aktivieren.

  3. Prüfen Sie die Kontingente und Limits, um sicherzustellen, dass am neuen Speicherort ein ausreichendes Kontingent für die Bucket-Daten vorhanden ist.

  4. Art der Bucket-Migration festlegen, um zu ermitteln, ob Ausfallzeiten für Schreibvorgänge erforderlich sind.

  5. Entfernen Sie alle vorhandenen Bucket-Tags.

  6. Wenn Sie Inventarberichte verwenden, speichern Sie Ihre Konfigurationen.

  7. 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:

  1. Bucket-Umzug mit einem Probelauf testen (optional)

  2. Verschieben des Buckets starten

  3. Endgültige Synchronisierung starten

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:

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

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, das Sie verschieben möchten.
  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.
  4. Klicken Sie im Bereich Übersicht neben dem Feld Standort auf  Bearbeiten.
  5. 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:
    1. Prüfen Sie im Abschnitt Bucket bestätigen, den Sie verschieben möchten den Bucket und seinen Standort.
    2. 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.
    3. Führen Sie im Abschnitt Legen Sie fest, wohin Sie den Bucket verschieben möchten die folgenden Schritte aus:

      1. Wählen Sie einen Standorttyp aus.
      2. 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.

    4. 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.
    5. Klicken Sie auf Weiter.
  6. Klicken Sie auf Start.
  7. 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_NAME ist der Name des Buckets, den Sie verschieben möchten.

  • LOCATION ist 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

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Erstellen Sie eine JSON-Datei mit den Einstellungen für den Bucket, die die Parameter destinationLocation und validateOnly enthalten muss. 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": "true"
      }

    Wobei:

    • DESTINATION_LOCATION ist der Zielstandort des Buckets.
    • LOCATIONS ist eine Liste von Standortcodes, die für die konfigurierbare Dual-Region verwendet werden sollen.
    • validateOnly ist auf true gesetzt, um einen Probelauf durchzuführen.
  3. Verwenden Sie cURL zum 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_NAME ist der Name der JSON-Datei, die Sie erstellt haben.
    • BUCKET_NAME ist 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 Feld done den Wert true zurü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

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, das Sie verschieben möchten.
  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.
  4. Klicken Sie im Bereich Übersicht neben dem Feld Standort auf  Bearbeiten.
  5. 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:
    1. Prüfen Sie im Abschnitt Bucket bestätigen, den Sie verschieben möchten den Bucket und seinen Standort.
    2. 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.
    3. Führen Sie im Abschnitt Legen Sie fest, wohin Sie den Bucket verschieben möchten die folgenden Schritte aus:

      1. Wählen Sie einen Standorttyp aus.
      2. 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.

    4. Klicken Sie im Bereich Weitere Vorgehensweise auswählen auf Jetzt umziehen.
    5. Klicken Sie auf Weiter.
  6. Klicken Sie auf Starten, um den Umzug zu starten.
  7. 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_NAME ist der Name des Buckets, den Sie verschieben möchten.

  • LOCATION ist der Zielspeicherort des Buckets.

JSON API

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. 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_LOCATION ist der Zielstandort des Buckets.
    • LOCATIONS ist eine Liste von Standortcodes, die für die konfigurierbare Dual-Region verwendet werden sollen.
    • validateOnly ist auf false gesetzt, um das Verschieben des Buckets zu starten.
  3. Verwenden Sie cURL zum 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_NAME ist der Name der JSON-Datei, die Sie erstellt haben.
    • BUCKET_NAME ist der Name des Buckets, den Sie verschieben möchten.

Umzugsprozess überwachen

Console

So überwachen Sie den Fortschritt des Probelaufs oder des Umzugsprozesses:

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie verschieben möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Vorgänge.

  4. 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.
  • READY: Gibt an, dass Sie den letzten Synchronisierungsschritt starten können. Wir empfehlen jedoch, zu warten, bis der Wert des Felds progressPercent 99 erreicht.
  • WAITING_ON_SYNC: Gibt an, dass Sie den Schritt der endgültigen Synchronisierung nicht starten können.
  • NOT_REQUIRED: Gibt an, dass der endgültige Synchronisierungsschritt für diesen Bucket nicht erforderlich ist und Sie ihn überspringen können.
  • BLOCKED_ON_ERRORS: Gibt an, dass der Finalisierungsschritt aufgrund von Fehlern vorübergehend pausiert wurde. Sie müssen die Fehler beheben, um mit dem Schritt fortzufahren.
  • RUNNING: Gibt an, dass der Finalisierungsschritt ausgeführt wird.
  • FINALIZED: Gibt an, dass der Finalisierungsschritt erfolgreich abgeschlossen wurde.
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.
  • SYNCING: Gibt an, dass beim Schritt zum Verschieben des Buckets Objekte aktiv aus dem Quell-Bucket in den Ziel-Bucket kopiert werden.
  • FINALIZING: Gibt an, dass der Finalisierungsschritt eingeleitet wurde.
  • FAILED: Gibt an, dass beim Schritt zum Verschieben des Buckets ein Fehler aufgetreten ist und er nicht erfolgreich abgeschlossen wurde.
  • SUCCEEDED: Gibt an, dass der Schritt zum Verschieben des Buckets erfolgreich abgeschlossen wurde.
  • CANCELLED: Gibt an, dass der Schritt zum Verschieben des Buckets abgebrochen wurde.
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:

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie verschieben möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Vorgänge.

  4. 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.

  5. 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.

  6. Klicken Sie auf Endgültige Synchronisierung starten.

  7. 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_NAME ist der Name des Buckets, den Sie verschieben möchten.
  • OPERATION_ID ist 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 von gcloud storage operations list die folgende Antwort zurückgegeben und die ID des Vorgangs mit langer Ausführungszeit lautet AbCJYd8jKT1n-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.

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. 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_TIME ist die Zeit, zu der die Schreibausfallzeit abläuft.
    • 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).
  3. Verwenden Sie cURL zum 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_NAME ist der Name der JSON-Datei, die Sie erstellt haben.
    • BUCKET_NAME ist der Name des Buckets, den Sie verschieben möchten.
    • OPERATION_ID ist 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 id abfragen, um den Fortschritt des Vorgangs zu überwachen und den erfolgreichen Abschluss zu bestätigen, indem Sie den Status success prü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:

  1. Optional: Stellen Sie alle tagbasierten Zugriffssteuerungen für Ihren Bucket wieder her.
  2. 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.
  3. Aktualisieren Sie Ihre Infrastructure-as-Code-Konfigurationen wie Terraform und den Google Kubernetes Engine-Konfigurationsconnector, um den neuen Speicherort des Buckets anzugeben.
  4. 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