Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina spiega come configurare l'ambiente per salvare gli snapshot programmazione.
Per saperne di più su come funzionano gli snapshot dell'ambiente e su come salvare manualmente, consulta Salvare e caricare gli snapshot.
Come funzionano gli snapshot pianificati
Quando abiliti gli snapshot pianificati, Cloud Composer periodicamente salva gli snapshot dell'ambiente in un bucket Cloud Storage.
Se crei snapshot manualmente, Cloud Composer salva nel bucket dell'ambiente per impostazione predefinita. Per gli snapshot pianificati, di salvare gli snapshot in un bucket separato. In questo modo puoi configurare autorizzazioni e una configurazione del ciclo di vita per questo bucket. Un bucket può contenere da diversi ambienti, e puoi anche creare bucket sono ridondanti tra le regioni.
Prima di iniziare
Per ulteriori informazioni sui requisiti e sulle limitazioni degli snapshot, consulta Salva e carica gli snapshot.
Cloud Composer supporta gli snapshot pianificati 2.0.32 e versioni successive. e versioni successive. Gli snapshot dell'ambiente sono supportati nella versione 2.0.9 e successive.
Crea un bucket per gli snapshot pianificati
Crea un bucket per gli snapshot pianificati. Pensa a come vuoi utilizzare gli snapshot dell'ambiente. Se fa parte del tuo piano di ripristino di emergenza, quindi utilizza un un bucket ridondante tra regioni o in un'altra regione, quindi puoi accedere ai dati anche in caso di a livello di regione completa. In caso contrario, un bucket nella stessa regione dell'ambiente potrebbe essere più adatto e, in questo caso, riduci i costi di trasferimento tra regioni diverse.
Configura le autorizzazioni per il bucket
Configura le seguenti autorizzazioni:
L'account di servizio del tuo ambiente deve avere e le autorizzazioni di scrittura per questo bucket. Ad esempio, Il ruolo Amministratore oggetti Storage dispone di queste autorizzazioni.
Gli account utente non hanno bisogno di autorizzazioni aggiuntive per il bucket per caricare gli snapshot, a meno che tu non voglia visualizzare i contenuti dalla console Google Cloud. In questo caso, un account utente deve aver eseguito l'accesso sul bucket.
Imposta una configurazione del ciclo di vita per il bucket
Per risparmiare sui costi di archiviazione, puoi configurare una regola che elimini l'ambiente di snapshot dopo un certo periodo di tempo.
Ad esempio, per eliminare automaticamente gli snapshot più vecchi di 30 giorni:
- Imposta una configurazione del ciclo di vita per il bucket.
- Specifica l'azione Elimina oggetto.
- Seleziona Età e 30 giorni come condizione.
Abilita una pianificazione di snapshot per il tuo ambiente
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Si apre la pagina Dettagli ambiente.
Vai alla scheda Configurazione dell'ambiente.
In Configurazione recupero > Pianificazione snapshot, fai clic su Modifica. Si apre il riquadro Pianificazione snapshot.
Nel riquadro Pianificazione snapshot, seleziona Crea snapshot periodicamente, in base alla programmazione specificata.
Nell'elenco a discesa Pianifica frequenza, seleziona Ogni giorno, ogni settimana o un periodo personalizzato per gli snapshot.
Puoi specificare una pianificazione personalizzata formato cron unix. Ad esempio, per salvare gli snapshot 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 parametri per gli snapshot pianificati:
--enable-scheduled-snapshot-creation
abilita gli snapshot pianificati.--snapshot-location
specifica una cartella del bucket in cui vuoi salvare gli snapshot.--snapshot-creation-schedule
specifica la frequenza ed eseguire 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 è un offset temporale e non tiene conto dell'ora legale modifiche. I valori validi sono compresi traUTC-12
eUTC+12
. Esempi:UTC
,UTC-01
eUTC+03
.
gcloud beta 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 e salvare l'istantanea.CRON_EXPRESSION
con la programmazione, in formato cron unix.TIME_ZONE
con un fuso orario per la pianificazione.
Esempio (ogni giorno alle 04:00, UTC+01):
gcloud beta 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
Creare una richiesta API environments.patch
.
In questa richiesta:
Nel parametro
updateMask
, specifica mascheraconfig.recoveryConfig.scheduledSnapshotsConfig
per sostituire la configurazione esistente degli snapshot pianificati.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 e salvare l'istantanea.CRON_EXPRESSION
con la programmazione, in formato cron unix.TIME_ZONE
con un fuso orario per la pianificazione. Questo è un offset temporale e non tiene conto dell'ora legale al momento della modifica. I valori validi sono compresi traUTC-12
eUTC+12
. Esempi:UTC
,UTC-01
eUTC+03
.
Esempio (ogni giorno alle 04:00, UTC+01):
// PATCH https://composer.googleapis.com/v1beta1/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
parametri per gli snapshot pianificati:
enabled
abilita gli snapshot pianificati.snapshot_location
specifica la cartella del bucket in cui salvare il file snapshot.snapshot_creation_schedule
specifica la frequenza ed eseguire 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 e salvare l'istantanea.CRON_EXPRESSION
con la programmazione, in formato cron unix.TIME_ZONE
con un fuso orario per la pianificazione. Questo è un offset temporale e non tiene conto dell'ora legale al momento della modifica. I valori validi sono compresi traUTC-12
eUTC+12
. Esempi:UTC
,UTC-01
eUTC+03
.
Esempio (ogni giorno alle 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"
}
}
}
Disabilita snapshot pianificati
Se disabiliti gli snapshot pianificati, tutti gli snapshot esistenti che erano già prese non vengono modificate né rimosse. 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. Si apre la pagina Dettagli ambiente.
Vai alla scheda Configurazione dell'ambiente.
In Configurazione recupero > Pianificazione snapshot, fai clic su Modifica. Si apre il riquadro Pianificazione snapshot.
Nel riquadro Pianificazione snapshot, seleziona Non creare snapshot automaticamente.
gcloud
Aggiorna la configurazione dell'ambiente. La
L'argomento --disable-scheduled-snapshot-creation
disattivazioni pianificate
snapshot.
gcloud beta 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 beta composer environments update example-environment \
--location us-central1 \
--disable-scheduled-snapshot-creation
API
Creare una richiesta API environments.patch
.
In questa richiesta:
Nel parametro
updateMask
, specificaconfig.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/v1beta1/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 da scheduled_snapshots_config
a 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
- Salva e carica gli snapshot dell'ambiente
- Ripristino di emergenza con snapshot
- Controllo dell'accesso