Schutz neuer Compute Engine-Instanzen automatisieren

Auf dieser Seite finden Sie einen umfassenden Überblick darüber, wie Sie Sicherungen für Ihre Compute Engine-Instanzen mithilfe von Tags automatisieren.

Sicherung für neue Compute Engine-Instanzen konfigurieren

Eine Compute Engine-Instanz ist eine VM, die auf Google Cloudgehostet wird. Jede Instanz speichert Daten auf nichtflüchtigen Laufwerken, die mit der Instanz verbunden sind. Mithilfe der Google Cloud Console, der Google Cloud CLI oder der Compute Engine API können Sie eine Instanz erstellen oder eine Gruppe verwalteter Instanzen erstellen.

Weitere Informationen finden Sie unter Compute Engine.

Voraussetzung für die Automatisierung von Sicherungen

Bevor Sie mit der Automatisierung von Back-ups von Compute Engine-Instanzen beginnen, lesen Sie die folgenden Verfahren zur Vorbereitung auf Back-ups:

Nachdem Sie den Sicherungs- und Notfallwiederherstellungsdienst eingerichtet und eine Sicherungsplanungsvorlage erstellt haben, können Sie den Schutz Ihrer Compute Engine-Instanzen automatisieren, indem Sie die Sicherungsplanungsvorlage mithilfe von Tags auf die Instanz anwenden.

Berechtigungen

Zum Erstellen, Aktualisieren und Löschen von Tag-Definitionen für Compute Engine-Ressourcen benötigen Sie die Rolle Tag Administrator. Weitere Informationen zur Rolle tagUser finden Sie unter Erforderliche Berechtigungen.

Tags für dynamischen Schutz verwalten

Zum Erstellen, Aktualisieren und Löschen von dynamischen Schutz-Tags benötigen Sie eine der folgenden Rollen:

  • Administrator von Sicherungen und Notfallwiederherstellungen

  • Backup and DR Backup User

  • Backup and DR User V2

  • Projektbearbeiter

  • Projektinhaber

  • eine benutzerdefinierte Rolle mit den folgenden Berechtigungen:

Erforderliche Berechtigungen

  • backupdr.managementServers.listDynamicProtection
  • backupdr.managementServers.getDynamicProtection
  • backupdr.managementServers.createDynamicProtection
  • backupdr.managementServers.deleteDynamicProtection
  • compute.instances.listEffectiveTags

Weitere Informationen zu Rollen für den Sicherungs- und Notfallwiederherstellungsdienst

Sicherungsvorlage mithilfe von Tags automatisch anwenden

In diesem Abschnitt erfahren Sie, wie Sie die Anwendung eines Sicherungsplans auf eine Compute Engine-Instanz mithilfe von Tags automatisieren. Zuerst erstellen Sie in der Verwaltungskonsole eine Zuordnung von Sicherungsplänen zu Tags. Anschließend erstellen Sie über Identity and Access Management (IAM) Tags mit denselben Werten, die in der Verwaltungskonsole zugewiesen wurden.

Werte für dynamisches Schutz-Tag erstellen

Folgen Sie dieser Anleitung, um dynamische Schutz-Tag-Werte zu erstellen, die mit Ihren Compute Engine-Instanzen verwendet werden können:

  1. Klicken Sie in der Verwaltungskonsole auf das Drop-down-Menü Sicherungspläne und wählen Sie Tags für dynamischen Schutz aus.

  2. Klicken Sie auf Dynamic Protection Tag erstellen.

  3. Geben Sie einen eindeutigen Tag-Wert ein, der den folgenden Benennungsanforderungen entspricht.

  4. Wählen Sie in der Liste Anwendungstyp die Option Compute Engine aus.

  5. Wählen Sie eine entsprechende Vorlage und ein Profil aus, die bzw. das mit diesem Tag-Wert verknüpft werden soll.

  6. Klicken Sie auf Speichern. Es wird ein Wert für das dynamische Schutz-Tag erstellt.

Tags für dynamischen Schutz erstellen

Folgen Sie dieser Anleitung, um dynamische Schutz-Tags zu erstellen, die an Ihre Compute Engine-Instanzen angehängt werden, um den Schutz zu automatisieren:

  1. Zum Erstellen, Aktualisieren und Löschen von Tag-Definitionen benötigen Sie die Rolle „Tag-Administrator“ oder eine andere Rolle mit bestimmten Berechtigungen.

  2. Öffnen Sie in der Google Cloud Console die Seite Tags.

    Zur Seite „Tags“

  3. Wählen Sie oben auf der Seite in der Auswahl für den Umfang die Organisation oder das Projekt aus, unter dem Sie einen Tag-Schlüssel erstellen möchten.

  4. Klicken Sie auf Erstellen.

  5. Geben Sie im Feld Tag-Schlüssel backupdr-dynamicprotect als Tag-Schlüssel ein. Dies ist ein wichtiger Schritt für eine erfolgreiche Automatisierung. Achten Sie auf Rechtschreibfehler und geben Sie den Bindestrich an.

  6. Optional: Geben Sie im Feld Beschreibung des Tag-Schlüssels eine Beschreibung des Tag-Schlüssels ein.

  7. Klicken Sie auf Wert hinzufügen und geben Sie jeden Tag-Wert ein, den Sie gerade erstellt haben.

  1. Geben Sie in das Feld Tag-Wert den Anzeigenamen Ihres Tag-Werts ein. Dieser wird Teil des Namespace-Namens Ihres Tags.

  2. Geben Sie im Feld Tag-Wertbeschreibung eine Beschreibung der Vorlage und des Profils ein, die mit diesem Tag-Wert verknüpft sind.

  3. Wenn Sie alle Tag-Werte hinzugefügt haben, klicken Sie auf Tag erstellen.

Dynamischen Schutz-Tags zu einer Ressource hinzufügen

Nachdem Sie Tag-Werte für den dynamischen Schutz erstellt und mit einem Tag für den dynamischen Schutz verknüpft haben, können Sie im nächsten Schritt einer Compute Engine-Instanz Tags zuweisen. Der tagbasierte Schutz funktioniert nicht, wenn Ihre Instanzen in einer logischen Gruppe geschützt sind. Entfernen Sie die logische Gruppe und versuchen Sie, den dynamischen Schutz zu verwenden.

Aktivieren Sie zuerst die entsprechenden Berechtigungen für Ihre Rolle. Sie benötigen eine der folgenden Rollen:

  • Administrator von Sicherungen und Notfallwiederherstellungen

  • Backup and DR Backup User

  • Backup and DR User V2

  • Projektbearbeiter

  • Projektinhaber

So binden Sie Ihre Dynamic Protection-Tags an Compute Engine-Instanzen an:

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie in der Spalte Name auf den Namen der VM, für die Sie Tags hinzufügen möchten.

  4. Führen Sie auf der Seite VM-Instanzdetails folgende Schritte aus:

    1. Klicken Sie auf Bearbeiten.
    2. Klicken Sie im Bereich Basic auf Tags verwalten und fügen Sie die für die Instanz gewünschten Tags hinzu.
  5. Wählen Sie den Schlüssel „backupdr-dynamicprotect:“ und einen entsprechenden Tag-Wert aus, der einer Vorlage und einem Profil zugeordnet ist, die Sie in der Google Cloud Console festgelegt haben.

  6. Klicken Sie auf Speichern.

Tags beim Erstellen einer Ressource hinzufügen

In bestimmten Szenarien möchten Sie möglicherweise Ressourcen während der Ressourcenerstellung statt nach der Erstellung der Ressource taggen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Klicken Sie auf Tags und Labels verwalten.

  5. Klicken Sie auf Tags hinzufügen.

  6. Folgen Sie der Anleitung in der Seitenleiste, um die backupdr-dynamicprotect auszuwählen, die der Instanz hinzugefügt werden soll.

  7. Klicken Sie auf Speichern.

  8. Führen Sie die restlichen Schritte unter VM-Instanz erstellen und starten aus, um die Instanz zu erstellen.

gcloud

Wenn Sie die Google Cloud CLI oder APIs verwenden möchten, folgen Sie der SDK-Dokumentation, um Folgendes zu tun:

Terraform

Mit der folgenden Terraform-Vorlage können Sie die Verwendung dynamischer Schutz-Tags ausprobieren. Bei dieser Vorlage wird davon ausgegangen, dass Sie noch keine Schlüssel für dynamische Schutz-Tags in der Google Cloud Console erstellt haben. Sie wird für Sie eingerichtet. Mit der Vorlage wird eine neue Compute Engine-Instanz erstellt und an ein dynamisches Schutz-Tag gebunden. Sie können warten, bis der geplante Job für den dynamischen Schutz um 4:00 Uhr oder 16:00 Uhr Ortszeit ausgeführt wird, damit er wirksam wird. Sie können aber auch einen Job für den dynamischen Schutz bei Bedarf ausführen. Folgen Sie dazu der Anleitung unter Manuellen automatischen Schutz ausführen.

variable "project_id" {
  description = "The ID of the existing Google Cloud project"
  type        = string
}

variable "region" {
  description = "The Google Cloud region where demo-instance should be created"
  type        = string
}

variable "zone" {
  description = "The Google Cloud zone where demo-instance should be created"
  type        = string
}

provider "google" {
  project = var.project_id
  region = var.region
  zone  = var.zone
}

data "google_project" "project" {
  project_id = var.project_id
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/tags_tag_key
resource "google_tags_tag_key" "key" {
  parent = "projects/${var.project_id}"
  short_name = "backupdr-dynamicprotect"
  description = "Tag key for Dynamic Protection."
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/tags_tag_value
resource "google_tags_tag_value" "value" {
  parent = "tagKeys/${google_tags_tag_key.key.name}"
  short_name = "backupdr-gold" # This value should be present in the "Management Console UI" > "Backup Plans" > "Dynamic Protection Tags"
  description = "Tag value for gold plan."
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_instance
# Ensure not to define tag in "resource_manager_tags" block while creating VM instance. It'll destroy the VM
# when tag value is changed/removed later. Instead define a separate tag binding using "google_tags_tag_binding"
# or "google_tags_location_tag_binding" resource. It'll modify just tag binding and VM instance won't be affected.

resource "google_compute_instance" "vm_instance" {
  name         = "demo-instance"
  machine_type = "e2-micro"
  zone         = var.zone

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = "default"

    access_config {
      // Ephemeral public IP
    }
  }
}

# Reference: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_tags_location_tag_binding
resource "google_tags_location_tag_binding" "binding" {
    parent    = "//compute.googleapis.com/projects/${data.google_project.project.number}/zones/${var.zone}/instances/${google_compute_instance.vm_instance.instance_id}"
    tag_value = "tagValues/${google_tags_tag_value.value.name}"
    location  = var.zone
}

# Reference for Tag bindings at project/org level: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/tags_tag_binding

Tags von einer Ressource trennen

Sie können ein Tag von einer Ressource trennen, indem Sie die Tag-Bindungsressource löschen.

Eine Anleitung zum Entfernen von Tags finden Sie in der Resource Manager-Dokumentation unter Tag von einer Ressource trennen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie in der Spalte Name auf den Namen der VM, für die Sie Tags hinzufügen möchten.

  4. Führen Sie auf der Seite VM-Instanzdetails folgende Schritte aus:

  5. Klicken Sie auf Bearbeiten.

  6. Klicken Sie im Bereich Basic auf Tags verwalten und entfernen Sie die backupdr-dynamicprotect für die Instanz.

  7. Klicken Sie auf Speichern.

gcloud

Wenn Sie die Google Cloud CLI verwenden möchten, folgen Sie der Anleitung unter Mit der Google Cloud CLI ein Tag von einer Ressource lösen.

Manuellen automatischen Schutz ausführen

Die Schutz-Engine wird zwar täglich um 4:00 Uhr und 16:00 Uhr Ortszeit ausgeführt, Sie können sie aber auch mit den folgenden Befehlsschritten auf Abruf ausführen:

  1. Legen Sie den Endpunkt der Verwaltungskonsole fest, indem Sie einen Wert eingeben, der mit „https://bmc-“ beginnt und auf „.com“ endet. Beispiel: https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com

    export MC_ENDPOINT="MC_ENDPOINT_edited_value"
    
  2. So generieren Sie ein Bearer-Token:

    echo "Generating a new bearer token..."
    export BEARER_TOKEN=$(gcloud auth print-access-token)
    echo "Bearer token generated: BEARER_TOKEN=$BEARER_TOKEN"
    
  3. Neue Sitzungs-ID abrufen:

    echo "Generating a new session id..."
    export SESSION_RESPONSE=$(curl -XPOST -H "Authorization: Bearer $BEARER_TOKEN" -d {} "$MC_ENDPOINT/actifio/session" 2>&-)
    export SESSION_ID=$(echo $SESSION_RESPONSE | jq -r '.session_id')
    
    if [ -z ${SESSION_ID} ]
      then echo "Issue with generating a new session id. Response: $SESSION_RESPONSE";
      return 1;
    fi
    
    echo "Session id generated: SESSION_ID=$SESSION_ID"
    

    Nachdem Sie einen Endpunkt festgelegt, ein Bearer-Token generiert und eine Sitzungs-ID abgerufen haben, können Sie Jobs für den dynamischen Schutz für eine Stunde auslösen, bis die Sitzungs-ID abläuft.

  4. Job für dynamischen Schutz auslösen

    Ein Job für den dynamischen Schutz aktualisiert alle Compute Engine-Instanzen mit ihren aktuellen Tags und weist ihnen anhand der Tags Sicherungspläne zu. Je nach Anzahl der ausstehenden Änderungen für Ihre Arbeitslasten kann der ausgelöste Job einige Minuten dauern.

    echo "Triggering dynamic protection job.."
    
    curl -H "Authorization: Bearer $BEARER_TOKEN" -H "backupdr-management-session: Actifio $SESSION_ID" -H "Content-Type: application/json" -XPOST -d '{}' "$MC_ENDPOINT/actifio/dynamicprotection/job/gceinstance"
    
    echo "Dynamic protection job triggered."
    

Dynamischen Schutz mit Resource Manager verwenden

Sie können dynamische Schutz-Tags mit Resource Manager verwenden, um den Schutz Ihrer Compute Engine-Instanzen auf einer höheren Organisationsebene zu automatisieren. Verwenden Sie den Resource Manager, um Ressourcen auf Projektebene oder höher zu taggen, damit der Schutz auf alle Ihre Ressourcen angewendet wird. Weitere Informationen zur Tag-Übernahme

Manuellen Schutz zu dynamischem Schutz migrieren

Wenn Sie Ihre bereits geschützten Ressourcen auf den dynamischen Schutz mithilfe von Tags umstellen möchten, müssen Sie das Migrationsflag in Ihrem Projekt aktivieren. Nachdem Sie die Migration aktiviert haben, kann für alle manuell geschützten Instanzen jetzt der dynamische Schutz verwendet werden. Wenn Sie Tags und Ressourcen hinzufügen, wird der Schutz automatisch basierend auf dem Tag angewendet und der vorhandene manuelle Schutz entfernt.

Bash

Führen Sie die folgenden Befehle aus:

  1. Legen Sie den Endpunkt der Verwaltungskonsole fest, indem Sie einen Wert eingeben, der mit „https://bmc-“ beginnt und auf „.com“ endet. Beispiel: https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com

     #!/bin/bash
    
     export MC_ENDPOINT="MC_ENDPOINT_edited_value"
    
    
  2. Aktivieren Sie die Migration.

    curl -H "Authorization: Bearer $BEARER_TOKEN" -H "backupdr-management-session: Actifio $SESSION_ID" -H "Content-Type: application/json" -XPATCH -d '{ "enableMigrationToTagBasedProtection":"true"}' "$MC_ENDPOINT/actifio/dynamicprotection/jobconfig"
    

Verwaltungskonsole

So aktivieren Sie die Migration von manuell geschützten Compute Engine-Instanzen zum tagbasierten Schutz:

  1. Aktivieren Sie die Option Migration zum tagbasierten Schutz aktivieren.
  2. Bestätigen Sie die Migration im Dialogfeld „Migration aktivieren“. Manuell geschützte Compute Engine-Instanzen werden mit dem auf der VM definierten Tag neu geschützt.

So deaktivieren Sie die Migration von manuell geschützten Compute Engine-Instanzen zum tagbasierten Schutz:

  1. Deaktivieren Sie die Option Migration zum tagbasierten Schutz aktivieren.
  2. Bestätigen Sie die Deaktivierung der Migration im Dialogfeld. Dadurch wird die Migration von manuell geschützten Compute Engine-Instanzen zum tagbasierten Schutz deaktiviert.

Ereignisse und Benachrichtigungen

Nachdem die dynamische Schutz-Engine ausgeführt wurde, können Sie den Fortschritt anhand der Überwachungsereignisse prüfen. In der Verwaltungskonsole werden Zusammenfassungsbenachrichtigungen angezeigt, nachdem dynamische Schutzmaßnahmen ergriffen wurden. Fehlerbenachrichtigungen werden gesendet, wenn eine Nutzeraktion erforderlich ist.

Best Practices

Durch den dynamischen Schutz kann die Anzahl der ausgeführten Sicherungsjobs und die genutzte Speichermenge erhöht werden. Beachten Sie die folgenden Punkte, um optimale Ergebnisse zu erzielen:

  • Verlängern Sie die Sicherungszeiträume. Ein Zeitfenster von 6 bis 10 Stunden kann dazu beitragen, dass alle Jobs vollständig ausgeführt werden.

  • Berücksichtigen Sie die Gerätetypen, bevor Sie Tags einrichten. Für optimale Ergebnisse sollten sich alle getaggten Compute Engine-Instanzen auf Sicherungs-/Wiederherstellungsgeräten befinden, die den Appliance-Typ „Standard“ für Compute Engine-VMs oder SAP HANA-Datenbanken verwenden.

  • Bei einer wiederhergestellten VM wird dasselbe Schutz-Tag wie bei der Quell-VM zusammen mit demselben Sicherungsplan übernommen. Der Schutztyp ändert sich jedoch von tagbasiertem Schutz in von Nutzern initiierten Schutz. Die Ressource wird weiterhin mit dem übernommenen Sicherungsplan geschützt. Wenn Sie den Schutztyp wieder in den tagbasierten Schutz ändern möchten, können Sie den übernommenen Sicherungsplan für den Schutz entfernen und den Job für den dynamischen Schutz bei Bedarf auslösen oder auf die nächste geplante Ausführung warten, damit der Anwendung wieder der tagbasierte Schutz zugewiesen wird.

  • Eine bereitgestellte VM auf einem vorhandenen oder neu erstellten Host übernimmt nicht dasselbe Schutz-Tag wie die Quell-VM. Sie wird also nach dem Bereitstellungsvorgang nicht automatisch geschützt. Wenn eine neu bereitgestellte VM geschützt werden muss, können Sie die Tagbindung für die neue VM ähnlich wie für die Quell-VM anwenden.