Questa pagina descrive in dettaglio come automatizzare i backup per le istanze Compute Engine utilizzando i tag.
Configura il backup per le nuove istanze Compute Engine
Un'istanza Compute Engine è una VM ospitata su Google Cloud. Ogni istanza archivia i dati su Persistent Disk collegati all'istanza. Puoi creare un'istanza o creare un gruppo di istanze gestite utilizzando la console Google Cloud , Google Cloud CLI o l'API Compute Engine.
Per informazioni più dettagliate, consulta Compute Engine.
Prerequisito per automatizzare i backup
Prima di iniziare ad automatizzare i backup delle istanze Compute Engine, leggi le seguenti procedure per prepararti ai backup:
Dopo aver configurato il servizio di Backup e DR e creato un modello di piano di backup, puoi automatizzare la protezione delle tue istanze Compute Engine applicando il modello di piano di backup all'istanza utilizzando i tag.
Autorizzazioni
Per creare, aggiornare ed eliminare le definizioni dei tag per le risorse Compute Engine, devi disporre del ruolo Tag Administrator
. Per ulteriori informazioni sul ruolo
tagUser
, consulta Autorizzazioni richieste.
Per utilizzare il tagging dinamico per eseguire il backup di un'istanza Compute Engine, devi concedere
il ruolo IAM operatore Compute Engine di Backup e DR
(roles/backupdr.computeEngineOperator
) all'agente di servizio del vault di backup all'interno del progetto Compute Engine.
Amministrare i tag di protezione dinamica
Per creare, aggiornare ed eliminare i tag di protezione dinamica, devi disporre delle autorizzazioni appropriate per il tuo ruolo per assicurarti di avere uno dei seguenti ruoli assegnati:
Backup and DR Admin
Backup and DR Backup User
Backup and DR User V2
Editor progetto
Proprietario progetto
un ruolo personalizzato che include le seguenti autorizzazioni:
Autorizzazioni obbligatorie
backupdr.managementServers.listDynamicProtection
backupdr.managementServers.getDynamicProtection
backupdr.managementServers.createDynamicProtection
backupdr.managementServers.deleteDynamicProtection
compute.instances.listEffectiveTags
Scopri di più sui ruoli del servizio di backup e DR.
Applicare un modello di piano di backup utilizzando automaticamente i tag
Questa sezione ti aiuta ad automatizzare l'applicazione di un piano di backup a un'istanza Compute Engine utilizzando i tag. Per prima cosa, crea una mappatura dei piani di backup ai tag nella console di gestione. Poi crei i tag tramite Identity and Access Management (IAM) utilizzando gli stessi valori assegnati nella console di gestione.
Creare valori dei tag di protezione dinamica
Segui queste istruzioni per creare valori di tag di protezione dinamica che possono essere utilizzati con le istanze Compute Engine:
Nella console di gestione di Backup e RE, fai clic sul menu a discesa Piani di backup e seleziona Tag di protezione dinamica.
Fai clic su Crea tag di protezione dinamica.
Inserisci un valore tag univoco che rispetti questi requisiti di denominazione.
Dall'elenco Tipo di applicazione, seleziona Compute Engine.
Scegli un Modello e un Profilo corrispondenti da associare a questo valore tag.
Fai clic su Salva. Viene creato un valore tag di protezione dinamica.
Creare tag di protezione dinamica
Segui queste istruzioni per creare tag di protezione dinamica da allegare alle tue istanze Compute Engine per automatizzare la protezione:
Per creare, aggiornare ed eliminare le definizioni dei tag, devi disporre del ruolo Amministratore tag o di un altro ruolo che includa autorizzazioni specifiche.
Apri la pagina Tag nella console Google Cloud .
Nel selettore di ambito nella parte superiore della pagina, seleziona l'organizzazione o il progetto in cui vuoi creare una chiave tag.
Fai clic su
Crea.Nella casella Chiave tag, inserisci
backupdr-dynamicprotect
come chiave del tag. Questo è un passaggio obbligatorio per un'automazione efficace. Fai attenzione agli errori di ortografia e assicurati di includere il trattino.(Facoltativo) Nella casella Descrizione chiave tag, inserisci una descrizione della chiave tag.
Fai clic su
Aggiungi valore e inserisci ogni valore tag che hai appena creato.
Nella casella Valore tag, inserisci il nome visualizzato del valore del tag. Questo diventa parte del nome spazio dei nomi del tag.
Nella casella Descrizione del valore tag, inserisci una descrizione del modello e del profilo associati a questo valore tag.
Al termine dell'aggiunta dei valori dei tag, fai clic su Crea chiave tag.
Aggiunta di tag di protezione dinamica a una risorsa
Ora che hai creato i valori dei tag di protezione dinamica e li hai collegati a un tag di protezione dinamica, il passaggio successivo è assegnare i tag a un'istanza Compute Engine. La protezione basata sui tag non funziona se le istanze sono protette all'interno di un gruppo logico. Rimuovi il gruppo logico e prova a utilizzare la protezione dinamica.
I tag di protezione dinamica possono essere collegati alle istanze Compute Engine utilizzando queste istruzioni:
Nella console Google Cloud , vai alla pagina Compute Engine > Istanze VM.
Nella colonna Nome, fai clic sul nome della VM a cui vuoi aggiungere i tag.
Nella pagina dei dettagli dell'istanza VM, completa i seguenti passaggi:
- Fai clic su Modifica.
- Nella sezione Di base, fai clic su Gestisci tag e aggiungi i tag che preferisci per l'istanza.
Seleziona la chiave
backupdr-dynamicprotect:
e un valore tag corrispondente che esegue il mapping a un modello e a un profilo impostati nella console Google Cloud .Fai clic su Salva.
Aggiunta di tag a una risorsa durante la creazione
In alcuni scenari, potresti voler taggare le risorse durante la loro creazione, piuttosto che dopo.
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona il progetto e fai clic su Continua.
Fai clic su Crea istanza.
Fai clic su Gestisci tag ed etichette.
Fai clic su Aggiungi tag.
Segui le istruzioni nel riquadro laterale per selezionare
backupdr-dynamicprotect
da aggiungere all'istanza.Fai clic su Salva.
Completa gli altri passaggi descritti in Crea e avvia un'istanza VM per completare la creazione dell'istanza.
gcloud
Per utilizzare Google Cloud CLI o le API, segui la documentazione di SDK per:
Terraform
Utilizza il seguente modello Terraform per iniziare a utilizzare i tag di protezione dinamica. Questo modello presuppone che tu non abbia ancora creato chiavi tag Dynamic Protection nella console Google Cloud e le configurerà per te. Il modello crea una nuova istanza Compute Engine e la associa a un tag di protezione dinamica. Puoi attendere l'esecuzione del job di protezione dinamica pianificato alle 4:00 o alle 16:00 ora locale per renderlo effettivo oppure puoi eseguire un job di protezione dinamica on demand seguendo i passaggi descritti in Esegui la protezione automatica manuale.
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
Scollega un tag da una risorsa
Puoi scollegare un tag da una risorsa eliminando la risorsa di associazione dei tag.
Per istruzioni su come scollegare i tag, consulta Scollega un tag da una risorsa nella documentazione di Resource Manager.
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona il progetto e fai clic su Continua.
Nella colonna Nome, fai clic sul nome della VM per cui vuoi aggiungere i tag.
Nella pagina dei dettagli dell'istanza VM, completa i seguenti passaggi:
Fai clic su Modifica.
Nella sezione Di base, fai clic su Gestisci tag e rimuovi
backupdr-dynamicprotect
per l'istanza.Fai clic su Salva.
gcloud
Per utilizzare Google Cloud CLI, segui la documentazione per utilizzare Google Cloud CLI per scollegare un tag da una risorsa.
Esegui la protezione automatica manuale
Sebbene il motore di protezione venga eseguito ogni giorno alle 04:00 e alle 16:00 ora locale, puoi anche eseguire un'esecuzione on demand del motore di protezione dinamica utilizzando i seguenti passaggi del comando:
Imposta l'endpoint della console di gestione inserendo un valore che inizia con "https://bmc-" e termina con ".com". Ad esempio,
https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com
export MC_ENDPOINT="MC_ENDPOINT_edited_value"
Genera un token di tipo Bearer:
echo "Generating a new bearer token..." export BEARER_TOKEN=$(gcloud auth print-access-token) echo "Bearer token generated: BEARER_TOKEN=$BEARER_TOKEN"
Per ottenere un nuovo ID sessione:
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"
Dopo aver impostato un endpoint, generato un token di autenticazione e ottenuto un ID sessione, puoi attivare job di protezione dinamica per un'ora fino alla scadenza dell'ID sessione.
Attivare un job di protezione dinamica
Un job di protezione dinamica aggiorna tutte le istanze Compute Engine con i relativi tag attuali e assegna piani di backup in base ai tag. L'esecuzione del job attivato può richiedere alcuni minuti, a seconda del numero di modifiche in attesa per i tuoi workload.
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."
Utilizzare la protezione dinamica con Resource Manager
Puoi utilizzare i tag di protezione dinamica con Resource Manager, automatizzando la protezione delle tue istanze Compute Engine a un livello organizzativo superiore. Utilizza Resource Manager per taggare le risorse a livello di progetto o superiore per assicurarti che la protezione venga ereditata da tutte le tue risorse. Scopri di più sull'ereditarietà dei tag.
Eseguire la migrazione della protezione manuale alla protezione dinamica
Se intendi eseguire la migrazione delle risorse già protette per utilizzare la protezione dinamica tramite i tag, devi attivare il flag di migrazione nel tuo progetto. Dopo aver attivato la migrazione, tutte le istanze protette manualmente possono ora utilizzare la protezione dinamica. L'aggiunta automatica di tag e risorse protegge in base al tag e rimuove la protezione manuale esistente.
Bash
Esegui questi comandi.
Imposta l'endpoint della console di gestione inserendo un valore che inizia con "https://bmc-" e termina con ".com". Ad esempio,
https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com
#!/bin/bash export MC_ENDPOINT="MC_ENDPOINT_edited_value"
Attiva la migrazione.
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"
Console di gestione
Per abilitare la migrazione delle istanze Compute Engine protette manualmente alla protezione basata su tag, segui questi passaggi:
- Attiva l'opzione Attiva la migrazione alla protezione basata su tag.
- Conferma la finestra di dialogo Abilita migrazione. Le istanze di Compute Engine protette manualmente verranno riprotette utilizzando il tag definito sulla VM.
Per disattivare la migrazione delle istanze Compute Engine protette manualmente alla protezione basata su tag:
- Imposta l'opzione Attiva la migrazione alla protezione basata sui tag su OFF.
- Conferma la finestra di dialogo Disattiva migrazione. In questo modo viene disattivata la migrazione delle istanze Compute Engine protette manualmente alla protezione basata su tag.
Eventi e notifiche
Dopo l'esecuzione del motore di protezione dinamica, puoi esaminare l'avanzamento dalla sezione Monitora eventi. La console di gestione riceve notifiche di riepilogo dopo l'esecuzione di azioni di protezione dinamica. Le notifiche di errore vengono inviate se è necessaria un'azione dell'utente.
Best practice
La protezione dinamica può aumentare il numero di job di backup in esecuzione e la quantità di spazio di archiviazione utilizzato. Per ottenere risultati ottimali, tieni presente quanto segue:
Aumenta le finestre di backup. Un intervallo di 6-10 ore di solito consente l'esecuzione di tutti i job fino al completamento.
Una VM ripristinata manterrà lo stesso tag di protezione della VM di origine e lo stesso piano di backup, ma il tipo di protezione cambierà da protezione basata su tag a protezione avviata dall'utente. La risorsa continuerà a essere protetta utilizzando il piano di backup riportato. Per ripristinare la protezione basata sui tag, puoi rimuovere il piano di backup della protezione trasferita e attivare il job di protezione dinamica on demand o attendere la sua prossima esecuzione pianificata in modo che all'applicazione venga nuovamente assegnata la protezione basata sui tag.
Una VM montata su un host esistente o appena creato non manterrà lo stesso tag di protezione della VM di origine, quindi non verrà protetta automaticamente dopo l'operazione di montaggio. Se una VM appena montata deve essere protetta, puoi applicare un binding dei tag alla nuova VM in modo simile alla VM di origine.