En esta página se explica cómo automatizar las copias de seguridad de las instancias de Compute Engine mediante etiquetas.
Configurar copias de seguridad para nuevas instancias de Compute Engine
Una instancia de Compute Engine es una VM alojada en Google Cloud. Cada instancia almacena datos en discos persistentes que están asociados a la instancia. Puedes crear una instancia o crear un grupo de instancias gestionadas con la Google Cloud consola, la CLI de Google Cloud o la API de Compute Engine.
Para obtener información más detallada, consulta Compute Engine.
Requisitos para automatizar las copias de seguridad
Antes de empezar a automatizar las copias de seguridad de las instancias de Compute Engine, lee los siguientes procedimientos para prepararlas:
Después de configurar el servicio de copia de seguridad y recuperación ante desastres y crear una plantilla de plan de copias de seguridad, puedes automatizar la protección de tus instancias de Compute Engine aplicando la plantilla de plan de copias de seguridad a la instancia mediante etiquetas.
Permisos
Para crear, actualizar y eliminar definiciones de etiquetas de recursos de Compute Engine, necesitas el rol Tag Administrator
. Para obtener más información sobre el rol tagUser
, consulta Permisos necesarios.
Para usar el etiquetado dinámico para crear copias de seguridad de una instancia de Compute Engine, debes asignar el rol de operador de Compute Engine de Backup y DR (roles/backupdr.computeEngineOperator
) a la cuenta de servicio del depósito de copias de seguridad en el proyecto de Compute Engine.
Administrar etiquetas de protección dinámica
Para crear, actualizar y eliminar etiquetas de protección dinámica, debe tener los permisos adecuados para su rol. Para ello, asegúrese de que tiene asignado uno de los siguientes roles:
Administrador de copias de seguridad y recuperación tras fallos
Usuario de copia de seguridad y recuperación tras fallos
Usuario de Backup y DR V2
Editor del proyecto
Propietario del proyecto
Un rol personalizado que incluya los siguientes permisos:
Permisos obligatorios
backupdr.managementServers.listDynamicProtection
backupdr.managementServers.getDynamicProtection
backupdr.managementServers.createDynamicProtection
backupdr.managementServers.deleteDynamicProtection
compute.instances.listEffectiveTags
Consulta más información sobre los roles del servicio de copia de seguridad y recuperación tras fallos.
Aplicar automáticamente una plantilla de plan de copia de seguridad mediante etiquetas
En esta sección se explica cómo automatizar la aplicación de un plan de copias de seguridad a una instancia de Compute Engine mediante etiquetas. Primero, crea una asignación de planes de copia de seguridad a etiquetas en la consola de gestión. A continuación, crea etiquetas a través de Gestión de Identidades y Accesos (IAM) con los mismos valores asignados en la consola de gestión.
Crear valores de etiquetas de protección dinámica
Sigue estas instrucciones para crear valores de etiquetas de protección dinámica que se puedan usar con tus instancias de Compute Engine:
En la consola de gestión de Backup y DR, haga clic en el menú desplegable Planes de copia de seguridad y seleccione Etiquetas de protección dinámica.
Haz clic en Crear etiqueta de protección dinámica.
Introduce un Valor de etiqueta único que cumpla estos requisitos de nomenclatura.
En la lista Tipo de aplicación, selecciona Compute Engine.
Elige una Plantilla y un Perfil correspondientes para asociarlos a este valor de etiqueta.
Haz clic en Guardar. Se crea un valor de etiqueta de protección dinámica.
Crear etiquetas de protección dinámicas
Sigue estas instrucciones para crear etiquetas de protección dinámica que se adjunten a tus instancias de Compute Engine y automatizar la protección:
Para crear, actualizar y eliminar definiciones de etiquetas, debe tener el rol Administrador de etiquetas u otro rol que incluya permisos específicos.
Abre la página Etiquetas en la consola de Google Cloud .
En el selector de ámbito de la parte superior de la página, seleccione la organización o el proyecto en el que quiera crear una clave de etiqueta.
Haz clic en
Crear.En el cuadro Clave de la etiqueta, introduce
backupdr-dynamicprotect
como clave de la etiqueta. Este paso es obligatorio para que la automatización funcione correctamente. Ten cuidado con los errores ortográficos y asegúrate de incluir el guion.Opcional: En el cuadro Descripción de la clave de etiqueta, escribe una descripción de la clave de etiqueta.
Haz clic en
Añadir valor e introduce cada valor de etiqueta que acabas de crear.
En el cuadro Valor de la etiqueta, introduzca el nombre visible del valor de la etiqueta. Este se convierte en parte del nombre con espacio de nombres de tu etiqueta.
En el cuadro Descripción del valor de la etiqueta, introduzca una descripción de la plantilla y el perfil asociados a este valor de la etiqueta.
Cuando haya terminado de añadir valores de etiqueta, haga clic en Crear clave de etiqueta.
Añadir etiquetas de protección dinámica a un recurso
Ahora que ha creado valores de etiquetas de protección dinámicas y los ha vinculado a una etiqueta de protección dinámica, el siguiente paso es asignar etiquetas a una instancia de Compute Engine. La protección basada en etiquetas no funciona si tus instancias están protegidas en un grupo lógico. Elimina el grupo lógico y prueba a usar la protección dinámica.
Puedes adjuntar tus etiquetas de protección dinámica a instancias de Compute Engine siguiendo estas instrucciones:
En la Google Cloud consola, ve a la página Compute Engine > Instancias de VM.
En la columna Nombre, haz clic en el nombre de la VM a la que quieras añadir etiquetas.
En la página de detalles de la instancia de VM, sigue estos pasos:
- Haz clic en Editar.
- En la sección Básico, haga clic en Gestionar etiquetas y añada las etiquetas que quiera para la instancia.
Selecciona la clave
backupdr-dynamicprotect:
y el Valor de etiqueta correspondiente que se asigne a una plantilla y a un perfil que hayas definido en la consola Google Cloud .Haz clic en Guardar.
Añadir etiquetas a un recurso durante la creación del recurso
En algunos casos, puede que quieras etiquetar recursos durante la creación de recursos, en lugar de hacerlo después.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Selecciona el proyecto y haz clic en Continuar.
Haz clic en Crear instancia.
Haz clic en Gestionar etiquetas.
Haz clic en Añadir etiquetas.
Sigue las instrucciones del panel lateral para seleccionar el
backupdr-dynamicprotect
que quieras añadir a la instancia.Haz clic en Guardar.
Sigue los pasos que se indican en Crear y poner en marcha una instancia de VM para terminar de crear la instancia.
gcloud
Para usar la CLI de Google Cloud o las APIs, sigue la documentación del SDK para hacer lo siguiente:
Terraform
Usa la siguiente plantilla de Terraform para empezar a usar etiquetas de protección dinámicas. Esta plantilla da por hecho que aún no has creado ninguna clave de etiqueta de Protección dinámica en la Google Cloud consola y la configurará por ti. La plantilla crea una instancia de Compute Engine y la vincula a una etiqueta de protección dinámica. Puedes esperar a que se ejecute el trabajo de protección dinámica programado a las 4:00 o a las 16:00 (hora local) para que se aplique, o bien ejecutar un trabajo de protección dinámica a petición siguiendo los pasos que se indican en Ejecutar protección automática manual.
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
Desvincular una etiqueta de un recurso
Puedes separar una etiqueta de un recurso eliminando el recurso de vinculación de etiquetas.
Para consultar las instrucciones sobre cómo desvincular etiquetas, consulta el artículo Desvincular una etiqueta de un recurso de la documentación de Resource Manager.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Selecciona el proyecto y haz clic en Continuar.
En la columna Nombre, haz clic en el nombre de la VM a la que quieras añadir etiquetas.
En la página de detalles de la instancia de VM, sigue estos pasos:
Haz clic en Editar.
En la sección Básico, haga clic en Gestionar etiquetas y quite la
backupdr-dynamicprotect
de la instancia.Haz clic en Guardar.
gcloud
Para usar Google Cloud CLI, sigue las instrucciones de la documentación para desasociar una etiqueta de un recurso con Google Cloud CLI.
Ejecutar la protección automática manual
Aunque el motor de protección se ejecuta todos los días a las 4:00 y a las 16:00 (hora local), también puedes ejecutarlo bajo demanda siguiendo estos pasos:
Define el endpoint de la consola de gestión introduciendo un valor que empiece por "https://bmc-" y termine por ".com". Por ejemplo,
https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com
export MC_ENDPOINT="MC_ENDPOINT_edited_value"
Genera un token de portador:
echo "Generating a new bearer token..." export BEARER_TOKEN=$(gcloud auth print-access-token) echo "Bearer token generated: BEARER_TOKEN=$BEARER_TOKEN"
Obtener un nuevo ID de sesión:
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"
Una vez que hayas definido un endpoint, generado un token de portador y obtenido un ID de sesión, podrás activar tareas de protección dinámica durante una hora hasta que caduque el ID de sesión.
Activar una tarea de protección dinámica
Una tarea de protección dinámica actualiza todas las instancias de Compute Engine con sus etiquetas actuales y asigna planes de copias de seguridad en función de las etiquetas. La tarea activada puede tardar unos minutos en función del número de cambios pendientes de tus cargas de trabajo.
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."
Usar Protección dinámica con el Gestor de recursos
Puede usar etiquetas de protección dinámicas con Resource Manager para automatizar la protección de sus instancias de Compute Engine a un nivel de organización superior. Usa Resource Manager para etiquetar recursos a nivel de proyecto o superior y así asegurarte de que la protección se herede en todos tus recursos. Consulte más información sobre la herencia de etiquetas.
Migrar la protección manual a la protección dinámica
Si quieres migrar tus recursos protegidos a la protección dinámica mediante etiquetas, debes habilitar la marca de migración en tu proyecto. Una vez que haya habilitado la migración, las instancias protegidas manualmente podrán usar la protección dinámica. Si se añaden etiquetas y recursos automáticamente, se protege en función de la etiqueta y se elimina la protección manual.
Bash
Ejecuta los siguientes comandos.
Define el endpoint de la consola de gestión introduciendo un valor que empiece por "https://bmc-" y termine por ".com". Por ejemplo,
https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com
#!/bin/bash export MC_ENDPOINT="MC_ENDPOINT_edited_value"
Habilita la migración.
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"
Consola de administración
Para habilitar la migración de instancias de Compute Engine protegidas manualmente a la protección basada en etiquetas, sigue estos pasos:
- Activa la opción Habilitar la migración a la protección basada en etiquetas.
- Confirma el cuadro de diálogo Habilitar migración. Las instancias de Compute Engine protegidas manualmente se volverán a proteger con la etiqueta definida en la VM.
Para inhabilitar la migración de instancias de Compute Engine protegidas manualmente a la protección basada en etiquetas, sigue estos pasos:
- Desactiva la opción Habilitar la migración a la protección basada en etiquetas.
- Confirma el cuadro de diálogo Inhabilitar migración. De esta forma, se inhabilita la migración de instancias de Compute Engine protegidas manualmente a la protección basada en etiquetas.
Eventos y notificaciones
Una vez que se haya ejecutado el motor de protección dinámica, puedes consultar el progreso en los eventos de monitorización. La consola de gestión recibe notificaciones de resumen después de realizar acciones de protección dinámica. Se envían notificaciones de error si es necesaria alguna acción por parte del usuario.
Prácticas recomendadas
La protección dinámica puede aumentar el número de trabajos de copia de seguridad en ejecución y la cantidad de almacenamiento utilizado. Para obtener los mejores resultados posibles, ten en cuenta lo siguiente:
Aumentar las ventanas de copia de seguridad. Por lo general, un periodo de entre 6 y 10 horas permite que se completen todos los trabajos.
Una VM restaurada tendrá la misma etiqueta de protección que la VM de origen, así como el mismo plan de copia de seguridad. Sin embargo, el tipo de protección cambiará de protección basada en etiquetas a protección iniciada por el usuario. El recurso seguirá protegido con el plan de copia de seguridad transferido. Para volver a cambiar el tipo de protección a la protección basada en etiquetas, puedes quitar el plan de copia de seguridad de protección transferido y activar el trabajo de protección dinámica bajo demanda o esperar a que se ejecute la próxima vez que esté programado para que se le vuelva a asignar a la aplicación la protección basada en etiquetas.
Una VM montada en un host actual o recién creado no tendrá la misma etiqueta de protección que la VM de origen, por lo que no estará protegida automáticamente después de la operación de montaje. Si es necesario proteger una VM recién montada, puedes aplicar un enlace de etiqueta a la nueva VM de forma similar a la VM de origen.