Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird erläutert, wie Sie Ihre Umgebung so konfigurieren, dass Snapshots in einem ein.
Weitere Informationen zur Funktionsweise und Speicherung von Umgebungs-Snapshots Snapshots manuell erstellen, siehe Snapshots speichern und laden.
Funktionsweise geplanter 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 sie standardmäßig im Bucket der Umgebung. Für geplante Snapshots empfehlen, Snapshots in einem separaten Bucket zu speichern. Auf diese Weise können Sie Berechtigungen und eine Lebenszykluskonfiguration für diesen Bucket. Ein Bucket kann enthalten sein Snapshots aus verschiedenen Umgebungen erstellen. Außerdem können Sie Buckets erstellen, sind regionenübergreifend redundant.
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 dies Teil Ihres Notfallwiederherstellungsplans ist, verwenden Sie einen redundanten Bucket über mehrere Regionen hinweg oder einen Bucket in einer anderen Region, damit Sie auch bei einem vollständigen regionalen Ausfall auf die Daten zugreifen können. Andernfalls ist ein Bucket in derselben Region wie die Umgebung möglicherweise besser geeignet. In diesem Fall reduzieren Sie die Kosten für die Übertragung von Daten zwischen Regionen.
Berechtigungen für den Bucket konfigurieren
Konfigurieren Sie die folgenden Berechtigungen:
Das Dienstkonto Ihrer Umgebung muss folgende Berechtigungen haben: und Schreibberechtigungen für diesen Bucket. Beispiel: Der Parameter Die Rolle Storage-Objekt-Administrator verfügt über solche Berechtigungen.
Nutzerkonten benötigen keine zusätzlichen Berechtigungen für den Bucket, um Snapshots daraus zu laden, es sei denn, Sie möchten sich den Inhalt des Buckets in der Google Cloud Console ansehen. In diesem Fall muss ein Nutzerkonto Leseberechtigung für den Bucket haben.
Lebenszykluskonfiguration für den Bucket festlegen
Um Speicherkosten zu sparen, können Sie eine Regel konfigurieren, durch die die Umgebung gelöscht wird nach einem bestimmten Zeitraum erstellen.
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 als Bedingung Alter und 30 Tage aus.
Snapshot-Zeitplan für Ihre 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 erstellen gemäß dem festgelegten Zeitplan.
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 unix-cron-Format angeben. Wenn Sie beispielsweise alle 30 Minuten Snapshots speichern möchten, geben Sie
*/30 * * * *
an.Wählen Sie im Feld Snapshot-Speicherort den Bucket-Ordner aus, in dem Sie Momentaufnahmen speichern möchten.
gcloud
Aktualisieren Sie Ihre Umgebungskonfiguration. Mit den folgenden Argumenten werden Parameter für geplante Snapshots definiert:
- Mit
--enable-scheduled-snapshot-creation
werden geplante Snapshots aktiviert. --snapshot-location
gibt einen Bucket-Ordner an, in dem Snapshots gespeichert werden sollen.Mit
--snapshot-creation-schedule
wird angegeben, wie oft Umgebungs-Snapshots im Unix-Cron-Format erstellt werden müssen. Geben Sie beispielsweise*/30 * * * *
an, um alle 30 Minuten einen Snapshot zu erstellen.--snapshot-schedule-timezone
definiert eine Zeitzone für den Zeitplan. Dieser Wert ist ein Zeitoffset und berücksichtigt keine Änderungen der Sommerzeit. 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 um den Snapshot zu speichern.CRON_EXPRESSION
mit dem Zeitplan im unix-cron-Format.TIME_ZONE
mit einer Zeitzone für den Zeitplan.
Beispiel (jeden Tag 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 um den Snapshot zu speichern.CRON_EXPRESSION
mit dem Zeitplan im unix-cron-Format.TIME_ZONE
mit einer Zeitzone für den Zeitplan. Dieses -Wert ist eine Zeitverschiebung und berücksichtigt nicht die Sommerzeit. Zeitänderungen auftreten. Gültige Werte sindUTC-12
bisUTC+12
. Beispiele:UTC
,UTC-01
,UTC+03
.
Beispiel (jeden Tag 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
Mit scheduled_snapshots_config
im recovery_config
-Block wird definiert,
Parameter für geplante Snapshots:
enabled
aktiviert geplante Snapshots.snapshot_location
gibt einen Bucket-Ordner an, in dem Snapshots gespeichert werden sollen.- Mit
snapshot_creation_schedule
wird angegeben, wie oft Umgebungs-Snapshots im Unix-Cron-Format erstellt werden müssen. Geben Sie beispielsweise*/30 * * * *
an, um alle 30 Minuten einen Snapshot zu erstellen.
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 angeben.TIME_ZONE
mit einer Zeitzone für den Zeitplan. Dieses -Wert ist eine Zeitverschiebung und berücksichtigt nicht die Sommerzeit. Zeitänderungen auftreten. Gültige Werte sindUTC-12
bisUTC+12
. Beispiele:UTC
,UTC-01
,UTC+03
.
Beispiel (jeden Tag 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 werden nicht geändert oder entfernt. Diese Snapshots bleiben an dem Speicherort, 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 Wiederherstellungskonfiguration > Zeitplan für Snapshots 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 die Umgebungskonfiguration. Mit dem Argument --disable-scheduled-snapshot-creation
werden geplante Snapshots deaktiviert.
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
config.recoveryConfig.scheduledSnapshotsConfig.enabled
-Maske, 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
Um geplante Snapshots zu deaktivieren, legen Sie das Feld enabled
in der
scheduled_snapshots_config
-Block an false
:
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
}
}
}