Puoi creare una pianificazione di snapshot per eseguire regolarmente e automaticamente il backup dei dischi permanenti a livello di zona e di regione e degli Hyperdisk di Google Cloud. Utilizza le pianificazioni degli snapshot come best practice per eseguire il backup dei carichi di lavoro Compute Engine.
Se vuoi creare una pianificazione degli snapshot che acquisisca lo stato dei dati dell'applicazione al momento del backup, noto anche come snapshot coerente con l'applicazione, svuotamento dell'ambiente guest o snapshot VSS, consulta Creare snapshot dei dischi coerenti con l'applicazione Linux o Creare uno snapshot del disco coerente con l'applicazione Windows.
Per ulteriori informazioni sulle proprietà della pianificazione degli snapshot, consulta Proprietà della pianificazione degli snapshot.
Prima di iniziare
- Consulta la sezione Limitazioni per le pianificazioni degli snapshot.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Per connetterti a una VM che può essere eseguita come account di servizio:
Utente account di servizio (v1) (
roles/iam.serviceAccountUser
) -
Per creare una pianificazione snapshot:
compute.resourcePolicies.create
nel progetto o nell'organizzazione -
Per collegare una pianificazione degli snapshot a un disco:
-
compute.disks.addResourcePolicies
sul disco -
compute.resourcePolicies.use
nel criterio delle risorse
-
-
Per creare un disco con una pianificazione snapshot:
-
compute.disks.create
sul progetto -
compute.resourcePolicies.create
sul progetto -
compute.disks.addResourcePolicies
sul disco
-
- Crea una pianificazione degli snapshot, quindi collegala a un disco esistente.
- Crea un nuovo disco con una pianificazione degli snapshot.
-
Nella console Google Cloud, vai alla pagina Istanze VM.
Vai a Istanze VM
I passaggi rimanenti verranno visualizzati automaticamente nella console Google Cloud. - Seleziona il progetto che contiene le istanze VM.
- Nella colonna Nome, fai clic sul nome della VM con il disco permanente per cui vuoi creare la pianificazione di snapshot.
-
In
Spazio di archiviazione , fai clic sul nome del disco di avvio o del disco aggiuntivo per cui vuoi creare la pianificazione di snapshot. - Fai clic su Modifica. Potresti dover fare clic sul menu Altre azioni e poi su Modifica.
- In Pianificazione di snapshot, scegli Crea una pianificazione.
-
In Nome, inserisci uno dei seguenti nomi per la pianificazione di snapshot:
boot-disk-snapshot-schedule
attached-persistent-disk-snapshot-schedule
-
Nella sezione Località, scegli la posizione di archiviazione degli snapshot. La posizione predefinita predefinita o personalizzata definita nelle impostazioni degli snapshot viene selezionata automaticamente. Se vuoi, puoi ignorare le impostazioni degli snapshot e archiviarli in una posizione di archiviazione personalizzata nel seguente modo:
-
Scegli il tipo di posizione di archiviazione che preferisci per lo snapshot.
-
Scegli Più regioni per una maggiore disponibilità a un costo superiore.
- Scegli gli snapshot regionali per un maggiore controllo sulla località fisica dei dati a un costo inferiore.
-
Scegli Più regioni per una maggiore disponibilità a un costo superiore.
-
Nel campo Seleziona località, seleziona la regione o la più regioni specifiche che vuoi utilizzare. Per utilizzare la regione o le più regioni più vicine al tuo disco di origine, seleziona In base alla località del disco.
-
- Per completare la creazione della pianificazione di snapshot, fai clic su Crea.
- Per collegare questa pianificazione di snapshot al disco permanente, fai clic su Salva.
SCHEDULE_NAME
: il nome della pianificazione degli snapshot.SCHEDULE_DESCRIPTION
: una descrizione della programmazione degli snapshot. Racchiudi la descrizione tra virgolette.MAX_RETENTION_DAYS
: il numero di giorni per conservare lo snapshot.Ad esempio, un valore
3
indica che gli snapshot vengono conservati per 3 giorni prima di essere eliminati. Devi utilizzare un valore pari o superiore a1
.START_TIME
: l'ora di inizio nel fuso orario UTC. L'ora di inizio deve essere un'ora piena.Ad esempio:
- Le 14:00 PST devono essere specificate come
22:00
. - Se imposti un'ora di inizio pari a
22:13
, viene visualizzato un errore.
Se utilizzi il flag
--weekly-schedule-from-file
e specifichi un'ora di inizio all'interno del file, non è necessario includere questo flag.- Le 14:00 PST devono essere specificate come
SNAPSHOT_INTERVAL
: l'intervallo tra la creazione di snapshot successivi. Gli indicatori della frequenza degli snapshothourly-schedule
,daily-schedule
,weekly-schedule
eweekly-schedule-from-file
sono esclusivi l'uno dell'altro. Puoi utilizzarne solo uno per la pianificazione degli snapshot.- Imposta un programma giornaliero includendo il flag
--daily-schedule
senza alcun valore. - Imposta una pianificazione ogni ora con il flag
--hourly-schedule
impostato su un valore intero compreso tra 1 e 23. Per generare snapshot alla stessa ora ogni giorno, scegli un numero di ore diviso uniformemente in 24. Ad esempio, se imposti--hourly-schedule
su12
, viene creato un snapshot ogni 12 ore. - Imposta una pianificazione settimanale con il flag
--weekly-schedule
impostato sulgiorno della settimana in cui vuoi che venga creato lo snapshot. Devi scrivere per esteso il giorno della settimana; i valori non sono sensibili alle maiuscole. Ad esempio, per eseguire il backup del disco ogni venerdì, il comando includerà--weekly-schedule=friday
. Imposta una programmazione settimanale avanzata, specificando giorni diversi della settimana e orari di inizio diversi, includendo il flag
--weekly-schedule-from-file
. SostituisciFILE_NAME
con il nome del file che contiene la pianificazione degli snapshot settimanali. Sebbene sia possibile specificare giorni diversi della settimana e orari di inizio diversi utilizzando un file, non è possibile specificare più pianificazioni settimanali direttamente sulla riga di comando. Ad esempio, il tuo file potrebbe specificare due pianificazioni settimanali, il lunedì e il mercoledì, ma non puoi duplicare questa impostazione sulla riga di comando:[ {"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"} ]
Se includi un'ora di inizio nel file, non è necessario impostare il
--start-time
flag sulla riga di comando. La pianificazione utilizza il fuso orario UTC.
- Imposta un programma giornaliero includendo il flag
DELETION_OPTION
: determina cosa succede ai tuoi snapshot se il disco di origine viene eliminato. Se vuoi conservare tutti gli snapshot generati, puoi omettere questo flag. In caso contrario, specificaapply-retention-policy
per utilizzare le impostazioni in un criterio di conservazione.STORAGE_LOCATION
: facoltativo, la posizione di archiviazione. Se ometti questo flag, viene utilizzata la posizione di archiviazione predefinita.- La regola di eliminazione del disco è inclusa; il flag
--on-source-disk-delete
è impostato sul valore predefinitokeep-auto-snapshots
per conservare definitivamente tutti gli snapshot generati automaticamente. In alternativa, imposta questo flag suapply-retention-policy
per utilizzare i criteri di conservazione degli snapshot. - La posizione di archiviazione è impostata manualmente su
US
, pertanto tutte le istantanee generate vengono archiviate nella multi-regione degli Stati Uniti. - Le etichette
env=dev
emedia=images
vengono applicate a tutti gli screenshot generati. - Il criterio di conservazione è impostato su 10 giorni.
PROJECT_ID
: il nome del progettoREGION
: la posizione della policy della risorsa di pianificazione degli snapshotSCHEDULE_DESCRIPTION
: la descrizione della pianificazione degli snapshotSCHEDULE_NAME
: il nome della pianificazione di snapshotSTORAGE_LOCATION
: facoltativo, la posizione di archiviazione. Se ometti questo flag, viene utilizzata la posizione di archiviazione predefinita.Nella console Google Cloud, vai alla pagina Dischi.
Seleziona il nome del disco a cui vuoi associare una pianificazione degli snapshot. Viene visualizzata la pagina Gestisci disco.
Nella pagina Gestisci disco, fai clic su
Modifica. Potrebbe essere necessario fare prima clic sul menu Altre azioni.Utilizza il menu a discesa Pianificazione degli snapshot per aggiungere la pianificazione al disco. In alternativa, crea una nuova pianificazione.
Se hai creato una nuova pianificazione, fai clic su Crea.
Fai clic su Salva per completare l'attività.
DISK_NAME
: il nome del disco esistenteSCHEDULE_NAME
: il nome della pianificazione di snapshotZONE
: la posizione del discoPROJECT_ID
: il nome del progettoZONE
: la zona in cui si trova il discoREGION
: la regione in cui è stata creata la pianificazione snapshotDISK_NAME
: il nome del discoSCHEDULE_NAME
: il nome della pianificazione degli snapshot che stai applicando a questo discoNella console Google Cloud, vai alla pagina Dischi.
Fai clic su Crea disco.
Compila i campi obbligatori per creare un disco a livello di zona o di regione.
Crea il disco nella stessa regione della pianificazione degli snapshot.
Compila i campi per la pianificazione degli snapshot.
Utilizza il menu a discesa e compila i campi per creare la pianificazione.
Fai clic su Crea per creare la pianificazione.
Fai clic su Crea per creare il disco.
DISK_NAME
: il nome del nuovo discoSCHEDULE_NAME
: il nome della pianificazione degli snapshotZONE
: la posizione in cui stai creando il disco. Il disco deve trovarsi in una zona della stessa regione della pianificazione delle istantanee.- Scopri di più sulla gestione delle pianificazioni degli snapshot.
- Scopri di più sulle frequenze degli snapshot pianificati, sulle norme di conservazione e sulle regole di denominazione in Informazioni sulle pianificazioni degli snapshot per i dischi.
- Scopri come creare un'immagine personalizzata dallo snapshot.
- Scopri come visualizzare i log.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per creare una pianificazione degli snapshot, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare una pianificazione snapshot. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare una pianificazione snapshot sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Panoramica della creazione di pianificazioni snapshot
Quando crei una pianificazione degli snapshot, crei un criterio di risorse che puoi applicare a uno o più volumi Hyperdisk o Persistent Disk.
Puoi creare pianificazioni degli snapshot nei seguenti modi:
Utilizzo della crittografia con le pianificazioni degli snapshot
Se un disco utilizza una chiave di crittografia gestita dal cliente (CMEK), quando utilizzi una pianificazione degli snapshot per creare snapshot del disco, tutti gli snapshot creati vengono criptati automaticamente con la stessa chiave.
Non puoi utilizzare le pianificazioni degli snapshot con i dischi che utilizzano una chiave di crittografia fornita dal cliente (CSEK).
Crea pianificazione snapshot
Puoi creare una pianificazione degli snapshot per i tuoi dischi utilizzando la console Google Cloud, Google Cloud CLI o REST. Devi creare la pianificazione delle istantanee nella stessa regione in cui si trova il disco. Ad esempio, se il tuo disco si trova nella zona
us-west1-a
, devi creare la pianificazione degli snapshot nella regioneus-west1
. Tuttavia, puoi scegliere di archiviare gli snapshot generati dalla pianificazione in una posizione diversa.Console
gcloud
Per creare una pianificazione degli snapshot per un disco, utilizza il comando
gcloud compute resource-policies create snapshot-schedule
. Imposta la frequenza della programmazione su oraria, giornaliera o settimanale.gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \ --description "SCHEDULE_DESCRIPTION" \ --max-retention-days MAX_RETENTION_DAYS \ --start-time START_TIME \ --hourly-schedule SNAPSHOT_INTERVAL \ --daily-schedule \ [--weekly-schedule SNAPSHOT_INTERVAL or \ --weekly-schedule-from-file FILE_NAME] \ --on-source-disk-delete DELETION_OPTION \ --storage-location=STORAGE_LOCATION
Sostituisci quanto segue:
Esempi
In tutti i seguenti esempi:
Pianificazione oraria:in questo esempio, la pianificazione degli snapshot inizia alle 22:00 UTC (14:00 PST) e viene eseguita ogni 4 ore.
gcloud compute resource-policies create snapshot-schedule hourly-schedule1 \ --description "MY HOURLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --hourly-schedule 4 \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Pianificazione giornaliera:in questo esempio, la pianificazione degli istantanei inizia alle 22:00 UTC (14:00 PST) e viene eseguita ogni giorno alla stessa ora. Il flag
--daily-schedule
deve essere presente, ma senza un valore associato.gcloud compute resource-policies create snapshot-schedule daily-schedule2 \ --description "MY DAILY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --daily-schedule \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Pianificazione settimanale: in questo esempio, la pianificazione degli istantanei inizia alle 22:00 UTC (14:00 PST) e viene eseguita ogni settimana di martedì.
gcloud compute resource-policies create snapshot-schedule weekly-schedule3 \ --description "MY WEEKLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --weekly-schedule tuesday \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
REST
Per creare una pianificazione di snapshot, crea una richiesta
POST
aresourcePolicies.insert
. Devi includere il nome della pianificazione degli snapshot e la frequenza degli snapshot.Puoi anche specificare manualmente una posizione di archiviazione degli snapshot e aggiungere etichette delle risorse nella richiesta.
Per impostazione predefinita, il parametro
onSourceDiskDelete
è impostato sukeepAutoSnapshots
. Ciò significa che se il disco di origine viene eliminato, lo snapshot generato automaticamente per quel disco viene conservato a tempo indeterminato. In alternativa, puoi impostare il flag suapplyRetentionPolicy
per applicare il criterio di conservazione.Nell'esempio seguente viene impostata una pianificazione giornaliera degli snapshot che inizia alle 12:00 UTC (04:00 PST) e si ripete ogni giorno. L'esempio imposta anche un criterio di conservazione di 5 giorni; dopo 5 giorni, gli snapshot vengono rimossi automaticamente.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "dailySchedule": { "startTime": "12:00", "daysInCycle": "1" } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "env": "dev", "media": "images" }, "storageLocations": "STORAGE_LOCATION" } } }
Sostituisci quanto segue:
Analogamente, puoi creare una pianificazione settimanale o mensile. Consulta il metodo
resourcePolicies.insert
per informazioni specifiche sull'impostazione di una pianificazione settimanale o mensile.Ad esempio, la seguente richiesta crea una pianificazione settimanale che viene eseguita di martedì alle 09:00 UTC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "weeklySchedule": { "dayOfWeeks": [ { "day": "Tuesday", "startTime": "9:00" } ] } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "production": "webserver" }, "storageLocations": "US" } } }
Collegare una pianificazione di snapshot a un disco
Dopo aver creato una pianificazione, collegala a un disco esistente. Utilizza la console, gcloud CLI o l'API Compute Engine.
Console
Collega una pianificazione di snapshot a un disco esistente.
gcloud
Per collegare una pianificazione degli snapshot a un disco, utilizza il comando
gcloud disks add-resource-policies
.gcloud compute disks add-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Sostituisci quanto segue:
REST
Crea una richiesta
POST
adisks.addResourcePolicies
per collegare una pianificazione di snapshot a un disco esistente.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }
Sostituisci quanto segue:
Creare un disco con una pianificazione degli snapshot
Puoi utilizzare la console Google Cloud o gcloud CLI per creare contemporaneamente un disco e una pianificazione degli snapshot.
Console
gcloud
Utilizza il comando
gcloud disks create
per creare un disco Hyper o un disco permanente a livello di zona o di regione e associa una pianificazione degli snapshot.gcloud compute disks create DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Sostituisci quanto segue:
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-12-22 UTC.
-