Questo documento descrive il servizio di riposizionamento dei bucket Cloud Storage che sposta i bucket senza server tra posizioni geografiche. Utilizzando il trasferimento dei bucket, puoi spostare un bucket esistente da una posizione a un'altra senza modificarne il nome o richiedere il trasferimento manuale dei dati all'interno del bucket.
In base ai tuoi obiettivi e all'utilizzo dei bucket, dovrai pianificare attentamente lo spostamento del bucket per ridurre al minimo le interruzioni e spostarlo correttamente. Per saperne di più su come spostare i bucket, consulta Spostare i bucket.
Vantaggi
I vantaggi dello spostamento dei bucket sono i seguenti:
Migrazione semplificata: puoi trasferire i bucket con un sovraccarico operativo minimo. Non sono necessari script complessi o processi in più passaggi.
Funzionamento continuo: le tue applicazioni rimangono accessibili durante tutto il processo di trasferimento, senza tempi di inattività per le operazioni di lettura e con tempi di inattività minimi per le operazioni di scrittura.
Prestazioni migliorate: la co-location delle risorse Compute Engine e Cloud Storage all'interno della stessa regione può ridurre la latenza e migliorare le prestazioni.
Conservazione dei metadati: il processo di trasferimento dei bucket mantiene i metadati degli oggetti. La conservazione dei metadati dell'oggetto garantisce la compatibilità con le applicazioni e i flussi di lavoro esistenti dopo lo spostamento del bucket.
Configurazioni delle classi di archiviazione: puoi mantenere le impostazioni esistenti della classe di archiviazione Cloud Storage, inclusa Autoclass. Il mantenimento della classe di archiviazione garantisce che la struttura dei costi rimanga coerente dopo il trasferimento.
Casi d'uso
Di seguito sono riportati i casi d'uso che puoi ottenere riassegnando i bucket:
Riduci i costi di trasferimento dei dati: evita i costi di trasferimento dei dati spostando il bucket più vicino ai carichi di lavoro che accedono ai dati del bucket. Ad esempio, se i tuoi dati sono archiviati negli Stati Uniti e vi si accede principalmente dall'Europa, puoi spostare il bucket in una località europea per ridurre i costi di trasferimento dei dati.
Migliora il rendimento: migliora la velocità e la risposta della tua applicazione spostando i dati più vicino ai tuoi carichi di lavoro Compute Engine. Ad esempio, se la tua applicazione viene eseguita in
us-central1
, ma i tuoi dati si trovano inasia-east1
, puoi spostare il bucket inus-central1
per ridurre la latenza.Migliora la resilienza: proteggi i tuoi dati critici dalle interruzioni regionali. Ad esempio, se i dati sono archiviati in una singola regione, puoi spostarli in una regione doppia o multiregionale per una maggiore disponibilità e ripristino di emergenza.
Tipi di trasferimento
Esistono due tipi di riassegnazione dei bucket:
Spostamento dei bucket con tempi di inattività di scrittura: nello spostamento dei bucket con tempi di inattività di scrittura, c'è un periodo in cui non puoi eseguire operazioni di scrittura degli oggetti durante la procedura di spostamento dei bucket.
Rilocazione del bucket senza tempi di inattività di scrittura: nella rilocazione del bucket senza tempi di inattività di scrittura, puoi continuare a eseguire operazioni di scrittura degli oggetti senza interruzioni mentre la rilocazione del bucket avviene in background.
Le posizioni di origine e di destinazione del bucket determinano se il trasferimento di un bucket comporta tempi di inattività di scrittura. La seguente tabella mostra in che modo la posizione del bucket influisce sui tempi di inattività di scrittura durante un trasferimento, incluse le differenze tra i trasferimenti con e senza tempi di inattività.
Specifica | Spostamento dei bucket con tempi di inattività di scrittura | Spostamento dei bucket senza tempi di inattività di scrittura |
---|---|---|
Località bucket | Lo spostamento di un bucket tra le seguenti posizioni causa tempi di inattività:
|
Il trasferimento di un bucket tra le seguenti località non causa tempi di inattività se le due località condividono lo stesso codice multiregionale:
|
Disponibilità di scrittura | Non puoi eseguire operazioni di scrittura durante l'ultimo passaggio di sincronizzazione. | Le operazioni di scrittura continuano senza interruzioni durante il trasferimento. Nota: le modifiche alle norme senza tempi di inattività per la scrittura richiedono almeno sette giorni per essere completate, perché devono attendere il completamento dei caricamenti ripresi in corso. |
Coinvolgimento degli utenti | Devi avviare il passaggio di finalizzazione del tempo di inattività in scrittura. | Non è richiesto alcun passaggio di finalizzazione esplicito. |
Impatto sulle prestazioni | Non puoi scrivere o aggiornare oggetti nel bucket durante il passaggio di sincronizzazione finale. | La latenza di lettura e scrittura degli oggetti potrebbe aumentare durante il trasferimento. |
Annullamento dello spostamento dei bucket | Più veloce dei trasferimenti senza tempi di inattività di scrittura. | L'annullamento non è istantaneo e potrebbe richiedere più tempo a causa della necessità di riempire gli oggetti. |
Funzionalità supportate | Offre un supporto delle funzionalità inferiore rispetto ai trasferimenti senza tempi di inattività di scrittura. Per ulteriori informazioni sulle funzionalità non supportate, vedi Funzionalità non supportate. | Esistono limitazioni per funzionalità come caricamenti in più parti, norme di conservazione, Firebase e appspot. Per ulteriori informazioni su queste limitazioni, vedi Limitazioni. |
Durata minima del trasferimento | Nessuno | Sette giorni |
Informazioni sul processo di spostamento dei bucket
Il trasferimento dei bucket consente di spostare i dati da un bucket di origine a un bucket di destinazione. Il bucket di origine contiene i dati che vuoi spostare, mentre il bucket di destinazione è la posizione in cui vuoi spostare i dati.
Il seguente diagramma mostra il flusso della procedura di trasferimento dei bucket:

* La sincronizzazione finale è necessaria solo per i trasferimenti con tempi di inattività di scrittura.
La tabella seguente elenca i tre passaggi principali e la descrizione di ciascuno:
Passaggio | Descrizione |
---|---|
Simula il processo di trasferimento del bucket per identificare potenziali problemi prima dell'inizio del trasferimento effettivo dei dati. |
|
Copia i dati dal bucket di origine al bucket di destinazione. I metadati del bucket sono protetti in scrittura per impedire modifiche al bucket che potrebbero influire sul processo di trasferimento. Tuttavia, puoi scrivere, modificare ed eliminare oggetti nel bucket. I fattori che influenzano la durata sono i seguenti:
|
|
Avvia
il passaggio di sincronizzazione finale | Una volta avviata la sincronizzazione finale, il bucket viene bloccato in scrittura. Di conseguenza, non puoi scrivere o aggiornare alcun oggetto all'interno del bucket durante questo periodo, evitando incoerenze nei dati. Tuttavia, puoi continuare a leggere dal bucket. Una volta trasferiti e verificati tutti i dati e quando il bucket è operativo nella nuova posizione, il blocco in scrittura viene rimosso automaticamente. Puoi quindi riprendere a scrivere e aggiornare gli oggetti nel bucket. |
Limitazioni
Il servizio di trasferimento dei bucket supporta fino a cinque trasferimenti simultanei dalla stessa località all'interno di un progetto.
Le sezioni seguenti descrivono le limitazioni che si applicano ai trasferimenti con tempi di inattività in scrittura e senza tempi di inattività in scrittura.
Rilocazione con limitazioni dei tempi di inattività di scrittura
La ricollocazione con tempi di inattività per la scrittura presenta le limitazioni elencate nelle sezioni seguenti.
Limitazioni alla gestione dei dati
Di seguito sono riportate le limitazioni relative alla gestione dei dati durante il trasferimento:
Interruzione della tabella: le tabelle esterne BigLake e le tabelle BigQuery che utilizzano Apache Iceberg verranno interrotte e richiedono una ricreazione manuale. Il rilevamento automatico delle tabelle interessate non è disponibile.
Gestione degli oggetti Autoclass: Autoclass utilizza i pattern di accesso per determinare quando trasferire gli oggetti a classi di archiviazione ad accesso meno frequente. Durante la sincronizzazione finale del processo di trasferimento del bucket, Autoclass viene messo in pausa e gli oggetti non vengono trasferiti alle classi di archiviazione ad accesso meno frequente. Una volta completata la sincronizzazione finale, Autoclass riprende.
Gli oggetti in una classe di archiviazione Standard vengono gestiti nel seguente modo:
- Gli oggetti della classe di archiviazione Standard hanno un periodo di mancato accesso di 30 giorni prima di poter essere trasferiti a una classe ad accesso meno frequente come Nearline Storage. Quando un oggetto nella classe di archiviazione Standard viene spostato durante il trasferimento, viene trattato come se fosse stato eseguito l'accesso. Di conseguenza, la procedura di trasferimento reimposta il periodo di non accesso e, anche se un oggetto era vicino al trasferimento all'archiviazione Nearline prima dello spostamento, deve attendere altri 30 giorni dopo il completamento del trasferimento.
Gli oggetti in una classe di archiviazione non standard vengono gestiti nel seguente modo:
Lo spostamento di oggetti nelle classi di archiviazione Nearline Storage, Coldline Storage o Archive Storage non viene conteggiato come accesso. Di conseguenza, il periodo di non accesso per questi oggetti non è interessato.
Quando sposti un bucket, se accedi spesso a oggetti in bucket con una classe di archiviazione non Standard, ad esempio Nearline Storage, Coldline Storage o Archive Storage, il bucket non passa automaticamente a una classe di archiviazione ad accesso più frequente. Ad esempio, il bucket non passa automaticamente dall'archiviazione Archive all'archiviazione Coldline o dall'archiviazione Coldline a un'archiviazione Standard, anche se gli oggetti sono accessibili di frequente. Questo comportamento impedisce le transizioni automatiche delle classi di archiviazione durante il trasferimento.
Se è stato pianificato il trasferimento di un oggetto a una classe di archiviazione ad accesso meno frequente, ad esempio da Nearline Storage a Coldline Storage, il processo di trasferimento non interferirà con la pianificazione. La transizione procede come previsto al termine del trasferimento.
Limite di dimensioni degli oggetti: si applica un limite di 2 TB alle dimensioni degli oggetti per il trasferimento.
Caricamenti multiparte
I caricamenti multiparte non sono supportati per il trasferimento dei bucket con tempi di inattività di scrittura, indipendentemente dal loro stato (completato, in corso o avviato durante il trasferimento). Se hai completato i caricamenti multiparte nel bucket che vuoi
spostare, devi ricaricare gli oggetti senza utilizzare metodi multiparte ed
eliminare i caricamenti multiparte, altrimenti lo spostamento non va a buon fine. Se carichi
oggetti utilizzando caricamenti in più parti durante il trasferimento del bucket con tempi di inattività di scrittura,
si verifica un errore FAILED_PRECONDITION
.
Funzionalità non supportate
I bucket che utilizzano le seguenti funzionalità non possono essere trasferiti:
Chiavi di crittografia gestite dal cliente (CMEK) o chiavi di crittografia fornite dal cliente (CSEK).
Criteri di conservazione bloccati.
Oggetti con blocchi temporanei.
Bucket con lo spazio dei nomi gerarchico abilitato.
Tag. L'aggiunta di tag durante il trasferimento non è consigliata perché causa l'interruzione del processo di trasferimento.
Disattiva Anywhere Cache. Anche se Anywhere Cache può essere abilitato durante il passaggio di copia incrementale dei dati, impedisce il completamento del passaggio di sincronizzazione finale.
Bucket Appspot. Valuta la possibilità di eseguire la migrazione di Container Registry ad Artifact Registry come soluzione alternativa per i bucket predefiniti creati da App Engine.
Bucket Firebase. Non puoi spostare i bucket associati a Firebase.
Limitazioni operative
Il trasferimento del bucket con tempi di inattività di scrittura presenta le seguenti limitazioni operative:
Limitazione del progetto: non puoi spostare i bucket tra i progetti.
Caricamenti ripristinabili: i caricamenti ripristinabili in corso devono essere completati prima del passaggio di sincronizzazione finale per evitare la perdita di dati.
Aggiornamenti dei metadati: non puoi aggiornare i metadati di un bucket durante il trasferimento.
Aumento graduale della frequenza delle richieste: i bucket ricollocati sono soggetti alle stesse linee guida per l'aumento graduale della frequenza delle richieste dei bucket appena creati.
Rilocazione senza limitazioni dei tempi di inattività di scrittura
Lo spostamento dei bucket senza tempi di inattività di scrittura presenta le seguenti limitazioni:
Criteri di conservazione: tutti i criteri di conservazione devono essere sbloccati prima del trasferimento.
Bucket Firebase e Appspot: il trasferimento non è supportato per i bucket associati a Firebase o Appspot.
Aggiornamenti sullo stato di avanzamento: gli aggiornamenti sullo stato di avanzamento del trasferimento potrebbero non essere lineari.
Caricamenti multiparte: durante il trasferimento del bucket sono supportati solo i caricamenti multiparte completati. I caricamenti multiparte in corso non sono supportati per gli oggetti durante il trasferimento del bucket e devono essere completati o annullati prima del trasferimento del bucket. Devi ricaricare gli oggetti senza utilizzare metodi multipart. Se carichi oggetti utilizzando caricamenti in più parti durante il trasferimento del bucket, si verifica un errore
FAILED_PRECONDITION
.
Località non supportate
Il trasferimento dei bucket non è supportato per i bucket di origine e di destinazione nelle seguenti località:
Tipo di località | Località non supportate |
---|---|
Regioni |
|
Regioni doppie predefinite |
|
Prezzi
Per informazioni dettagliate sui prezzi associati al trasferimento dei bucket, consulta la pagina Prezzi di Cloud Storage.
Passaggi successivi
- Scopri come pianificare lo spostamento di un bucket.
- Scopri come spostare i bucket.