Panoramica dell'eliminazione temporanea

Configurare l'utilizzo

L'eliminazione temporanea contribuisce a proteggere i dati di Cloud Storage nel caso in cui un oggetto o un bucket venga eliminato accidentalmente o in modo dannoso. La funzionalità di eliminazione temporanea conserva gli oggetti e i bucket eliminati o sovrascritti mantenendoli in uno stato di eliminazione temporanea per un periodo di tempo specificato. Durante questo periodo, l'oggetto o il bucket non può essere eliminato definitivamente e può essere ripristinato.

L'eliminazione temporanea è abilitata per impostazione predefinita per tutti i bucket che la supportano, con una durata di conservazione predefinita di 7 giorni. Puoi impostare una durata di conservazione predefinita diversa utilizzando i tag.

Questa pagina descrive il funzionamento dell'eliminazione temporanea.

Policy di eliminazione temporanea

Quando l'eliminazione temporanea è abilitata su un bucket, l'eliminazione del bucket o degli oggetti al suo interno comporta l'inserimento della risorsa in uno stato di eliminazione temporanea anziché l'eliminazione definitiva. Per abilitare l'eliminazione temporanea su un bucket, imposta una policy di eliminazione temporanea che definisce per quanto tempo vengono conservate le risorse eliminate temporaneamente.

Le policy di eliminazione temporanea funzionano nei seguenti modi:

  • La policy di eliminazione temporanea include una durata di conservazione che definisce per quanto tempo le risorse eliminate temporaneamente vengono conservate prima di essere eliminate definitivamente. La durata di conservazione predefinita è di 7 giorni e puoi personalizzarla in un intervallo compreso tra 7 e 90 giorni. Per disabilitare l'eliminazione temporanea, imposta la durata di conservazione su 0.

  • Una policy di eliminazione temporanea predefinita viene impostata automaticamente su tutti i bucket appena creati, ad eccezione dei bucket che utilizzano prodotti o funzionalità incompatibili con l'eliminazione temporanea (ad esempio i bucket zonali che utilizzano Rapid Bucket).

  • Puoi impostare, modificare o disabilitare una policy di eliminazione temporanea quando crei o aggiorni un bucket.

    Quando modifichi una policy di eliminazione temporanea, le modifiche apportate si applicano solo alle risorse eliminate dopo l'entrata in vigore della nuova policy. Le risorse eliminate prima dell'entrata in vigore della nuova policy vengono conservate per la durata di conservazione originale in vigore al momento dell'eliminazione della risorsa. In altre parole, le risorse eliminate temporaneamente esistenti continuano a rispettare il periodo di conservazione attivo al momento dell'eliminazione.

    Supponiamo, ad esempio, di impostare una policy di eliminazione temporanea su un bucket con una durata di conservazione di sette giorni. Elimini l'oggetto object-A.png, che viene eliminato temporaneamente. Poi modifichi la durata di conservazione della policy impostandola su 10 giorni ed elimini l'oggetto object-B.png, che viene eliminato temporaneamente. object-A.png verrà conservato per sette giorni nello stato di eliminazione temporanea, mentre object-B.png verrà conservato per 10 giorni.

    La propagazione delle modifiche al periodo di conservazione di una policy di eliminazione temporanea richiede fino a 30 secondi.

Per scoprire come impostare e gestire le policy di eliminazione temporanea sui bucket, consulta Impostare e gestire le policy di eliminazione temporanea.

Proprietà delle risorse eliminate temporaneamente

Quando un bucket o un oggetto viene eliminato in base a una policy di eliminazione temporanea attiva, la risorsa passa a uno stato di eliminazione temporanea. Puoi ripristinare le risorse eliminate temporaneamente durante la durata di conservazione.

Le risorse eliminate temporaneamente hanno le seguenti caratteristiche:

  • Gli oggetti e i bucket eliminati temporaneamente non possono essere letti, modificati o sovrascritti. Le uniche operazioni supportate sono l'elenco o il ripristino.

  • Per impostazione predefinita, le risorse eliminate temporaneamente sono nascoste dalle operazioni di elenco. Per visualizzare le risorse eliminate temporaneamente, devi specificare esplicitamente un flag o un filtro.

  • Non puoi modificare un bucket eliminato temporaneamente o elencarne i contenuti finché il bucket stesso non viene ripristinato. Il metodo utilizzato per ripristinare un bucket eliminato temporaneamente influisce sul ripristino degli oggetti nel bucket:

    • Puoi ripristinare un bucket eliminato temporaneamente e i relativi oggetti contemporaneamente utilizzando la console Google Cloud .

    • Il ripristino di un bucket utilizzando Google Cloud CLI o l'API JSON ripristina solo il bucket vuoto. Devi quindi ripristinare gli oggetti in un'operazione separata per recuperarne i contenuti.

  • Se il nome di un bucket viene utilizzato da un nuovo bucket attivo, non puoi ripristinare il bucket eliminato temporaneamente finché il bucket attivo in conflitto non viene rimosso.

  • Se il tuo Google Cloud progetto viene eliminato, non puoi utilizzare l'eliminazione temporanea per ripristinare i bucket o gli oggetti al suo interno, anche se l'eliminazione temporanea era abilitata.

  • Alcune funzionalità di Cloud Storage sono compatibili con le policy di eliminazione temporanea, ma non influiscono sugli oggetti eliminati temporaneamente. Esempi di queste funzionalità sono Autoclass, Gestione del ciclo di vita degli oggetti, Bucket Lock e Blocco della conservazione degli oggetti.

Per istruzioni sul ripristino di oggetti o bucket eliminati temporaneamente, consulta Ripristinare oggetti eliminati temporaneamente o Ripristinare bucket eliminati temporaneamente.

Ripristini di oggetti

Quando ripristini un oggetto eliminato temporaneamente, Cloud Storage crea una nuova copia attiva dell'oggetto nello stesso bucket. La versione originale eliminata temporaneamente rimane in background fino alla scadenza ufficiale del periodo di conservazione. Il seguente elenco descrive i comportamenti di ripristino principali:

  • Quando ripristini un oggetto, Cloud Storage genera una nuova versione dell'oggetto. Per saperne di più sulle versioni degli oggetti, consulta Immutabilità degli oggetti.

  • Se esiste già un oggetto attivo con lo stesso nome di un oggetto eliminato temporaneamente quando ripristini l'oggetto eliminato temporaneamente, l'oggetto ripristinato sovrascriverà la versione attiva esistente. L'oggetto sovrascritto che in precedenza era attivo viene quindi eliminato temporaneamente in automatico.

    In questo scenario specifico, il bucket conterrà due copie dell'oggetto ripristinato (una nuova copia attiva e la vecchia copia eliminata temporaneamente) insieme alla versione appena eliminata temporaneamente dell'oggetto sovrascritto.

  • Indipendentemente dal livello di archiviazione originale dell'oggetto o dalle impostazioni di Autoclass attive, tutti gli oggetti ripristinati vengono scritti nella classe di archiviazione Standard.

Metodi di ripristino degli oggetti

Puoi ripristinare gli oggetti eliminati temporaneamente utilizzando uno dei due percorsi di esecuzione, in base ai requisiti di scalabilità:

Ripristino di oggetti con percorsi duplicati

Sebbene sia raro, nei bucket con lo spazio dei nomi gerarchico abilitato possono verificarsi oggetti eliminati temporaneamente duplicati con nomi e valori di generazione identici. Questo conflitto può verificarsi se rinomini le cartelle che contengono oggetti con nomi duplicati nei bucket con lo spazio dei nomi gerarchico abilitato. In questo scenario, è raro ma possibile che due oggetti eliminati temporaneamente condividano per coincidenza lo stesso numero di generazione.

Per comprendere questo scenario, consulta l'esempio seguente:

  1. Hai un oggetto denominato cat.png all'interno di una cartella denominata my-folder-A. A cat.png viene assegnato un numero di generazione 999. Elimini cat.png, che viene eliminato temporaneamente.

  2. Elimini la cartella principale vuota my-folder-A.

  3. In un'altra posizione dello spazio di archiviazione hai una cartella denominata my-folder-B. All'interno di questa cartella è presente un oggetto diverso denominato cat.png. Per pura coincidenza, anche a questo oggetto cat.png viene assegnato un numero di generazione 999. Rinomini my-folder-B in my-folder-A. A causa dello spazio dei nomi gerarchico, il percorso dell'oggetto diventa my-folder-A/cat.png.

  4. Elimini questo secondo oggetto cat.png, che viene eliminato temporaneamente.

Ora esistono due oggetti eliminati temporaneamente denominati cat.png con il numero di generazione 999.

Per ripristinare, elencare o accedere a una versione specifica di un oggetto eliminato temporaneamente tra i duplicati, devi fornire un parametro restoreToken univoco nella richiesta. L'inclusione del parametro restoreToken è obbligatoria quando ripristini, elenchi o accedi alle versioni degli oggetti eliminati temporaneamente nei bucket con lo spazio dei nomi gerarchico abilitato. Se non includi il parametro restoreToken quando esistono oggetti duplicati, viene visualizzato un errore che ti richiede il token. Se invii il token, il nome o il numero di generazione errati, viene restituito un errore che indica che l'oggetto non è stato trovato. Per saperne di più sul parametro restoreToken, consulta il metodo objects.restore.

Prezzi

Gli oggetti eliminati temporaneamente continuano a generare costi di archiviazione fino alla scadenza del periodo di conservazione e all'eliminazione definitiva. Gli oggetti eliminati temporaneamente prima della fine della durata minima di archiviazione comportano costi di eliminazione anticipata, a meno che l'oggetto non sia stato archiviato in Standard Storage.

Per informazioni dettagliate sui costi associati all'eliminazione temporanea, consulta Prezzi di Cloud Storage.

Ridurre i costi per gli oggetti temporanei quando si utilizza l'eliminazione temporanea

Se un bucket contiene principalmente oggetti temporanei di breve durata, l'abilitazione dell'eliminazione temporanea può comportare un aumento significativo dei costi di archiviazione. Per ridurre i costi per gli oggetti temporanei, ti consigliamo di:

  • Se devi rinominare un oggetto, utilizza il metodo objects.move dell'API JSON per rinominarlo automaticamente. Non rinominare l'oggetto copiandolo.

  • Archivia gli oggetti temporanei in bucket in cui l'eliminazione temporanea non è abilitata.

Gli oggetti temporanei in genere hanno un ciclo di vita breve prima di essere eliminati. Gli oggetti temporanei potrebbero essere:

  • Dati utilizzati come origine per la creazione di oggetti compositi

  • Dati rigenerati per uno scopo di breve durata, ad esempio risultati di query o file di staging

  • Dati provenienti da carichi di lavoro con un'elevata frequenza di scrittura ed eliminazione (ad esempio, milioni di eliminazioni al giorno)

  • Dati che possono essere eliminati definitivamente per errore senza alcun impatto sulla continuità della produzione

Interazioni con altri prodotti e funzionalità

Quando l'eliminazione temporanea è abilitata, si comporta con altri prodotti e funzionalità nei seguenti modi:

  • Rapid Bucket: i bucket zonali che utilizzano Rapid Bucket non supportano l'eliminazione temporanea.

  • Gestione del ciclo di vita degli oggetti:

    • Le regole di Gestione del ciclo di vita degli oggetti non influiscono sugli oggetti eliminati temporaneamente. Non è possibile utilizzare Gestione del ciclo di vita degli oggetti per modificare la classe di archiviazione degli oggetti eliminati temporaneamente o per eliminarli definitivamente.

    • Gli oggetti eliminati da Gestione del ciclo di vita degli oggetti vengono eliminati temporaneamente. Se nel bucket è abilitato anche il controllo delle versioni degli oggetti, gli oggetti attivi eliminati diventano non correnti e gli oggetti non correnti eliminati vengono eliminati temporaneamente.

  • Controllo delle versioni degli oggetti: quando elimini un oggetto non corrente, questo viene eliminato temporaneamente.

  • Caricamenti multiparte dell'API XML: le parti di caricamento multiparte dell'API XML non sono protette dall'eliminazione temporanea.

  • Autoclass:

    • Le commissioni di gestione di Autoclass non vengono valutate per gli oggetti eliminati temporaneamente.

    • Autoclass non modifica la classe di archiviazione degli oggetti eliminati temporaneamente.

    • Quando ripristini un oggetto eliminato temporaneamente, l'oggetto risultante viene impostato sulla classe di archiviazione Standard Storage.

  • Funzionalità Bucket Lock e Blocco della conservazione degli oggetti: queste funzionalità impediscono l'eliminazione degli oggetti fino a quando non soddisfano le relative policy di conservazione. L'eliminazione temporanea fornisce quindi un ulteriore livello di protezione conservando gli oggetti eliminati per una durata di conservazione dell'eliminazione temporanea separata.

  • Notifiche Pub/Sub: il ripristino di una versione eliminata temporaneamente di un oggetto attiva un evento OBJECT_FINALIZE.

  • Cartelle gestite: l'eliminazione temporanea non può ripristinare le policy IAM nelle cartelle gestite. Se elimini temporaneamente un oggetto ed elimini una cartella gestita che concede policy IAM per l'oggetto, potresti dover ricreare queste policy IAM prima di disporre delle autorizzazioni necessarie per ripristinare l'oggetto eliminato temporaneamente.

  • Tag: se crei un bucket senza includere un'impostazione di eliminazione temporanea, l'impostazione predefinita di Cloud Storage è di creare il bucket con una durata di conservazione dell'eliminazione temporanea di sette giorni. Puoi modificare questa impostazione predefinita utilizzando un tag. Il tag può modificare la durata di conservazione predefinita per i nuovi bucket in modo che sia un valore compreso tra 7 e 90 giorni oppure può modificare l'impostazione predefinita per disabilitare l'eliminazione temporanea sui nuovi bucket. Puoi anche utilizzare i tag per disabilitare l'eliminazione temporanea per impostazione predefinita.

Passaggi successivi