Configura la policy di conservazione del cestino

Per impostazione predefinita, Compute Engine conserva gli snapshot standard eliminati nel cestino per un periodo di conservazione di tre giorni prima di eliminarli definitivamente. Puoi configurare un periodo di conservazione più breve o disattivare il cestino modificando la policy di conservazione del cestino.

Questo documento descrive come visualizzare e configurare il criterio di conservazione del cestino.

Per visualizzare i contenuti di un cestino o recuperare uno snapshot dal cestino, consulta Gestire il cestino.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa a come prevedi di utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per visualizzare e gestire i criteri di conservazione del cestino, chiedi all'amministratore di concederti il ruolo IAM Compute Admin (roles/compute.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 visualizzare e gestire la policy di conservazione del cestino. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per visualizzare e gestire la policy di conservazione del cestino sono necessarie le seguenti autorizzazioni:

  • Per impostare, modificare ed eliminare le regole nel criterio di conservazione del cestino: compute.snapshotRecycleBinPolicy.patch
  • Per visualizzare la policy di conservazione del cestino: compute.snapshotRecycleBinPolicy.get
  • Per visualizzare la policy di conservazione del cestino per uno snapshot standard: compute.snapshots.getEffectiveRecycleBinRule sullo snapshot

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

Come funziona la policy di conservazione del cestino

La policy di conservazione del cestino è una raccolta globale di regole che definiscono il periodo di conservazione degli snapshot standard in tutti i progetti e le organizzazioni.

Il criterio di conservazione del cestino ha le seguenti funzionalità:

  • Il periodo di conservazione predefinito di tre giorni è chiamato regola predefinita del sistema. Non puoi rimuovere la regola predefinita del sistema, ma puoi sostituirla.

  • Per ignorare la regola predefinita del sistema, puoi aggiungere regole predefinite per progetto o organizzazione che si applicano rispettivamente a un progetto o a un'organizzazione. Puoi anche aggiungere regole basate su tag alla policy di conservazione del cestino.

  • I conflitti tra le regole nella norma di conservazione vengono risolti nel seguente modo:

    1. Le regole basate sui tag sostituiscono le regole predefinite sia del progetto che dell'organizzazione.
    2. Se a un'istantanea standard si applicano più regole basate su tag, viene applicata la regola con il periodo di conservazione più lungo. Tuttavia, una regola predefinita del progetto non sostituirà una regola basata su tag, anche se la prima ha un periodo di conservazione più lungo.
    3. Le regole predefinite del progetto sostituiscono la regola predefinita dell'organizzazione.
    4. Se non si applicano regole a uno snapshot standard, viene applicata la regola predefinita del sistema.

    Per saperne di più, consulta Gerarchia delle regole all'interno delle norme di conservazione del cestino.

  • Anche se Google non consiglia di disattivare il cestino, puoi farlo per un progetto, un'organizzazione o un tag creando una regola con un periodo di conservazione di zero giorni. Tutti gli snapshot standard soggetti alla regola vengono cancellati immediatamente quando li elimini.

  • Le modifiche alla policy di conservazione del cestino non si applicano agli snapshot recuperabili esistenti, ovvero agli snapshot standard eliminati esistenti che si trovano nel cestino.

Limitazioni

  • Sono supportati solo gli snapshot standard. Snapshot di archiviazione, snapshot istantanei, dischi e immagini vengono eliminati definitivamente immediatamente dopo l'eliminazione.
  • Le modifiche alla policy di conservazione del cestino non si applicano agli snapshot recuperabili esistenti, ovvero agli snapshot standard eliminati esistenti che si trovano nel cestino.
  • Per specificare una regola di policy di conservazione per un tag, il tag deve già esistere.
  • Puoi impostare regole di policy di conservazione solo per progetti, organizzazioni o tag.
  • Se imposti una regola di policy di conservazione per un tag, la policy di conservazione si applica solo agli snapshot standard che hanno quel tag. Gli snapshot di archiviazione, gli snapshot istantanei, i dischi e qualsiasi altra risorsa con questo tag non sono compatibili con il cestino e vengono eliminati definitivamente quando li elimini.

Impostare o rimuovere il periodo di conservazione predefinito per un progetto o un'organizzazione

Per eseguire l'override della regola predefinita del sistema di tre giorni all'interno di un progetto o di un'organizzazione o per disattivare il cestino, imposta la regola di policy di conservazione predefinita per il progetto o l'organizzazione.

Puoi utilizzare gcloud CLI o REST.

gcloud CLI

Utilizza il comando gcloud beta compute snapshot-recycle-bin-policy update. Utilizza il flag --set-rule=default per impostare la regola di conservazione predefinita e il flag --standard-snapshots-retention-duration-days per specificare il periodo di conservazione per la regola.

  • Per impostare la policy di conservazione predefinita per un'organizzazione, utilizza il seguente comando:

    gcloud beta compute snapshot-recycle-bin-policy update \
      --set-rule=default \
      --standard-snapshots-retention-duration-days=DEFAULT_RETENTION_PERIOD_DAYS \
      --organization=ORGANIZATION_ID
    

    Sostituisci quanto segue con i valori corrispondenti:

    • DEFAULT_RETENTION_PERIOD_DAYS: il periodo di conservazione, in giorni, per il progetto o l'organizzazione. Specifica un valore compreso tra 0 e 7. Per disattivare il cestino, specifica 0.
    • ORGANIZATION_ID: facoltativo. L'ID dell'organizzazione, per cui vuoi impostare la regola di conservazione predefinita. Ad esempio 123456789012. Devi specificare l'ID organizzazione o l'ID progetto, ma non entrambi.

    Per impostare la norma di conservazione predefinita per un progetto, sostituisci il flag --organization con --project=<var>PROJECT_ID</var> nel comando precedente, dove PROJECT_ID è l'ID del progetto.

  • Per rimuovere la regola di conservazione predefinita per un progetto o un'organizzazione, utilizza lo stesso comando, ma specifica --remove-rule=default anziché --set-rule=default.

    Ad esempio, per rimuovere la regola della policy di conservazione predefinita per un'organizzazione:

    gcloud beta compute snapshot-recycle-bin-policy update \
      --organization=ORGANIZATION_ID \
      --remove-rule=default
    

    Sostituisci ORGANIZATION_ID con l'ID dell'organizzazione.

REST

Crea una richiesta PATCH al metodo snapshotRecycleBinPolicy.

Nel corpo della richiesta, includi un oggetto rules che specifica il periodo di cestino predefinito, in giorni.

  • Per aggiungere o modificare un criterio di conservazione per un progetto:

    PATCH  https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
    {
    "rules": {
      "default": {
        "standardSnapshots": {
          "retentionDurationDays": DEFAULT_RETENTION_PERIOD_DAYS
        }
      }
    }
    }
    

    Sostituisci quanto segue con i valori corrispondenti:

    • PROJECT_ID: l'ID progetto, ad esempio dev-project.
    • DEFAULT_RETENTION_PERIOD_DAYS: il periodo di conservazione predefinito, in giorni. Specifica un valore compreso tra 0 e 7. Per disattivare il cestino, specifica 0.
  • Per aggiungere o modificare una policy di conservazione per un'organizzazione, invia una richiesta PATCH come nell'esempio precedente, ma utilizza il seguente URL.

    PATCH https://compute.googleapis.com/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/

    Il corpo della richiesta è lo stesso dell'esempio precedente.

    Sostituisci ORGANIZATION_ID con l'ID dell'organizzazione. Ad esempio: 123456789012.

  • Per rimuovere la regola di conservazione predefinita per un progetto o un'organizzazione, invia una richiesta PATCH simile, ma specifica null per la regola default.

    Ad esempio, per rimuovere la regola di conservazione predefinita per un'organizzazione:

    PATCH https://compute.googleapis.com/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/
    {
    "rules": {
       "default": null
     }
    }
    

    Sostituisci ORGANIZATION_ID con l'ID dell'organizzazione.

Impostare o rimuovere il criterio di conservazione per un tag

Per impostare un periodo di conservazione specifico per gli snapshot standard con un tag specifico, imposta una regola basata sui tag a livello di progetto o organizzazione. Le regole basate sui tag eseguono l'override della regola predefinita per un progetto o un'organizzazione e hanno le seguenti caratteristiche:

  • Le regole basate su tag a livello di organizzazione o progetto si applicano a tutti gli snapshot standard all'interno dell'organizzazione o del progetto, rispettivamente, che hanno il tag.
  • Le regole dei tag a livello di progetto sostituiscono quelle a livello di organizzazione solo se la regola a livello di progetto ha un periodo di conservazione più lungo.

    Ad esempio, una regola di tag a livello di organizzazione con un periodo di conservazione di due giorni override una regola di tag a livello di progetto di un giorno.

Per saperne di più, consulta Gerarchia delle regole all'interno delle norme di conservazione del cestino.

Puoi utilizzare gcloud CLI o REST.

gcloud CLI

Per impostare una regola di policy di conservazione per un tag, utilizza il comando gcloud beta compute snapshot-recycle-bin-policy update. Utilizza il flag --set-rule per specificare il nome del tag e il flag --standard-snapshots-retention-duration-days per specificare il periodo di conservazione nel cestino, in giorni, per il tag.

gcloud beta compute snapshot-recycle-bin-policy update \
  --set-rule=TAG_NAMESPACED_NAME \
  --standard-snapshots-retention-duration-days=RETENTION_PERIOD_DAYS \
  --organization=ORGANIZATION_ID

Sostituisci quanto segue con i valori corrispondenti:

  • TAG_NAMESPACED_NAME: il nome con spazio dei nomi del tag, incluso il relativo valore. Ad esempio, my-project-id/tag-key/tag-value o my-organization-id/tag-key/tag-value.
  • RETENTION_PERIOD_DAYS: il periodo di conservazione in giorni, da 0 a 7. Per disattivare il cestino per gli snapshot con questo tag, specifica 0.
  • ORGANIZATION_ID: facoltativo. L'ID dell'organizzazione a cui si applica la regola. Ad esempio: 123456789012. Devi specificare l'ID organizzazione o l'ID progetto, ma non entrambi.

Per impostare la norma di conservazione predefinita per un progetto, sostituisci il flag --organization con --project=<var>PROJECT_ID</var> nel comando precedente, dove PROJECT_ID è l'ID del progetto.

Per rimuovere una regola di conservazione per un tag, utilizza lo stesso comando, ma specifica --remove-rule=TAG_NAMESPACED_NAME anziché --set-rule. Ad esempio, per rimuovere una regola basata su tag per un'organizzazione:

gcloud beta compute snapshot-recycle-bin-policy update \
  --organization=ORGANIZATION_ID \
  --remove-rule=TAG_NAMESPACED_NAME

REST

Per impostare una regola di policy di conservazione per un tag, crea una richiesta PATCH al metodo snapshotRecycleBinPolicy. Nel corpo della richiesta, includi un oggetto rules che specifica il nome del tag e il periodo di conservazione, in giorni.

  • Per impostare o aggiornare una regola di policy di conservazione per un tag in un progetto:
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy/
{
  "rules": {
    "TAG_NAMESPACED_NAME_1": {
      "standardSnapshots": { 
        "retentionDurationDays": RETENTION_PERIOD_DAYS
      }
    }
  }
}

Sostituisci quanto segue con i valori corrispondenti:

  • PROJECT_ID: l'ID del progetto
  • TAG_NAMESPACED_NAME: il nome con spazio dei nomi del tag, incluso il relativo valore. Ad esempio, my-project-id/env/prod o my-organization-id/env/build.
  • RETENTION_PERIOD_DAYS: il periodo di conservazione in giorni, da 0 a 7. Per disattivare il cestino per gli snapshot con questo tag, specifica 0.

  • Per impostare o aggiornare una regola di policy di conservazione per un tag in un'organizzazione, invia una richiesta PATCH come nell'esempio precedente, ma utilizza il seguente URL.

PATCH https://compute.googleapis.com/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy/

Sostituisci ORGANIZATION_ID con l'ID dell'organizzazione. Il corpo della richiesta è come descritto nell'esempio precedente.

  • Per rimuovere una regola di policy di conservazione per un tag, crea una richiesta PATCH come negli esempi precedenti, ma specifica null per la regola basata sui tag. Ad esempio, per rimuovere la regola della policy di conservazione per una regola basata su tag in un progetto:
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
{
  "rules": {
    "TAG_NAMESPACED_NAME_1": null
  }
}

Visualizza la policy di conservazione del cestino per un progetto o un'organizzazione

Per determinare se un progetto o un'organizzazione dispone di regole personalizzate per il cestino, visualizza le regole basate sui tag o controlla se il cestino è disattivato. Per farlo, visualizza le regole nella policy di conservazione del cestino del progetto o dell'organizzazione.

Per visualizzare le regole nella policy di conservazione del cestino di un progetto o di un'organizzazione, utilizza gcloud CLI o REST.

gcloud CLI

Per visualizzare la policy di conservazione del cestino per un progetto o un'organizzazione, incluse le regole basate su tag, utilizza il comando gcloud beta compute snapshot-recycle-bin-policy describe:

  • Per visualizzare la policy di conservazione del cestino per un'organizzazione:

    gcloud beta compute snapshot-recycle-bin-policy describe \
      --organization=ORGANIZATION_ID
    

    Sostituisci ORGANIZATION_ID con l'ID dell'organizzazione.

  • Per visualizzare la policy di conservazione del cestino per un progetto:

    gcloud beta compute snapshot-recycle-bin-policy describe \
    --project=PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del progetto.

L'output è un elenco di oggetti regola simili ai seguenti. La regola predefinita del sistema di tre giorni è inclusa nell'output.

  rules:
    default:
      standardSnapshots:
        retentionDurationDays: '2'
    database-project/Testing-tag-key/build:
      standardSnapshots:
        retentionDurationDays: '0'
    database-project/Testing-tag-key/critical:
      standardSnapshots:
        retentionDurationDays: '5'
    systemRules:
      default:
        standardSnapshots:
          retentionDurationDays: '3'

Il campo retentionDurationDays per ogni regola indica il periodo di conservazione della regola, in giorni. In questo esempio, il progetto database-project ha tre regole:

  • una regola di cinque giorni per tutti gli snapshot con il tag Testing-tag-key/critical.
  • eliminazione immediata di tutti gli snapshot con il tag Testing-tag-key/build.
  • un periodo di conservazione predefinito di due giorni per tutti gli altri snapshot del progetto.

REST

Per visualizzare tutte le regole della policy di conservazione per un progetto o un'organizzazione, incluse le regole basate sui tag, crea una richiesta GET al metodo snapshotRecycleBinPolicy.get.

  • Per visualizzare la policy di conservazione di un'organizzazione:

    GET https://compute.googleapis.com/compute/beta/organizations/ORGANIZATION_ID/global/snapshotRecycleBinPolicy
    

    Sostituisci ORGANIZATION_ID con l'ID dell'organizzazione.

  • Per visualizzare la policy di conservazione di un progetto:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/snapshotRecycleBinPolicy
    

    Sostituisci PROJECT_ID con l'ID del progetto.

La risposta è simile alla seguente. La regola predefinita del sistema di tre giorni è inclusa nell'output.

  {
    "rules": {
     "default": {
      "standardSnapshots": {
        "retentionDurationDays": "2"
      }
    },
    "database-project/Testing-tag-key/build": {
      "standardSnapshots": {
        "retentionDurationDays": "0"
      }
    },
    "database-project/Testing-tag-key/critical": {
      "standardSnapshots": {
        "retentionDurationDays": "5"
      }
    },
     "systemRules": {
      "default": {
       "standardSnapshots": {
         "retentionDurationDays": "3"
      }
     }
    }
  }
 }

Il campo retentionDurationDays per ogni regola indica il periodo di conservazione della regola, in giorni. In questo esempio, il progetto database-project ha tre regole:

  • una regola di cinque giorni per tutti gli snapshot con il tag Testing-tag-key/critical.
  • eliminazione immediata di tutti gli snapshot con il tag Testing-tag-key/build.
  • un periodo di conservazione predefinito di due giorni per tutti gli altri snapshot del progetto.

Se il periodo di conservazione è zero, Compute Engine cancellerà definitivamente lo snapshot immediatamente dopo l'eliminazione. In caso contrario, il periodo di conservazione indica per quanto tempo Compute Engine conserverà lo snapshot nel cestino prima di eliminarlo definitivamente.

Visualizzare il periodo di conservazione del cestino per un tag

Per visualizzare la policy di conservazione per un tag, recupera la policy di conservazione per il progetto o l'organizzazione in cui è definito il tag.

Controllare il periodo di conservazione del cestino per uno snapshot specifico

Per determinare se uno snapshot standard verrà conservato nel cestino, se viene eliminato e per quanto tempo, controlla il periodo di conservazione. Se il periodo di conservazione è zero, lo snapshot verrà cancellato definitivamente immediatamente dopo l'eliminazione. In caso contrario, il periodo di conservazione indica per quanto tempo lo snapshot verrà conservato nel cestino se viene eliminato.

Puoi controllare il periodo di conservazione di uno snapshot specifico utilizzando la consoleGoogle Cloud , gcloud CLI o REST.

Console Google Cloud

  1. Nella console Google Cloud , vai alla pagina Snapshot.

Vai alla pagina Snapshot

  1. Nella scheda Snapshot, visualizza l'elenco degli snapshot nel progetto.

  2. Nella colonna Nome, fai clic sul nome dello snapshot standard. Viene visualizzata la pagina Dettagli snapshot relativa allo snapshot selezionato.

  3. La proprietà Conservazione cestino mostra il periodo di conservazione del cestino dello snapshot.

gcloud CLI

Per visualizzare il periodo di conservazione di uno snapshot specifico, utilizza il comando gcloud beta compute snapshots get-effective-recycle-bin-rule.

gcloud beta compute snapshots get-effective-recycle-bin-rule \
  SNAPSHOT_NAME \
  --project=PROJECT_ID

Sostituisci quanto segue con i valori corrispondenti:

  • PROJECT_ID: l'ID del progetto che contiene lo snapshot.
  • SNAPSHOT_NAME: il nome dello snapshot.

L'output è simile al seguente:

retentionDurationDays: '5'

Il campo retentionDurationDays indica il periodo di conservazione del cestino degli snapshot, in giorni.

REST

Per visualizzare il periodo di conservazione di uno snapshot specifico, crea una richiesta GET al metodo getEffectiveRecycleBinRule.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/getEffectiveRecycleBinRule

Sostituisci quanto segue con i valori corrispondenti:

  • PROJECT_ID: l'ID del progetto che contiene lo snapshot.
  • SNAPSHOT_NAME: il nome dello snapshot.

La risposta è simile alla seguente:

{
  "retentionDurationDays": "5"
}

Il campo retentionDurationDays indica il periodo di conservazione del cestino degli snapshot, in giorni.

Se il periodo di conservazione è zero, Compute Engine cancellerà definitivamente lo snapshot immediatamente dopo l'eliminazione. In caso contrario, il periodo di conservazione indica per quanto tempo Compute Engine conserverà lo snapshot nel cestino prima di eliminarlo definitivamente.

Per determinare quali regole della policy di conservazione si applicano allo snapshot, confronta i tag dello snapshot con i tag e la regola predefinita nella policy di conservazione per il progetto e l'organizzazione.

Per modificare il periodo di conservazione di uno snapshot standard, scegli una delle seguenti opzioni:

Passaggi successivi