Automatiza la protección de instancias de Compute Engine en la consola de administración de dispositivos

En esta página, se explica cómo automatizar las copias de seguridad de las instancias de Compute Engine con etiquetas en la consola de administración de dispositivos.

Configura la copia de seguridad para instancias nuevas 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 conectados a la instancia. Puedes crear una instancia o crear un grupo de instancias administradas mediante la Google Cloud consola, la CLI de gcloud o la API de Compute Engine.

Para obtener información más detallada, consulta Compute Engine.

Requisitos previos para automatizar las copias de seguridad

Antes de comenzar a automatizar las copias de seguridad de las instancias de Compute Engine, lee los siguientes procedimientos para prepararte para las copias de seguridad:

Después de configurar Backup and DR y crear una plantilla de planificación de copias de seguridad, puedes automatizar la protección de tus instancias de Compute Engine aplicando la plantilla de planificación de copias de seguridad a la instancia con etiquetas.

Permisos

Para crear, actualizar y borrar definiciones de etiquetas para recursos de Compute Engine, necesitas el rol Tag Administrator. Para obtener más información sobre el tagUser rol, consulta Permisos necesarios.

Para usar el etiquetado dinámico para crear una copia de seguridad de una instancia de Compute Engine, debes otorgar el rol de Identity and Access Management (IAM) de operador de Compute Engine de Backup and DR (roles/backupdr.computeEngineOperator) al agente de servicio del dispositivo de copia de seguridad o recuperación dentro del proyecto de Compute Engine.

Administra etiquetas de protección dinámicas

Para crear, actualizar y borrar etiquetas de protección dinámicas, debes tener los permisos adecuados para tu rol y asegurarte de tener asignado uno de los siguientes roles:

  • Administrador de Backup and DR

  • Usuario que aplica Backup and DR

  • Usuario de Backup and DR V2

  • Editor de proyecto

  • Propietario del proyecto

  • Un rol personalizado que incluya los siguientes permisos:

Permisos necesarios

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

Obtén más información sobre los roles de Backup and DR.

Aplica automáticamente una plantilla de planificación de copias de seguridad con etiquetas

En esta sección, se te ayudará a automatizar la aplicación de un plan de copias de seguridad a una instancia de Compute Engine con etiquetas. Primero, crea una asignación de planes de copias de seguridad a etiquetas en la consola de administración de dispositivos. Luego crea etiquetas a través de IAM con los mismos valores asignados en la consola de administración de dispositivos.

Crea valores de etiquetas de protección dinámicas

Usa estas instrucciones para crear valores de etiquetas de protección dinámicas que se puedan usar con tus instancias de Compute Engine:

  1. En la consola de administración de dispositivos de Backup and DR, haz clic en el menú desplegable Planes de creación de copias de seguridad y selecciona Etiquetas de protección dinámicas.

  2. Haz clic en Crear etiqueta de protección dinámica.

  3. Ingresa un valor de etiqueta único que cumpla con estos requisitos de nombres.

  4. En la lista Tipo de aplicación, selecciona Compute Engine.

  5. Elige una plantilla y un perfil correspondientes para asociarlos con este valor de etiqueta.

  6. Haz clic en Guardar. Se crea un valor de etiqueta de protección dinámica.

Crea etiquetas de protección dinámicas

Usa estas instrucciones para crear etiquetas de protección dinámicas que se adjunten a tus instancias de Compute Engine para automatizar la protección:

  1. Para crear, actualizar y borrar definiciones de etiquetas, necesitas el rol Administrador de etiquetas o algún otro rol que incluya permisos específicos.

  2. Abre la página Etiquetas en la Google Cloud consola.

    Abre la página Etiquetas

  3. En el selector de alcance en la parte superior de la página, selecciona la organización o el proyecto en el que deseas crear una clave de etiqueta.

  4. Haz clic en Crear.

  5. En el cuadro Clave de etiqueta, ingresa backupdr-dynamicprotect como la clave de etiqueta. Este es un paso obligatorio para que la automatización se realice correctamente. Ten en cuenta los errores ortográficos y asegúrate de incluir el guion.

  6. Opcional: En el cuadro Descripción de la clave de la etiqueta, ingresa una descripción de la clave de la etiqueta.

  7. Haz clic en Agregar valor y, luego, ingresa cada valor de etiqueta que acabas de crear.

  1. En el cuadro Valor de etiqueta, ingresa el nombre visible del valor de la etiqueta. Esto se convierte en parte del nombre con espacio de nombres de tu etiqueta.

  2. En el cuadro Descripción del valor de la etiqueta, ingresa una descripción de la plantilla y el perfil asociados con este valor de etiqueta.

  3. Cuando termines de agregar valores de etiqueta, haz clic en Crear clave de etiqueta.

Agrega etiquetas de protección dinámicas a un recurso

Ahora que creaste valores de etiquetas de protección dinámicas y los vinculaste 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 dentro de un grupo lógico. Quita el grupo lógico y prueba la protección dinámica.

Tus etiquetas de protección dinámicas se pueden adjuntar a instancias de Compute Engine con estas instrucciones:

  1. En la Google Cloud consola de, ve a la página Compute Engine > Instancias de VM.

    Ir a Instancias de VM

  2. En la columna Nombre, haz clic en el nombre de la VM a la que deseas agregar etiquetas.

  3. En la página de detalles de la instancia de VM, completa los siguientes pasos:

    1. Haz clic en Editar.
    2. En la sección Básico, haz clic en Administrar etiquetas y agrega las etiquetas que deseas para la instancia.
  4. Selecciona la clave backupdr-dynamicprotect: y un valor de etiqueta correspondiente que se asigne a una plantilla y un perfil que configuraste en la Google Cloud consola.

  5. Haz clic en Guardar.

Agrega etiquetas a un recurso durante su creación

En ciertas situaciones, es posible que desees etiquetar recursos durante la creación del recurso, en lugar de hacerlo después de crearlo.

Console

  1. En la Google Cloud consola de, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona el proyecto y haz clic en Continuar.

  3. Haz clic en Crear instancia.

  4. Haz clic en Manage Tags and Labels.

  5. Haz clic en Agregar etiquetas.

  6. Sigue las instrucciones en el panel lateral para seleccionar backupdr-dynamicprotect que deseas agregar a la instancia.

  7. Haz clic en Guardar.

  8. Completa otros pasos en Crea e inicia una instancia de VM para terminar de crear la instancia.

gcloud

Para usar gcloud CLI o las APIs, sigue la documentación del SDK para hacer lo siguiente:

Terraform

Usa la siguiente plantilla de Terraform para comenzar a usar etiquetas de protección dinámicas. En esta plantilla, se supone que aún no creaste ninguna clave de etiqueta de protección dinámica en la Google Cloud consola de y se configurará por ti. La plantilla crea una instancia nueva 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:15 a.m. o a las 4:15 p.m., hora local, para que surta efecto, o puedes ejecutar un trabajo de protección dinámica a pedido siguiendo los pasos que se indican en Ejecuta la 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

Desconecta una etiqueta de un recurso

Para desconectar una etiqueta de un recurso, borra el recurso de vinculación de etiquetas.

Para revisar las instrucciones sobre cómo desconectar etiquetas, consulta Desconecta una etiqueta de un recurso en la documentación de Resource Manager.

Console

  1. En la Google Cloud consola de, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona el proyecto y haz clic en Continuar.

  3. En la columna Nombre, haz clic en el nombre de la VM a la que deseas agregar etiquetas.

  4. En la página de detalles de la instancia de VM, completa los siguientes pasos:

  5. Haz clic en Editar.

  6. En la sección Básico, haz clic en Administrar etiquetas y quita backupdr-dynamicprotect de la instancia.

  7. Haz clic en Guardar.

gcloud

Para usar gcloud CLI, sigue la documentación para usar la CLI de gcloud y desconectar una etiqueta de un recurso.

Ejecuta la protección automática manual

Aunque el motor de protección se ejecuta todos los días a las 4:15 a.m. y a las 4:15 p.m., hora local, también puedes ejecutar el motor de protección dinámica a pedido con los siguientes pasos de comando:

  1. Para configurar el extremo de la consola de administración de dispositivos, ingresa un valor que comience con "https://bmc-" y termine con ".com". Por ejemplo, https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com

    export MC_ENDPOINT="MC_ENDPOINT_edited_value"
    
  2. 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"
    
  3. Obtén un ID de sesión nuevo:

    echo "Generating a new session id..."
    export SESSION_RESPONSE=$(curl -XPOST -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" -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"
    

    Después de configurar un extremo, generar un token de portador y obtener un ID de sesión, puedes activar trabajos de protección dinámicas durante una hora hasta que venza el ID de sesión.

  4. Activa un trabajo de protección dinámica

    Un trabajo de protección dinámica actualiza todas las instancias de Compute Engine con sus etiquetas actuales y asigna planes de copias de seguridad según las etiquetas. El trabajo activado puede tardar unos minutos, según la cantidad de cambios pendientes para 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."
    

Usa la protección dinámica con Resource Manager

Puedes usar etiquetas de protección dinámicas con Resource Manager, lo que automatiza la protección de tus instancias de Compute Engine en un nivel organizacional más alto. Usa Resource Manager para etiquetar recursos a nivel del proyecto o superior para asegurarte de que la protección se herede en todos tus recursos. Obtén más información sobre la herencia de etiquetas.

Migra la protección manual a la protección dinámica

Si deseas migrar tus recursos ya protegidos para usar la protección dinámica con etiquetas, debes habilitar la marca de migración en tu proyecto. Después de habilitar la migración, cualquier instancia protegida manualmente ahora puede usar la protección dinámica. Agregar etiquetas y recursos protege automáticamente según la etiqueta y quita la protección manual existente.

Antes de comenzar, sigue los pasos que se indican en Ejecuta la protección automática manual para configurar la sesión.

Bash

Ejecuta los siguientes comandos:

  1. Para configurar el extremo de la consola de administración de dispositivos, ingresa un valor que comience con "https://bmc-" y termine con ".com". Por ejemplo, https://bmc-PROJECT_NUMBER-GENERATED_ID-dot-REGION.backupdr.googleusercontent.com

     #!/bin/bash
    
     export MC_ENDPOINT="MC_ENDPOINT_edited_value"
    
    
  2. 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 de dispositivos

Para habilitar la migración de instancias de Compute Engine protegidas manualmente a la protección basada en etiquetas, sigue estos pasos:

  1. Activa Habilitar la migración a la protección basada en etiquetas.
  2. Confirma el 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:

  1. Desactiva Habilitar la migración a la protección basada en etiquetas.
  2. Confirma el diálogo Inhabilitar migración. Esto inhabilita la migración de instancias de Compute Engine protegidas manualmente a la protección basada en etiquetas.

Eventos y notificaciones

Después de que se ejecute el motor de protección dinámica, puedes revisar el progreso de los eventos del monitor. La consola de administración de dispositivos recibe notificaciones de resumen después de realizar acciones de protección dinámicas. Se envían notificaciones de error si se necesita una acción del usuario.

Prácticas recomendadas

La protección dinámica puede aumentar la cantidad de trabajos de copia de seguridad en ejecución y la cantidad de almacenamiento que se usa. Para obtener los mejores resultados, ten en cuenta lo siguiente:

  • Aumenta los períodos de copia de seguridad. Por lo general, un período de 6 a 10 horas puede permitir que todos los trabajos se ejecuten hasta completarse.

  • Una VM restablecida conservará la misma etiqueta de protección que la VM de origen junto con el mismo plan de copias 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 copias de seguridad transferido. Para volver a cambiar el tipo de protección a la protección basada en etiquetas, puedes quitar el plan de copias de seguridad de protección transferido y activar el trabajo de protección dinámica a pedido o esperar su próxima ejecución programada para que la aplicación vuelva a tener asignada la protección basada en etiquetas.

  • Una VM conectada en cualquier host existente o recién creado no conservará la misma etiqueta de protección que la VM de origen, por lo que no se protegerá automáticamente después de la operación de conexión. Si se debe proteger una VM recién conectada, puedes aplicar una vinculación de etiquetas a la VM nueva de forma similar a la VM de origen.