Sposta bucket

Questa pagina descrive la procedura per spostare i bucket da una località a un'altra. Per informazioni sulla rilocalizzazione dei bucket, consulta Rilocalizzazione dei bucket.

Prima di iniziare

Prima di poter trasferire i bucket, completa i seguenti passaggi:

  1. Configura Storage Intelligence.

  2. Determina il tipo di rilocalizzazione del bucket per capire se è necessario un tempo di inattività per la scrittura.

  3. Se la rilocalizzazione del bucket comporta tempi di inattività di scrittura, attiva l'eliminazione temporanea.

  4. Controlla le quote e i limiti per verificare che la nuova località abbia quote sufficienti per ospitare i dati del bucket.

  5. Esamina le limitazioni relative alla rilocalizzazione dei bucket.

  6. Rimuovi eventuali tag bucket esistenti.

  7. Se utilizzi i report sull'inventario, salva le configurazioni.

  8. Ottieni i ruoli richiesti, descritti nella sezione seguente.

Ottieni i ruoli richiesti

Per ottenere le autorizzazioni necessarie per trasferire i bucket, chiedi all'amministratore di concederti il ruolo IAM Storage Admin (roles/storage.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per riassegnare i bucket. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per trasferire i bucket sono necessarie le seguenti autorizzazioni:

  • Per spostare un bucket: storage.buckets.relocate
  • Per visualizzare lo stato di un'operazione di rilocalizzazione dei bucket: storage.bucketOperations.get
  • Per visualizzare l'elenco delle operazioni di rilocalizzazione dei bucket per un progetto: storage.bucketOperations.list
  • Per annullare un'operazione di rilocalizzazione dei bucket: storage.bucketOperations.cancel
  • Per visualizzare i metadati di un bucket durante le fasi di dry run e rilocalizzazione dei bucket: storage.buckets.get
  • Per ottenere un oggetto in un bucket che vuoi trasferire: storage.objects.get
  • Per elencare gli oggetti in un bucket che vuoi trasferire: storage.objects.list

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Sposta i bucket

Questa sezione descrive la procedura per spostare i bucket Cloud Storage da una località a un'altra.

Per spostare un bucket, completa i seguenti passaggi:

  1. (Facoltativo) Testa la rilocalizzazione dei bucket con un dry run

  2. Avvia la procedura di rilocalizzazione dei bucket

  3. Avvia la fase di sincronizzazione finale

Per saperne di più su questi passaggi, consulta Informazioni sul processo di rilocalizzazione dei bucket.

(Facoltativo) Testa la rilocalizzazione dei bucket con una dry run

Per ridurre al minimo i potenziali problemi durante la procedura di rilocalizzazione dei bucket, ti consigliamo di eseguire un dry run per testare la procedura end-to-end. Una prova dry run simula il processo di rilocalizzazione dei bucket senza spostare i dati, aiutandoti a rilevare e risolvere i problemi in anticipo. Il dry run verifica le seguenti incompatibilità:

Sebbene un dry run non possa identificare tutti i possibili problemi, poiché alcuni potrebbero emergere solo durante la migrazione live a causa di fattori come la disponibilità delle risorse in tempo reale, riduce il rischio di dover affrontare problemi che richiedono molto tempo durante la migrazione effettiva.

Console

  1. Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket che vuoi trasferire.
  3. Nella pagina Dettagli bucket, fai clic sulla scheda Configurazione.
  4. Nella sezione Panoramica, fai clic su Modifica accanto al campo Posizione.
  5. Nella pagina Sposta bucket, inserisci la nuova località del bucket. Dopo ogni passaggio riportato di seguito, fai clic su Continua per procedere con il passaggio successivo:
    1. Nella sezione Conferma il bucket che prevedi di spostare, controlla il bucket e la relativa posizione.
    2. Nella sezione Prima di continuare, esamina le configurazioni che bloccano la rilocazione. Se una limitazione si applica al tuo bucket, valuta Storage Transfer Service come soluzione alternativa.
    3. Nella sezione Scegli dove spostare il bucket, segui questi passaggi:

      1. Seleziona un tipo di località.
      2. Seleziona una posizione in cui verranno archiviati i dati degli oggetti all'interno del bucket.

        In base alla località di origine e di destinazione, ti verrà comunicato se è necessario un tempo di inattività per la scrittura. Per informazioni sui tipi di spostamento e sui tempi di inattività, consulta Tipi di spostamento.

    4. Nella sezione Scegli come procedere, fai clic su Inizia con un dry run (opzione consigliata). Un dry run simula lo spostamento per identificare potenziali problemi senza spostare i dati.
    5. Fai clic su Continua.
  6. Fai clic su Avvia.
  7. Nella finestra di dialogo di conferma Inizia con un dry run, esamina il messaggio visualizzato e fai clic su Avvia dry run.

Dopo aver avviato un dry run, viene avviata un'operazione a lunga esecuzione. Puoi monitorare l'avanzamento nella scheda Operazioni della pagina Dettagli bucket.

Riga di comando

Per avviare un dry run, esegui il comando gcloud storage buckets relocate con il flag --dry-run:

gcloud storage buckets relocate gs://BUCKET_NAME --location=LOCATION --dry-run

Dove:

  • BUCKET_NAME è il nome del bucket che vuoi trasferire.

  • LOCATION è la località di destinazione del bucket.

Dopo aver avviato un dry run, viene avviata un'operazione a lunga esecuzione. Riceverai un ID operazione e una descrizione dell'operazione. Monitora l'avanzamento e il completamento del dry run recuperando i dettagli dell'operazione a lunga esecuzione.

Se il test dry run rivela problemi, risolvili prima di procedere con il passaggio di trasferimento.

API JSON

  1. Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Crea un file JSON contenente le impostazioni del bucket, che deve includere i parametri destinationLocation e validateOnly. Consulta la documentazione di Buckets: relocate per un elenco completo delle impostazioni. Di seguito sono riportate le impostazioni comuni da includere:

    {
      "destinationLocation": "DESTINATION_LOCATION",
      "destinationCustomPlacementConfig": {
        "dataLocations": [
          LOCATIONS,
            ...
            ]
        },
      "validateOnly": "true"
      }

    Dove:

    • DESTINATION_LOCATION è la posizione di destinazione del bucket.
    • LOCATIONS è un elenco di codici di località da utilizzare per la configurabile a due regioni.
    • validateOnly è impostato su true per eseguire un dry run.
  3. Utilizza cURL per chiamare l'API JSON:

    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"

    Dove:

    • JSON_FILE_NAME è il nome del file JSON che hai creato.
    • BUCKET_NAME è il nome del bucket che vuoi trasferire.

    Dopo aver avviato un dry run, viene avviata un'operazione a lunga esecuzione. Il dry run ha esito positivo quando vengono soddisfatte le seguenti condizioni:

    • Il dry run non segnala errori.
    • La risorsa operations restituisce un valore del campo done pari a true.

      {
      "kind": "storage#operation",
      "name": "projects/_/buckets/bucket/operations/operation_id",
      "metadata": {
        "@type": OperationMetadataType*,
        metadata OperationMetadata*
      },
      "done": "true",
      "response": {
            "@type": ResponseResourceType*,
            response ResponseResource*
          }
        }

      Se il dry run rivela problemi, risolvili prima di procedere con il passaggio Avvia la rilocazione.

Avvia la rilocalizzazione del bucket

Console

  1. Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket da spostare.
  3. Nella pagina Dettagli bucket, fai clic sulla scheda Configurazione.
  4. Nella sezione Panoramica, fai clic su Modifica accanto al campo Posizione.
  5. Nella pagina Sposta bucket, inserisci la nuova località del bucket. Dopo ogni passaggio riportato di seguito, fai clic su Continua per procedere con il passaggio successivo:
    1. Nella sezione Conferma il bucket che prevedi di spostare, controlla il bucket e la relativa posizione.
    2. Nella sezione Prima di continuare, esamina le configurazioni che bloccano la rilocazione. Se una limitazione si applica al tuo bucket, valuta Storage Transfer Service come soluzione alternativa.
    3. Nella sezione Scegli dove spostare il bucket, segui questi passaggi:

      1. Seleziona un tipo di località.
      2. Seleziona una località in cui verranno archiviati i dati degli oggetti all'interno del bucket.

        In base alla posizione di origine e di destinazione, ti verrà comunicato se è necessario un tempo di inattività per la scrittura. Per informazioni sui tipi di spostamento e sul tempo di inattività, vedi Tipi di spostamento.

    4. Nella sezione Scegli come procedere, fai clic su Sposta ora.
    5. Fai clic su Continua.
  6. Per avviare la procedura di trasferimento, fai clic su Avvia.
  7. Nella finestra di dialogo di conferma Sposta ora, esamina il messaggio visualizzato e fai clic su Avvia spostamento.

Dopo aver avviato la procedura di trasferimento, viene avviata un'operazione a lunga esecuzione. Puoi monitorare l'avanzamento nella scheda Operazioni della pagina Dettagli bucket.

Riga di comando

Per avviare la rilocalizzazione del bucket, esegui il comando gcloud storage buckets relocate:

gcloud storage buckets relocate gs://BUCKET_NAME --location=LOCATION

Dove:

  • BUCKET_NAME è il nome del bucket che vuoi trasferire.

  • LOCATION è la posizione di destinazione del bucket.

API JSON

  1. Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Crea un file JSON contenente le impostazioni del bucket. Consulta la documentazione Buckets: relocate per un elenco completo delle impostazioni. Di seguito sono riportate le impostazioni comuni da includere:

    {
      "destinationLocation": "DESTINATION_LOCATION",
      "destinationCustomPlacementConfig": {
      "dataLocations": [
        LOCATIONS,
        ...
        ]
        },
      "validateOnly": "false"
      }

    Dove:

    • DESTINATION_LOCATION è la località di destinazione del bucket.
    • LOCATIONS è un elenco di codici di località da utilizzare per la doppia regione configurabile.
    • validateOnly è impostato su false per avviare la rilocalizzazione dei bucket.
  3. Utilizza cURL per chiamare l'API JSON:

    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"

    Dove:

    • JSON_FILE_NAME è il nome del file JSON che hai creato.
    • BUCKET_NAME è il nome del bucket che vuoi trasferire.

Monitorare la procedura di trasferimento

Console

Per monitorare l'avanzamento della prova dry run o della procedura di trasferimento, completa i seguenti passaggi:

  1. Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket che stai spostando.

  3. Nella pagina Dettagli bucket, fai clic sulla scheda Operazioni.

  4. Nell'elenco delle operazioni sui bucket visualizzate, fai clic sul dry run o sull'operazione di rilocazione per visualizzarne i dettagli.

La pagina dei dettagli dell'operazione mostra il riepilogo della rilocazione, le metriche chiave e un riepilogo degli errori.

Riga di comando

Dopo aver avviato il trasferimento di un bucket, viene avviata un'operazione a lunga esecuzione. Riceverai un ID operazione e una descrizione dell'operazione. Monitora l'avanzamento e il completamento della procedura di riposizionamento ottenendo i dettagli dell'operazione a lunga esecuzione.

API JSON

La rilocalizzazione dei bucket è un'operazione a lunga esecuzione che richiede il monitoraggio. Per controllare lo stato della procedura, rivedi regolarmente i dettagli dell'operazione a lunga esecuzione. Per informazioni su come controllare lo stato del processo di trasferimento, consulta Visualizza i dettagli di un'operazione a lunga esecuzione.

L'esempio seguente mostra l'output generato da un'operazione di rilocazione:

  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

La seguente tabella fornisce informazioni sui campi chiave nell'output generato dall'operazione di rilocazione:

Nome campo Descrizione Valori possibili
done Indica il completamento dell'operazione di rilocalizzazione dei bucket. true, false
kind Indica che questa risorsa rappresenta un'operazione di archiviazione.
metadata Fornisce informazioni sull'operazione.
metadata.@type Indica il tipo di operazione come rilocalizzazione del bucket.
metadata.commonMetadata Metadati comuni a tutte le operazioni.
metadata.commonMetadata.createTime L'ora in cui è stata creata l'operazione a lunga esecuzione.
metadata.commonMetadata.endTime L'ora in cui è terminata l'operazione a lunga esecuzione.
metadata.commonMetadata.progressPercent L'avanzamento stimato dell'operazione a lunga esecuzione, in percentuale. Tra 0 e 100%. Un valore di -1 indica che lo stato di avanzamento è sconosciuto o non applicabile.
metadata.commonMetadata.requestedCancellation Indica se l'utente ha richiesto l'annullamento dell'operazione a lunga esecuzione. true, false
metadata.commonMetadata.type Indica il tipo di operazione a lunga esecuzione.
metadata.commonMetadata.updateTime L'ora dell'ultimo aggiornamento dell'operazione a lunga esecuzione.
metadata.destinationLocation La località di destinazione del bucket.
metadata.finalizationState Indica l'idoneità per l'avvio del passaggio di sincronizzazione finale.
  • READY: indica che puoi avviare il passaggio di sincronizzazione finale. Tuttavia, ti consigliamo di attendere che il valore del campo progressPercent raggiunga 99.
  • WAITING_ON_SYNC: indica che non puoi avviare la fase di sincronizzazione finale.
  • NOT_REQUIRED: indica che il passaggio di sincronizzazione finale non è necessario per questo bucket e puoi saltarlo.
  • BLOCKED_ON_ERRORS: indica che il passaggio di finalizzazione è temporaneamente in pausa a causa di errori. Per procedere con il passaggio, devi risolvere gli errori.
  • RUNNING: indica che la fase di finalizzazione è in corso.
  • FINALIZED: indica che il passaggio di finalizzazione è stato completato correttamente.
metadata.progress Dettagli sull'avanzamento dell'operazione di rilocazione.
metadata.progress.byteProgressPercent Avanzamento dei byte copiati in percentuale. Tra 0 e 100%. Un valore pari a -1 indica che lo stato di avanzamento è sconosciuto o non applicabile.
metadata.progress.discoveredBytes Numero di byte rilevati nel bucket di origine.
metadata.progress.discoveredObjectCount Numero di oggetti rilevati nel bucket di origine.
metadata.progress.discoveredSyncCount Numero di aggiornamenti dei metadati degli oggetti rilevati nel bucket di origine.
metadata.progress.objectProgressPercent Avanzamento degli oggetti copiati in percentuale. Tra 0 e 100%. Un valore di -1 indica che lo stato di avanzamento è sconosciuto o non applicabile.
metadata.progress.remainingBytes Numero di byte rimanenti da copiare dal bucket di origine al bucket di destinazione.
metadata.progress.remainingObjectCount Numero di oggetti rimanenti da copiare dal bucket di origine al bucket di destinazione.
metadata.progress.remainingSyncCount Numero di aggiornamenti dei metadati degli oggetti rimanenti da sincronizzare.
metadata.progress.syncProgressPercent Avanzamento degli aggiornamenti dei metadati degli oggetti da sincronizzare in percentuale. Tra 0 e 100%. Un valore pari a -1 indica che lo stato di avanzamento è sconosciuto o non applicabile.
metadata.relocationState Stato complessivo dell'operazione di rilocalizzazione del bucket.
  • SYNCING: indica che il passaggio di rilocalizzazione del bucket sta copiando attivamente gli oggetti dal bucket di origine al bucket di destinazione.
  • FINALIZING: indica che è stato avviato il passaggio di finalizzazione.
  • FAILED: indica che il passaggio di rilocalizzazione dei bucket ha rilevato un errore e non è stato completato correttamente.
  • SUCCEEDED: indica che il passaggio di rilocalizzazione dei bucket è stato completato correttamente.
  • CANCELLED: indica che il passaggio di rilocalizzazione dei bucket è stato annullato.
metadata.sourceLocation La posizione di origine del bucket.
metadata.validateOnly Indica se è stato avviato un dry run della rilocalizzazione dei bucket. true, false
metadata.estimatedWriteDowntimeDuration La durata stimata del tempo di inattività in scrittura, compilata quando finalizationState è READY. Il valore minimo è 7200s.
metadata.writeDowntimeExpireTime L'ora in cui scade il tempo di inattività in scrittura.
name L'identificatore univoco di questa operazione di trasferimento.
Formato: projects/_/buckets/bucket-name/operations/operation-id
response La risposta dell'operazione.
response.@type Il tipo di risposta.
selfLink Un link a questa operazione.

Se riscontri problemi durante l'interazione con altre funzionalità di Cloud Storage, consulta Limitazioni.

Avviare il passaggio di sincronizzazione finale

Per i trasferimenti che richiedono un tempo di inattività in scrittura, devi avviare la sincronizzazione finale. Il passaggio di sincronizzazione finale prevede un periodo in cui non puoi eseguire operazioni di scrittura sul bucket. Ti consigliamo di pianificare la fase di sincronizzazione finale in un momento che riduca al minimo le interruzioni delle tue applicazioni.

Console

Per avviare il passaggio di sincronizzazione finale, completa i seguenti passaggi:

  1. Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket che stai trasferendo.

  3. Nella pagina Dettagli bucket, fai clic sulla scheda Operazioni.

  4. Nell'elenco delle operazioni del bucket, fai clic sull'operazione di trasferimento per visualizzare la pagina dei dettagli dell'operazione. Nella pagina dei dettagli dell'operazione, quando la copia dei dati è completa almeno al 99%, viene visualizzata una barra dei messaggi che indica che è il momento ottimale per avviare la sincronizzazione finale.

  5. (Facoltativo) Per impostare il tempo di inattività massimo consentito per la scrittura, fai clic su Imposta il tempo di inattività massimo consentito (TTL) e specifica la durata massima del tempo di inattività.

  6. Fai clic su Avvia sincronizzazione finale.

  7. Nella finestra di dialogo di conferma visualizzata, fai clic su Avvia per iniziare la sincronizzazione finale.

La pagina dei dettagli dell'operazione mostra il riepilogo della rilocazione, le metriche chiave e un riepilogo degli errori.

Riga di comando

Prima di procedere, verifica che il bucket sia completamente preparato controllando il valore finalizationState nell'output del passaggio Avvia la rilocalizzazione del bucket.

Quando il valore finalizationState è READY, esegui il comando gcloud storage buckets relocate per avviare la sincronizzazione finale:

gcloud storage buckets relocate --finalize --operation=projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID

Dove:

  • BUCKET_NAME è il nome del bucket che vuoi trasferire.
  • OPERATION_ID è l'ID dell'operazione a lunga esecuzione di rilocalizzazione del bucket, che viene restituito nella risposta dei metodi che chiami. Ad esempio, la seguente risposta viene restituita dalla chiamata di gcloud storage operations list e l'ID operazione a lunga esecuzione è AbCJYd8jKT1n-Ciw1LCNXIcubwvij_TdqO-ZFjuF2YntK0r74.
 `name: projects/_/buckets/my-bucket/operations/AbCJYd8jKT1n-Ciw1LCNXIcubwvij_TdqO-ZFjuF2YntK0r74` 

Imposta il flag ttl per avere un maggiore controllo sul processo di trasferimento. Ad esempio:

gcloud storage buckets relocate --finalize --ttl TTL_DURATION --operation=projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID

Dove:

TTL_DURATION è la durata (TTL) della fase di inattività di scrittura durante un processo di trasferimento. Viene espressa come una stringa, ad esempio 12h per 12 ore. TTL_DURATION determina la durata massima consentita per la fase di inattività in scrittura. Se il tempo di inattività in scrittura supera questo limite, il processo di rilocalizzazione torna automaticamente al passaggio di rilocalizzazione del bucket e le operazioni di scrittura nel bucket vengono riattivate. Il valore deve essere compreso tra 6h (6 ore) e 48h (48 ore). Se non specificato, il valore predefinito è 12h (12 ore).

API JSON

Prima di procedere, verifica che il bucket sia completamente preparato controllando il valore finalizationState nell'output del passaggio di rilocalizzazione dei bucket. Per procedere, il valore di finalizationState deve essere READY.

Se avvii il passaggio di sincronizzazione finale in anticipo, il comando restituisce un messaggio di errore The relocate bucket operation isn't ready to advance to finalization running state, ma il processo di trasferimento continua.

Ti consigliamo di attendere che il valore progressPercent sia 99 prima di avviare il passaggio di sincronizzazione finale.

  1. Avere gcloud CLI installata e inizializzata, il che ti consente di generare un token di accesso per l'intestazione Authorization.

  2. Crea un file JSON contenente le impostazioni per la rilocalizzazione dei bucket. Consulta la documentazione di Buckets: advanceRelocateBucket per un elenco completo delle impostazioni. Di seguito sono riportate le impostazioni comuni da includere:

    {
    "expireTime": "EXPIRE_TIME",
    "ttl": "TTL_DURATION"
    }

    Dove:

    • EXPIRE_TIME è l'ora di scadenza del tempo di inattività in scrittura.
    • TTL_DURATION è la durata (TTL) della fase di downtime di scrittura durante un processo di trasferimento. Viene espressa come stringa, ad esempio 12h per 12 ore. Il TTL_DURATION determina la durata massima consentita per la fase di inattività in scrittura. Se il tempo di inattività in scrittura supera questo limite, il processo di rilocalizzazione torna automaticamente al passaggio di rilocalizzazione del bucket e le operazioni di scrittura nel bucket vengono riattivate. Il valore deve essere compreso tra 6h (6 ore) e 48h (48 ore). Se non specificato, il valore predefinito è 12h (12 ore).
  3. Utilizza cURL per chiamare l'API JSON:

    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"

    Dove:

    • JSON_FILE_NAME è il nome del file JSON che hai creato.
    • BUCKET_NAME è il nome del bucket che vuoi trasferire.
    • OPERATION_ID è l'ID dell'operazione a lunga esecuzione che ha avviato il trasferimento del bucket. Per ottenere l'elenco degli ID delle operazione a lunga esecuzione per un bucket, consulta Operazioni: elenco.

Convalida il processo di rilocalizzazione dei bucket

Dopo aver avviato un trasferimento, verifica che sia stato completato correttamente. Questa sezione fornisce indicazioni su come confermare il trasferimento dei dati.

Convalida l'esito positivo del processo di trasferimento utilizzando i seguenti metodi:

  • Esegui il polling delle operazioni a lunga esecuzione: la rilocalizzazione dei bucket è un'operazione a lunga esecuzione. Puoi eseguire il polling dell'operazione a lunga esecuzione utilizzando operation id per monitorare l'avanzamento dell'operazione e confermarne il completamento corretto verificando lo stato success. Ciò comporta l'esecuzione periodica di query sullo stato dell'operazione fino a quando non raggiunge uno stato terminale. Per informazioni sul monitoraggio delle operazioni a lunga esecuzione, consulta Utilizza le operazioni a lunga esecuzione in Cloud Storage.

  • Analizza le voci di Cloud Audit Logs: Cloud Audit Logs fornisce un record dettagliato degli eventi e delle operazioni nel tuo ambiente Google Cloud . Puoi analizzare le voci di Cloud Audit Logs associate alla rilocazione per convalidarne l'esito positivo. Analizza i log per individuare eventuali errori, avvisi o comportamenti imprevisti che potrebbero indicare problemi durante il trasferimento. Per informazioni sulla visualizzazione dei log di Cloud Audit Logs, consulta Visualizzazione dei log di audit.

    Le seguenti voci di log ti aiutano a determinare se il trasferimento è riuscito o meno:

    • Rilocazione riuscita: Relocate bucket succeeded. All existing objects are now in the new placement configuration.

    • Rilocazione non riuscita: Relocate bucket has failed. Bucket location remains unchanged.

    Utilizzando le notifiche Pub/Sub, puoi anche configurare avvisi che ti informano quando l'evento specifico di esito positivo o negativo viene visualizzato nei log. Per informazioni sulla configurazione delle notifiche Pub/Sub, consulta Configurare le notifiche Pub/Sub per Cloud Storage.

Completa le attività successive alla rilocalizzazione dei bucket

Dopo aver trasferito correttamente il bucket, completa i seguenti passaggi:

  1. (Facoltativo) Ripristina i controlli dell'accesso basati su tag sul bucket.
  2. Le configurazioni esistenti del report sull'inventario non vengono mantenute durante la procedura di trasferimento e dovrai ricrearle manualmente. Per informazioni sulla creazione di una configurazione di report sull'inventario, consulta Crea una configurazione di report sull'inventario.
  3. Aggiorna le configurazioni di infrastructure as code, come Terraform e il connettore di configurazione di Google Kubernetes Engine, per specificare la nuova località del bucket.
  4. Gli endpoint regionali sono associati a località specifiche e dovrai modificare il codice dell'applicazione per riflettere il nuovo endpoint.

Come gestire le operazioni di rilocalizzazione dei bucket non riuscite

Prima di gestire le operazioni di rilocalizzazione dei bucket non riuscite, tieni presente i seguenti fattori:

  • Una rilocalizzazione dei bucket non riuscita potrebbe lasciare risorse obsolete, come file temporanei o copie di dati incomplete, nella destinazione. Devi attendere da 7 a 14 giorni prima di avviare un'altra rilocalizzazione dei bucket nella stessa destinazione. Puoi avviare immediatamente il riposizionamento di un bucket in una destinazione diversa.

  • Se la località di destinazione non è quella ottimale per i tuoi dati, potresti voler eseguire il rollback della rilocazione. Tuttavia, non puoi avviare un trasferimento immediatamente. È necessario un periodo di attesa di 7-14 giorni prima di poter avviare un trasferimento alla località di origine iniziale per mantenere la stabilità ed evitare conflitti di dati.

Passaggi successivi