Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird erläutert, wie Sie Ihre Umgebung so konfigurieren, dass Snapshots nach einem Zeitplan gespeichert werden.
Weitere Informationen zur Funktionsweise von Umgebungs-Snapshots und zum manuellen Speichern von Snapshots finden Sie unter Snapshots speichern und laden.
Funktionsweise von geplanten Snapshots
Wenn Sie geplante Snapshots aktivieren, speichert Cloud Composer regelmäßig Snapshots der Umgebung in einem Cloud Storage-Bucket.
Wenn Sie Snapshots manuell erstellen, speichert Cloud Composer Snapshots standardmäßig im Bucket der Umgebung. Bei geplanten Snapshots empfiehlt es sich, Snapshots in einem separaten Bucket zu speichern. Auf diese Weise können Sie Berechtigungen und eine Lebenszykluskonfiguration für diesen Bucket einrichten. Ein Bucket kann Snapshots aus mehreren Umgebungen enthalten. Sie können aber auch Buckets erstellen, die regionenübergreifend redundant sind.
Hinweise
Weitere Informationen zu Anforderungen und Einschränkungen für Snapshots finden Sie unter Snapshots speichern und laden.
Cloud Composer unterstützt geplante Snapshots ab Version 2.0.32. Umgebungs-Snapshots werden in Version 2.0.9 und höher unterstützt.
Bucket für geplante Snapshots erstellen
Erstellen Sie einen Bucket für geplante Snapshots. Überlegen Sie, wie Sie Umgebungs-Snapshots verwenden möchten. Wenn er Teil Ihres Notfallwiederherstellungsplans ist, verwenden Sie einen Bucket, der über Regionen redundant ist, oder einen Bucket in einer anderen Region, damit Sie auch bei einem vollständigen regionalen Ausfall Zugriff auf die Daten haben. Andernfalls ist ein Bucket in derselben Region wie die Umgebung möglicherweise besser geeignet, wodurch Sie die Kosten für die Übertragung von Daten zwischen Regionen senken.
Berechtigungen für den Bucket konfigurieren
Konfigurieren Sie die folgenden Berechtigungen:
Das Dienstkonto Ihrer Umgebung muss Lese- und Schreibberechtigungen für diesen Bucket haben. Die Rolle Storage-Objekt-Administrator hat beispielsweise solche Berechtigungen.
Nutzerkonten benötigen keine zusätzlichen Berechtigungen für den Bucket, um Snapshots daraus zu laden, es sei denn, Sie möchten den Inhalt des Buckets über die Google Cloud Console aufrufen. In diesem Fall muss das Nutzerkonto eine Leseberechtigung für den Bucket haben.
Lebenszykluskonfiguration für den Bucket festlegen
Um Speicherkosten zu sparen, können Sie eine Regel konfigurieren, die Umgebungs-Snapshots nach einem bestimmten Zeitraum löscht.
So löschen Sie beispielsweise automatisch Snapshots, die älter als 30 Tage sind:
- Legen Sie eine Lebenszykluskonfiguration für den Bucket fest.
- Geben Sie die Aktion Objekt löschen an.
- Wählen Sie Alter und 30 Tage als Bedingung aus.
Snapshot-Zeitplan für die Umgebung aktivieren
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie unter Konfiguration für die Wiederherstellung > Snapshot-Zeitplan auf Bearbeiten. Der Bereich Snapshot-Zeitplan wird geöffnet.
Wählen Sie im Bereich Snapshot-Zeitplan die Option Snapshots regelmäßig nach dem angegebenen Zeitplan erstellen aus.
Wählen Sie in der Drop-down-Liste Zeitplanhäufigkeit die Option „Täglich“, „Wöchentlich“ oder „Benutzerdefinierter Zeitraum“ für Snapshots aus.
Sie können einen benutzerdefinierten Zeitplan im Format unix-cron angeben. Wenn Sie beispielsweise Snapshots alle 30 Minuten speichern möchten, geben Sie
*/30 * * * *
an.Wählen Sie im Feld Snapshot-Speicherort den Bucket-Ordner aus, in dem Sie Snapshots speichern möchten.
gcloud
Aktualisieren Sie Ihre Umgebungskonfiguration. Die folgenden Argumente definieren Parameter für geplante Snapshots:
--enable-scheduled-snapshot-creation
aktiviert geplante Snapshots.--snapshot-location
gibt einen Bucket-Ordner an, in dem Sie Snapshots speichern möchten.--snapshot-creation-schedule
gibt im Unix-Cron-Format an, wie oft Umgebungs-Snapshots erstellt werden müssen. Wenn Sie beispielsweise alle 30 Minuten einen Snapshot erstellen möchten, geben Sie*/30 * * * *
an.--snapshot-schedule-timezone
definiert eine Zeitzone für den Zeitplan. Dieser Wert ist eine Zeitverschiebung, bei der die Umstellung auf die Sommerzeit nicht berücksichtigt wird. Gültige Werte sind:UTC-12
bisUTC+12
. Beispiele:UTC
,UTC-01
,UTC+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"
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.SNAPSHOTS_FOLDER
durch den URI eines Bucket-Ordners, in dem der Snapshot gespeichert werden soll.CRON_EXPRESSION
durch den Zeitplan im unix-cron-Format.TIME_ZONE
durch eine Zeitzone für den Zeitplan.
Beispiel (täglich um 4:00 Uhr 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
Erstellen Sie eine API-Anfrage environments.patch
.
In dieser Anfrage:
Geben Sie im Parameter
updateMask
die Maskeconfig.recoveryConfig.scheduledSnapshotsConfig
an, um die vorhandene Konfiguration für geplante Snapshots zu ersetzen.Geben Sie im Anfragetext die Konfiguration für Snapshots an:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://SNAPSHOTS_FOLDER", "snapshot_creation_schedule": "CRON_EXPRESSION", "time_zone": "TIME_ZONE" } } } }
Ersetzen Sie:
SNAPSHOTS_FOLDER
durch den URI eines Bucket-Ordners, in dem der Snapshot gespeichert werden soll.CRON_EXPRESSION
durch den Zeitplan im unix-cron-Format.TIME_ZONE
durch eine Zeitzone für den Zeitplan. Dieser Wert ist eine Zeitverschiebung und berücksichtigt keine Sommerzeitänderungen. Gültige Werte sind:UTC-12
bisUTC+12
. Beispiele:UTC
,UTC-01
,UTC+03
.
Beispiel (täglich um 4:00 Uhr 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
Der scheduled_snapshots_config
im Block recovery_config
definiert Parameter für geplante Snapshots:
enabled
aktiviert geplante Snapshots.snapshot_location
gibt einen Bucket-Ordner an, in dem Snapshots gespeichert werden sollen.snapshot_creation_schedule
gibt im Unix-Cron-Format an, wie oft Umgebungs-Snapshots erstellt werden müssen. Wenn Sie beispielsweise alle 30 Minuten einen Snapshot erstellen möchten, geben Sie*/30 * * * *
an.
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"
}
}
}
Ersetzen Sie:
SNAPSHOTS_FOLDER
durch den URI eines Bucket-Ordners, in dem der Snapshot gespeichert werden soll.CRON_EXPRESSION
durch den Zeitplan im unix-cron-Format.TIME_ZONE
durch eine Zeitzone für den Zeitplan. Dieser Wert ist eine Zeitverschiebung und berücksichtigt keine Sommerzeitänderungen. Gültige Werte sind:UTC-12
bisUTC+12
. Beispiele:UTC
,UTC-01
,UTC+03
.
Beispiel (täglich um 4:00 Uhr 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"
}
}
}
Geplante Snapshots deaktivieren
Wenn Sie geplante Snapshots deaktivieren, werden alle vorhandenen Snapshots, die bereits erstellt wurden, weder geändert noch entfernt. Diese Snapshots bleiben an dem Ort, an dem sie gespeichert wurden.
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie unter Konfiguration für die Wiederherstellung > Snapshot-Zeitplan auf Bearbeiten. Der Bereich Snapshot-Zeitplan wird geöffnet.
Wählen Sie im Bereich Snapshot-Zeitplan die Option Snapshots nicht automatisch erstellen aus.
gcloud
Aktualisieren Sie Ihre Umgebungskonfiguration. Das Argument --disable-scheduled-snapshot-creation
deaktiviert geplante Snapshots.
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-scheduled-snapshot-creation
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.
Beispiel:
gcloud beta composer environments update example-environment \
--location us-central1 \
--disable-scheduled-snapshot-creation
API
Erstellen Sie eine API-Anfrage environments.patch
.
In dieser Anfrage:
Geben Sie im Parameter
updateMask
die Maskeconfig.recoveryConfig.scheduledSnapshotsConfig.enabled
an, um den Wert des Feldsenabled
zu ersetzen.Geben Sie im Anfragetext den neuen Wert an:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": false } } } }
Beispiel:
// 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
Wenn Sie geplante Snapshots deaktivieren möchten, legen Sie das Feld enabled
im Block scheduled_snapshots_config
auf false
fest:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = false
}
}
}
Beispiel:
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
}
}
}