Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina spiega come configurare l'ambiente per salvare gli snapshot in base a una programmazione.
Per ulteriori informazioni sul funzionamento degli snapshot dell'ambiente e su come salvarli manualmente, consulta Salvare e caricare gli snapshot.
Come funzionano gli snapshot pianificati
Quando abiliti gli snapshot pianificati, Cloud Composer salva periodicamente gli snapshot dell'ambiente in un bucket Cloud Storage.
Se crei snapshot manualmente, Cloud Composer salva gli snapshot nel bucket dell'ambiente per impostazione predefinita. Per gli snapshot pianificati, consigliamo di salvarli in un bucket separato. In questo modo, puoi impostare le autorizzazioni e una configurazione del ciclo di vita per questo bucket. Un bucket può contenere screenshot di più ambienti e puoi anche creare bucket ridondanti in più regioni.
Prima di iniziare
Per ulteriori informazioni sui requisiti e sulle limitazioni degli snapshot, consulta Salvare e caricare gli snapshot.
Cloud Composer supporta gli snapshot pianificati nelle versioni 2.0.32 e successive. Gli snapshot dell'ambiente sono supportati nelle versioni 2.0.9 e successive.
Crea un bucket per gli snapshot pianificati
Crea un bucket per gli snapshot pianificati. Valuta come vuoi utilizzare gli snapshot dell'ambiente. Se fa parte del tuo piano di disaster recovery, utilizza un secchia ridondante in più regioni o un secchia in un'altra regione, in modo da avere accesso ai dati anche in caso di interruzione del servizio completa a livello di regione. In caso contrario, un bucket nella stessa regione dell'ambiente potrebbe essere più adatto e, in questo caso, riduci i costi di trasferimento dei dati tra le regioni.
Configura le autorizzazioni per il bucket
Configura le seguenti autorizzazioni:
L'account di servizio del tuo ambiente deve disporre delle autorizzazioni di lettura e scrittura per questo bucket. Ad esempio, il ruolo Amministratore oggetti archiviazione dispone di queste autorizzazioni.
Gli account utente non richiedono autorizzazioni aggiuntive per il caricamento di snapshot dal bucket, a meno che tu non voglia visualizzare i contenuti del bucket dalla console Google Cloud. In questo caso, un account utente deve disporre dell'autorizzazione di lettura sul bucket.
Imposta una configurazione del ciclo di vita per il bucket
Per risparmiare sui costi di archiviazione, puoi configurare una regola che elimini gli istantanee dell'ambiente dopo un determinato periodo di tempo.
Ad esempio, per eliminare automaticamente gli snapshot precedenti a 30 giorni:
- Imposta una configurazione del ciclo di vita per il bucket.
- Specifica l'azione Elimina oggetto.
- Seleziona Età e 30 giorni come condizione.
Attivare una pianificazione degli snapshot per l'ambiente
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Vai alla scheda Configurazione dell'ambiente.
In Configurazione di recupero > Pianificazione degli snapshot, fai clic su Modifica. Viene visualizzato il riquadro Pianificazione snapshot.
Nel riquadro Pianificazione di snapshot, seleziona Crea snapshot periodicamente in base alla pianificazione specificata.
Nell'elenco a discesa Frequenza pianificazione, seleziona giornaliero, settimanale o periodo personalizzato per gli snapshot.
Puoi specificare una pianificazione personalizzata con il formato cron di Unix. Ad esempio, per salvare gli istantanei ogni 30 minuti, specifica
*/30 * * * *
.Nel campo Posizione snapshot, seleziona la cartella del bucket in cui vuoi salvare gli snapshot.
gcloud
Aggiorna la configurazione dell'ambiente. I seguenti argomenti definiscono i parametri per gli snapshot pianificati:
--enable-scheduled-snapshot-creation
attiva gli snapshot pianificati.--snapshot-location
specifica una cartella del bucket in cui vuoi salvare gli snapshot.--snapshot-creation-schedule
specifica la frequenza con cui devono essere acquisiti gli snapshot dell'ambiente nel formato cron Unix. Ad esempio, per creare uno snapshot ogni 30 minuti, specifica*/30 * * * *
.--snapshot-schedule-timezone
definisce un fuso orario per la pianificazione. Questo valore è un offset di tempo e non tiene conto delle variazioni dell'ora legale. I valori validi vanno daUTC-12
aUTC+12
. Esempi:UTC
,UTC-01
,UTC+03
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://SNAPSHOTS_FOLDER" \
--snapshot-creation-schedule "CRON_EXPRESSION" \
--snapshot-schedule-timezone "TIME_ZONE"
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.SNAPSHOTS_FOLDER
con l'URI di una cartella del bucket in cui memorizzare lo snapshot.CRON_EXPRESSION
con la pianificazione, nel formato cron di Unix.TIME_ZONE
con un fuso orario per la pianificazione.
Esempio (ogni giorno alle ore 04:00, UTC+01):
gcloud composer environments update example-environment \
--location us-central1 \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://example-bucket/environment_snapshots" \
--snapshot-creation-schedule "0 4 * * *" \
--snapshot-schedule-timezone "UTC+01"
API
Crea una richiesta API environments.patch
.
In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.recoveryConfig.scheduledSnapshotsConfig
per sostituire la configurazione degli snapshot pianificati esistente.Nel corpo della richiesta, specifica la configurazione per gli snapshot:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://SNAPSHOTS_FOLDER", "snapshot_creation_schedule": "CRON_EXPRESSION", "time_zone": "TIME_ZONE" } } } }
Sostituisci:
SNAPSHOTS_FOLDER
con l'URI di una cartella del bucket in cui memorizzare lo snapshot.CRON_EXPRESSION
con la pianificazione, nel formato cron di Unix.TIME_ZONE
con un fuso orario per la pianificazione. Questo valore è un offset di tempo e non tiene conto delle variazioni dell'ora legale. I valori validi vanno daUTC-12
aUTC+12
. Esempi:UTC
,UTC-01
,UTC+03
.
Esempio (ogni giorno alle ore 04:00, UTC+01):
// PATCH https://composer.googleapis.com/v1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.recoveryConfig.scheduledSnapshotsConfig { "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://example-bucket/environment_snapshots", "snapshot_creation_schedule": "0 4 * * *", "time_zone": "UTC+01" } } } }
Terraform
scheduled_snapshots_config
nel blocco recovery_config
definisce i parametri per gli snapshot pianificati:
enabled
attiva gli snapshot pianificati.snapshot_location
specifica una cartella del bucket in cui vuoi salvare gli snapshot.snapshot_creation_schedule
specifica la frequenza con cui devono essere acquisiti gli snapshot dell'ambiente nel formato cron Unix. Ad esempio, per creare uno snapshot ogni 30 minuti, specifica*/30 * * * *
.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://SNAPSHOTS_FOLDER"
snapshot_creation_schedule = "CRON_EXPRESSION"
time_zone = "TIME_ZONE"
}
}
}
Sostituisci:
SNAPSHOTS_FOLDER
con l'URI di una cartella del bucket in cui memorizzare lo snapshot.CRON_EXPRESSION
con la pianificazione, nel formato cron di Unix.TIME_ZONE
con un fuso orario per la pianificazione. Questo valore è un offset di tempo e non tiene conto delle variazioni dell'ora legale. I valori validi vanno daUTC-12
aUTC+12
. Esempi:UTC
,UTC-01
,UTC+03
.
Esempio (ogni giorno alle ore 04:00, UTC+01):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://example-bucket/environment_snapshots"
snapshot_creation_schedule = "0 4 * * *"
time_zone = "UTC+01"
}
}
}
Disattivare gli snapshot pianificati
Se disattivi gli snapshot pianificati, tutti gli snapshot esistenti già acquisiti non vengono modificati o rimossi. Questi snapshot rimangono nella posizione in cui sono stati salvati.
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Vai alla scheda Configurazione dell'ambiente.
In Configurazione di recupero > Pianificazione degli snapshot, fai clic su Modifica. Viene visualizzato il riquadro Pianificazione snapshot.
Nel riquadro Pianificazione di snapshot, seleziona Non creare snapshot automaticamente.
gcloud
Aggiorna la configurazione dell'ambiente. L'argomento --disable-scheduled-snapshot-creation
disattiva gli snapshot pianificati.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-scheduled-snapshot-creation
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-scheduled-snapshot-creation
API
Crea una richiesta API environments.patch
.
In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.recoveryConfig.scheduledSnapshotsConfig.enabled
per sostituire il valore del campoenabled
.Nel corpo della richiesta, specifica il nuovo valore:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": false } } } }
Esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.recoveryConfig.scheduledSnapshotsConfig.enabled
{
"config": {
"recoveryConfig": {
"scheduledSnapshotsConfig": {
"enabled": false
}
}
}
}
Terraform
Per disattivare gli snapshot pianificati, imposta il campo enabled
nel
blocco scheduled_snapshots_config
su false
:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = false
}
}
}
Esempio:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = false
// Other scheduled snapshots parameters
}
}
}
Passaggi successivi
- Salvare e caricare gli snapshot dell'ambiente
- Ripristino di emergenza con snapshot
- Controllo dell'accesso