Crea instantáneas programadas para discos persistentes


En este documento, se describe cómo crear una programación de instantáneas para crear una copia de seguridad periódica y automática de tus discos persistentes zonales y regionales. Usa la programación de instantáneas como práctica recomendada para crear una copia de seguridad de tus cargas de trabajo de Compute Engine.

Cuando creas una programación de instantáneas, creas una política de recursos que puedes aplicar a uno o más discos persistentes. Puedes crear programas de instantáneas de las siguientes maneras:

Una programación de instantáneas incluye las siguientes propiedades:

  • Nombre de la programación
  • Descripción de la programación
  • Frecuencia de las instantáneas (por hora, diaria, semanal)
  • Política de retención de instantáneas para determinar la cantidad de días que se guardan tus instantáneas
  • Hora de inicio de las instantáneas
  • Región donde está disponible el calendario de instantáneas
  • Política de borrado del disco de origen para manejar instantáneas generadas de forma automática, en caso de que se borre el disco de origen
  • Política de retención para definir cuánto tiempo se deben conservar las instantáneas generadas a partir de la programación de instantáneas.

Antes de comenzar

Restricciones

  • Un disco persistente solo puede tener una programación de instantáneas conectada la vez.
  • Puedes crear un máximo de 1,000 programaciones de instantáneas en uso por región.
  • Puede que debas solicitar un aumento de la cuota de recursos a través de la consola si necesitas recursos adicionales en tu región.
  • No se puede borrar una programación de instantáneas si está adjunta a un disco. Debes desconectar la programación de todos los discos y, luego, borrarla.
  • Después de crear una programación de instantánea, no podrás editarla. Para actualizar una programación de instantáneas, debes borrarla y crear una nueva.
  • Por el momento, no se pueden crear programaciones de instantáneas para discos persistentes que usan Claves de encriptación proporcionadas por el cliente (CSEK).
  • Si creas una programación de instantáneas para un disco persistente que usa una clave de encriptación administrada por el cliente (CMEK), las instantáneas se encriptan de manera automática con la misma clave.

Frecuencia de programación de instantáneas

Antes de crear una programación de instantáneas, elige una hora de inicio y una frecuencia de instantáneas. La hora de inicio es el momento en el que quieres que comience la programación de instantáneas. La frecuencia se define por hora, diaria o semanal.

Una programación de instantáneas comienza en un rango de una hora según la hora de inicio especificada. Por ejemplo, si la hora de inicio programada es a las 12:00 p.m. la captura de instantáneas comienza en cualquier momento entre las 12:00 p.m. y las 12:59 p.m. La programación usa el estándar de hora UTC.

  • Configuración de una programación por hora: para establecer una programación por hora, elige la hora de inicio y un intervalo de instantáneas mediante un número entero de entre 1 y 23. Con el intervalo de instantáneas, se define con qué frecuencia se toma la instantánea. Cuando configures el intervalo, puedes elegir un número que se divida de manera equitativa en 24. Por ejemplo, si estableces la hora de inicio a las 9:00 a.m. con un intervalo de 6, la programación de instantáneas se ejecutará a las 9:00 a.m. con un intervalo de instantánea de 6 horas.

  • Configuración de una programación diaria: establece la frecuencia diaria para que la instantánea ocurra una vez al día. Por ejemplo, puedes establecer una programación de instantáneas para que se genere una instantánea todos los días a las 9:00 a.m.

  • Configuración de una programación semanal: establece la frecuencia de forma semanal para tomar instantáneas en varios días de la semana. Por ejemplo, una hora de inicio a las 9:00 a.m. con una programación semanal establecida en lunes, jueves y domingo indica que la programación de instantáneas ocurre a las 9:00 a.m. los lunes, jueves y domingos de cada semana. También puedes establecer una programación semanal para diferentes días de la semana. Por ejemplo, puedes establecer una programación semanal para todos los lunes a las 2:00 p.m. y el jueves a las 10:00 a.m.

Política de retención de instantáneas

Con la política de retención de instantáneas, se define cuánto tiempo quieres conservar tus instantáneas.

Si eliges configurar una política de retención de instantáneas, debes hacerlo como parte de tu programación de instantáneas. Si utilizas la herramienta gcloud o Cloud Console, siempre debes establecer una política de retención cuando crees una programación de instantáneas. Si realizas una solicitud directa a la API, puedes omitir este campo y tus instantáneas se conservarán por tiempo indefinido.

Si realizas una solicitud a la API y eliges la opción predeterminada para conservar todas tus instantáneas generadas automáticamente de forma permanente hasta que las borres de manera manual, ten en cuenta que tendrás costos de almacenamiento para retener estas instantáneas hasta que las borres manualmente.

Como práctica recomendada, considera establecer una política de retención para minimizar los costos de almacenamiento de instantáneas a largo plazo.

  • Debes especificar una política de retención de instantáneas con un número de días y con una retención mínima de 1 día.
  • La política de retención de instantáneas se aplica solo a las instantáneas automáticas, no a las que creaste de forma manual.
  • No puedes aplicar una política de retención de forma retroactiva. Si creas una programación de instantáneas sin una política de retención y, luego, cambias a una programación de instantáneas con una política de retención, esta solo se aplicará a las instantáneas nuevas.
  • Sin importar la política de retención, siempre puedes borrar de forma manual las instantáneas generadas de manera manual o automática.

Regla de eliminación del disco de origen

Cuando creas una programación de instantáneas, también puedes establecer una regla de eliminación del disco de origen. Esta controla lo que sucede con tus instantáneas si se borra el disco de origen. De forma predeterminada, si se borra tu disco de origen, las instantáneas generadas de forma automática a partir de tu programación de instantáneas se retienen de forma permanente, a menos que las borres de manera manual, sin importar la política de retención original establecida, a menos que especifiques lo contrario.

De forma alternativa, puedes establecer la regla para que tu política de retención de instantáneas se aplique a tus instantáneas si se borra el disco de origen. Por ejemplo, puedes aplicar una política de retención que mantenga tus instantáneas durante una semana después de que se borre el disco de origen.

Por ejemplo, supongamos que creaste una programación de instantáneas con una política de retención de 3 días, pero elegiste no aplicar la política de retención en la eliminación del disco de origen. Después de aplicar la política en el disco persistente, Compute Engine genera instantáneas de forma automática; sin embargo, también borra de forma automática las instantáneas después de 3 días, según la política de retención. Si tu disco de origen se borra, la política de retención ya no se aplicará, y todas las instantáneas existentes que creó la programación se retendrán por tiempo indefinido.

Programación de instantáneas para instancias de Windows

Si aplicas una programación de instantáneas a los discos que están conectados a las instancias de VM de Windows, debes usar la opción guest-flush para permitir que VSS genere copias de las instantáneas. Si deseas obtener más información sobre las instantáneas para Windows, consulta la documentación Crea una instantánea de disco persistente de Windows.

Reglas de localidad de instantáneas y etiquetas de instantáneas

Al igual que con las instantáneas generadas de forma manual, puedes aplicar etiquetas de recursos y seleccionar la ubicación de almacenamiento para las instantáneas generadas de forma automática. Si las configuras en tu programación de instantáneas, las instantáneas generadas de forma automática a partir de esta programación tendrán aplicadas estas propiedades. Por ejemplo, si estableces la localidad de instantáneas en US, todas las instantáneas generadas a partir de esta programación se almacenarán en los EE.UU. Revisa los ejemplos que se encuentran a continuación para obtener detalles sobre cómo configurar estas opciones.

Nombres para las instantáneas programadas

Las instantáneas capturadas como parte de la programación de instantáneas generaron nombres de forma automática. Los nombres de las instantáneas se generan según el siguiente patrón:

[disk-name-prefix]-[scope-name]-[timestamp]-[random-chars]
  • disk-name-prefix: Es el nombre del disco de origen. Este campo puede tener hasta 20 caracteres.
  • scope-name: Es el nombre de la zona o región del disco de origen.
  • timestamp: Es la marca de tiempo de creación UTC con el formato YYYYMMDDHHMMSS.
  • random-chars: Son caracteres alfanuméricos generados de forma aleatoria para evitar conflictos de nombres con otras instantáneas.

Crea una programación de instantáneas

Crea una programación de instantáneas para tus discos persistentes mediante Google Cloud Console, la herramienta de línea de comandos de gcloud o la API de Compute Engine. Debes crear el programa de instantáneas en la misma región en la que reside tu disco persistente. Por ejemplo, si el disco persistente está en la zona us-west1-a, la programación de la instantáneas debe residir en la región us-west1. Para obtener más información, consulta la sección sobre cómo seleccionar la ubicación de almacenamiento de una instantánea.

Console

Si quieres crear una programación para tu instantánea, sigue estos pasos:

  1. En Google Cloud Console, ve a la página Instantáneas.

    Ir a la página de instantáneas

  2. En la parte superior de la página, haz clic en Crear programación de instantáneas.
  3. Ingresa un nombre para la programación.
  4. Selecciona una Región para la programación de instantáneas. Los discos persistentes deben estar en zonas que se encuentren dentro de la región que contiene la programación de instantáneas.
  5. Puedes seleccionar la Ubicación de instantáneas o aceptar la opción predeterminada.
  6. Selecciona la Frecuencia de la programación.
  7. Ingresa la cantidad de días después de los cuales se borrarán las instantáneas de manera automática.
  8. Selecciona la Regla de eliminación para determinar qué sucede con las instantáneas si se borra el disco de origen de la programación.
  9. Elige la cantidad de días que se retendrán las instantáneas generadas a partir de esta programación.
  10. Si usas Windows, puedes habilitar VSS.
  11. También puedes especificar las etiquetas relevantes que quieras aplicar a estas instantáneas.
  12. Haz clic en Crear para crear la programación de instantáneas.

gcloud

Si quieres crear una programación de instantáneas para discos persistentes, usa el comando compute resource-policies create snapshot-schedule gcloud. Establece la frecuencia de la programación por hora, diaria o semanal.

  gcloud compute resource-policies create snapshot-schedule [SCHEDULE_NAME] \
      --description "[SCHEDULE_DESCRIPTION]" \
      --max-retention-days [MAX_RETENTION_DAYS] \
      --start-time [START_TIME] \
      --hourly-schedule [SNAPSHOT_INTERVAL] \
      --daily-schedule \
      --weekly-schedule [SNAPSHOT_INTERVAL] \
      --weekly-schedule-from-file [FILE_NAME] \
      --on-source-disk-delete [DELETION_OPTION]

En el ejemplo anterior, se usa lo siguiente:

  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas nueva.
  • "[SCHEDULE_DESCRIPTION]" es la descripción de la programación de instantáneas. Coloca la descripción entre comillas.
  • [MAX_RETENTION_DAYS] es la cantidad de días que se retendrá la instantánea. Por ejemplo, si se configura en 3, las instantáneas se conservan durante 3 días antes de que se borren. Debes establecer una política de retención de al menos 1 día.
  • [START_TIME] es la hora de inicio en UTC. La hora debe ser en punto. Por ejemplo:
    • 2:00 p.m. PST es 22:00.
    • Si estableces la hora de inicio a las 22:13, recibirás un error.
  • [SNAPSHOT_INTERVAL] define el intervalo en el que quieres que ocurra la captura de instantáneas. Establece la programación por hora con un número entero entre 1 y 23. Elige un número que se divida de forma equitativa en 24. Por ejemplo, si estableces --hourly-schedule en 12, la instantánea se generará cada 12 horas. Para una programación semanal, debes definir los días en que quieres que ocurra la instantánea. Debes escribir los días de la semana, estos no distinguen entre mayúsculas y minúsculas. Las marcas de frecuencia de la instantánea hourly-schedule, daily-schedule y weekly-schedule son mutuamente excluyentes. Debes elegir una para tu programación de instantáneas.

  • [FILE_NAME] es el nombre del archivo que contiene la programación de instantáneas semanal, si eliges proporcionar la programación en este formato. Ten en cuenta que puedes especificar programaciones semanales en diferentes días de la semana y horas con un archivo (pero no puedes especificar varias programaciones semanales directo en la línea de comandos). Por ejemplo, tu archivo podría especificar una programación de instantáneas el lunes y el miércoles: [{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}]. Si incluyes una hora de inicio en el archivo, no necesitas establecer la marca --start-time. La programación usa el estándar de hora UTC.

  • [DELETION_OPTION] determina qué sucede con tus instantáneas si se borra el disco de origen. Puedes elegir el valor predeterminado keep-auto-snapshots si omites esta marca, o puedes usar apply-retention-policy para aplicar una política de retención.

A continuación, se indican algunos ejemplos adicionales para configurar una programación de instantáneas. En todos los ejemplos siguientes, se dan estas situaciones:

  • Se incluye la regla de eliminación del disco. La marca --on-source-disk-delete se establece en el valor predeterminado keep-auto-snapshots a fin de mantener de forma permanente todas las instantáneas generadas de manera automática. Una alternativa es configurar esta marca en apply-retention-policy a fin de usar tu política de retención de instantáneas.
  • La ubicación de almacenamiento está establecida en US, por lo que todas las instantáneas generadas se almacenarán en la multirregión de EE.UU.
  • Las etiquetas env=dev y media=images se aplican a todas las instantáneas generadas.
  • La política de retención se establece en 10 días.

Programación por hora: en este ejemplo, la programación de instantáneas comienza a las 10:00 p.m. UTC y se realiza cada 4 horas.

  gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
      --description "MY HOURLY SNAPSHOT SCHEDULE" \
      --max-retention-days 10 \
      --start-time 22:00 \
      --hourly-schedule 4 \
      --region us-west1 \
      --on-source-disk-delete keep-auto-snapshots \
      --snapshot-labels env=dev,media=images \
      --storage-location US

Programación diaria: en este ejemplo, la programación de instantáneas comienza a las 10:00 p.m. UTC y se produce todos los días a la misma hora. La marca --daily-schedule debe estar presente, pero no establecida.

gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
    --description "MY DAILY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 22:00 \
    --daily-schedule \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

Programación semanal: en este ejemplo, la programación de instantáneas comienza a las 10:00 p.m. UTC y se realiza todos los martes y jueves de cada semana.

gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
    --description "MY WEEKLY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 22:00 \
    --weekly-schedule tuesday,thursday \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

API

En la API, realiza una solicitud POST a resourcePolicies.insert a fin de crear una programación de instantáneas. Como mínimo, debes incluir el nombre de la programación de instantáneas, la ubicación regional de almacenamiento y la frecuencia.

De forma predeterminada, el parámetro onSourceDiskDelete se establece en keepAutoSnapshots. Esto significa que, si se borra el disco de origen, las instantáneas generadas de manera automática para ese disco se conservarán por tiempo indefinido. Como alternativa, puedes establecer la marca en applyRetentionPolicy para aplicar la política de retención.

En el siguiente ejemplo, se establece una programación diaria de instantáneas que comienza a las 12:00 p.m. UTC y se repite todos los días. En el ejemplo, también se establece una política de retención de 5 días. Después de 5 días, las instantáneas se quitan de forma automática.

También puedes incluir opciones de localidad de instantáneas y etiquetas de instantáneas en tu solicitud para garantizar que tus instantáneas se almacenen en la ubicación que elijas.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "dailySchedule": {
       "startTime": "12:00",
       "daysInCycle": "1"
     }
   },
   "retentionPolicy": {
     "maxRetentionDays": "5"
   },
   "snapshotProperties": {
     "guestFlush": "False",
     "labels": {
       "env": "dev",
       "media": "images"
     },
     "storageLocations": ["US"]
   }
 }
}

En el ejemplo anterior, se ilustra lo siguiente:

  • [PROJECT_ID] es el nombre del proyecto.
  • [REGION] es la ubicación de la política de recursos de la programación de instantáneas.
  • [SCHEDULE_DESCRIPTION] es la descripción de la programación de instantáneas.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas.

Del mismo modo, puedes crear una programación semanal o mensual. Revisa la referencia de la API para obtener detalles específicos sobre cómo establecer una programación semanal o mensual.

Por ejemplo, con la siguiente solicitud, se crea una programación semanal que se ejecuta los martes y jueves, a las 9:00 y 2:00 respectivamente.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "weeklySchedule": {
       "dayOfWeeks": [
       {
         "day": "Monday",
         "startTime": "9:00"
       },
       {
         "day": "Thursday",
         "startTime": "2:00"
       }
       ]
     }
   },
  "retentionPolicy": {
    "maxRetentionDays": "5"
  },
  "snapshotProperties": {
    "guestFlush": "False",
    "labels": {
      "production": "webserver"
    },
    "storageLocations": ["US"]
  }
 }
}

Adjunta una programación de instantáneas a un disco

Una vez que tengas una programación, adjúntala a un disco existente. Usa la consola, el comando de gcloud o el método API de Compute Engine.

Console

Adjunta una programación de instantáneas a un disco existente.

  1. En Google Cloud Console, ve a la página Discos.

    Ir a la página de discos

  2. Haz clic en el nombre del disco al que deseas conectar una programación de instantáneas. Se abrirá la página de detalles del disco.
  3. En la parte superior de la página de detalles del disco, haz clic en Editar.
  4. Usa el menú desplegable Programación de instantáneas para agregar la programación al disco. Sino, crea una programación nueva.
  5. Si creaste una programación nueva, haz clic en Crear.
  6. Haz clic en Guardar para completar la tarea.

gcloud

Si quieres conectar una programación de instantáneas a un disco, usa el comando disks add-resource-policies de gcloud.

gcloud compute disks add-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

En el ejemplo anterior, se ilustra lo siguiente:

  • [DISK_NAME] es el nombre del disco existente.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas.
  • [ZONE] es la ubicación de tu disco.

API

En la API, debes crear una solicitud POST para disks.addResourcePolicies a fin de conectar una programación de instantáneas a un disco existente.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

En el ejemplo anterior, se ilustra lo siguiente:

  • [PROJECT_ID] es el nombre del proyecto.
  • [ZONE] es la ubicación del disco.
  • [REGION] es la ubicación de la programación de instantáneas.
  • [DISK_NAME] es el nombre del disco.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas en esa región en la que aplicas a este disco.

Crea un disco con una programación de instantáneas

Solo en Cloud Console y gcloud, puedes crear un disco y una programación de instantáneas al mismo tiempo.

Console

  1. En Google Cloud Console, ve a la página Discos.

    Ir a la página de discos

  2. En la parte superior de la página, haz clic en Crear disco.
  3. Completa los campos obligatorios para crear un disco zonal o regional.
  4. Crea tu disco en la misma región que tu programación de instantáneas.
  5. Propaga los campos para tu programación de instantáneas.
  6. Usa el menú desplegable y completa los campos para crear la programación.
  7. Haz clic en Crear para crear la programación.
  8. Haz clic en Crear para crear el disco.

gcloud

Usa el comando disks create de gcloud a fin de crear un disco persistente regional o zonal y adjuntarle una programación de instantáneas.

gcloud compute disks create [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

donde:

  • [DISK_NAME] es el nombre del disco nuevo.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas.
  • [ZONE] es la ubicación donde creas el disco. El disco debe estar en una zona dentro de la región de la programación de instantáneas.

Visualiza una programación de instantáneas

Si quieres obtener una lista de programación de instantáneas, usa la consola, el comando de gcloud o el método API de Compute Engine. Con esta solicitud, se muestran el nombre, la descripción y la región de todas las programaciones de instantáneas dentro de un proyecto.

Console

  1. En Google Cloud Console, ve a la página Instantáneas.

    Ir a la página de instantáneas

  2. Haz clic en Programaciones de instantáneas en la parte superior de la página.
  3. Usa el cuadro de búsqueda Filtrar programaciones de instantáneas para revisar una programación de instantáneas específica.
  4. Haz clic en una programación de instantáneas para ver sus detalles.

gcloud

Si quieres ver una lista de las programaciones de instantáneas, usa el comando resource-policies list de gcloud.

gcloud compute resource-policies list

Si quieres ver la descripción de una programación de instantáneas específica, usa el comando resource-policies describe de gcloud.

gcloud compute resource-policies describe [SCHEDULE_NAME]

En el ejemplo anterior, [SCHEDULE_NAME] es el nombre de la programación de instantáneas.

API

Realiza una solicitud GET a resourcepolicies.aggregatedList para mostrar una lista de las programaciones de instantáneas en un proyecto.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/aggregated/resourcePolicies

En el ejemplo anterior, [PROJECT_ID] es el nombre del proyecto.

Visualiza una programación de instantáneas por región

Si quieres ver una programación de instantáneas dentro de una región en particular, usa la consola, el comando de gcloud o el método de la API de Compute Engine.

Console

  1. En Google Cloud Console, ve a la página Instantáneas.

    Ir a la página de instantáneas

  2. Haz clic en Programaciones de instantáneas en la parte superior de la página.
  3. Usa el cuadro de búsqueda Filtrar programaciones de instantáneas para revisar una programación de instantáneas específica por región.

gcloud

Si quieres ver las programaciones de instantáneas en una región específica, usa el comando resource-policies list de gcloud.

gcloud compute resource-policies list [PROJECT_ID] \
    --filter [REGION]

En el ejemplo anterior, se ilustra lo siguiente:

  • [PROJECT_ID] es el nombre del proyecto.
  • [REGION] es la ubicación de la política de recursos.

API

Realiza una solicitud resourcePolicies.get a fin de recuperar la programación de instantáneas establecida en una región.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • [PROJECT_ID] es el nombre del proyecto.
  • [REGION] es la ubicación de la programación de instantáneas.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas que quieres ver.

Cambia una programación de instantáneas

No se puede editar una programación de instantáneas. Para cambiar una programación que ya está conectada a un disco, primero debes desconectar la programación del disco y borrarla. Luego, puedes crear una programación nueva y conectarla al disco. Usa la consola, el comando de gcloud o el método de la API de Compute Engine para realizar cambios en la programación de instantáneas.

Las instantáneas que se generan a partir de la programación de instantáneas separadas no se administrarán por la política nueva. Esas instantáneas se conservarán de manera indefinida hasta que las borres.

Console

  1. En Google Cloud Console, ve a la página Discos.

    Ir a la página de discos

  2. Selecciona el disco que tiene la programación que quieres desvincular.
  3. Haz clic en Editar en la parte superior de la página.
  4. Abre el menú desplegable Programación de instantáneas.
  5. Haz clic en Sin programación para desconectar la programación del disco.
  6. Puedes crear una programación nueva o cambiar la programación mientras editas las opciones del disco.
  7. Haz clic en Guardar para completar la tarea.

gcloud

Usa el comando disks remove-resource-policies de gcloud para desconectar la programación de instantáneas del disco con la programación que quieres cambiar.

gcloud compute disks remove-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --region [REGION] \
    --zone [ZONE]

En el ejemplo anterior, se ilustra lo siguiente:

  • [DISK_NAME] es el nombre del disco con la programación de instantáneas conectada.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas que quieres desconectar del disco.
  • [REGION] es donde reside tu programación de instantáneas.
  • [ZONE] es la zona donde reside tu disco zonal.

Luego, usa el comando disks add-resource-policies para agregar la programación de instantáneas actualizada al disco.

 gcloud compute disks add-resource-policies [DISK_NAME] \
     --resource-policies [SCHEDULE_NAME] \
     --zone [ZONE]

Donde:

  • [DISK_NAME] es el nombre del disco con la política de recursos de la programación de instantáneas.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas que quieres agregar a este disco.
  • [ZONE] es la zona en la que reside tu disco.

API

Para separar una programación de un disco, crea una solicitud POST a disks.removeResourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/removeResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

donde:

  • [PROJECT_ID] es el nombre del proyecto.
  • [ZONE] es la zona en la que reside el disco.
  • [DISK_NAME] es el nombre del disco con la programación de instantáneas asociada.
  • [REGION] es la ubicación de la programación de instantáneas.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas que quitas de este disco.

En la API, debes crear una solicitud POST para disks.addResourcePolicies a fin de conectar una programación de instantáneas a un disco existente.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

En el ejemplo anterior, se ilustra lo siguiente:

  • [PROJECT_ID] es el nombre del proyecto.
  • [ZONE] es la ubicación del disco.
  • [DISK_NAME] es el nombre del disco.
  • [REGION] es la ubicación de la programación de instantáneas.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas en esa región que aplicas a este disco.

Borra una programación de instantáneas

Si borras una programación de instantáneas, todas las instantáneas generadas de forma automática asociadas se conservarán de forma permanente. Sin embargo, una vez que se borra la programación, ya no se generarán instantáneas.

Tu política de retención es parte de la programación de instantáneas. Una vez que se borra la programación, tu política de retención ya no se aplica. Las instantáneas generadas se conservan de forma permanente hasta que las borres de forma manual.

Para borrar una programación de instantáneas existente, usa Google Cloud Console, la herramienta de línea de comandos de gcloud o el método de la API de Compute Engine. Si la programación ya está conectada a un disco, primero deberás desconectar la programación del disco y, luego, borrarla. No puedes borrar una programación de instantáneas adjunta a un disco.

Console

  1. En Google Cloud Console, ve a la página Instantáneas.

    Ir a la página de instantáneas

  2. Selecciona Programación de instantáneas para ver una lista de tus programaciones.
  3. Selecciona cualquier programación no asociada a un disco.
  4. Haz clic en Borrar en la parte superior de la página.

gcloud

Para borrar una programación de instantáneas especificada, usa el comando resource-policies delete de gcloud.

gcloud compute resource-policies delete [SCHEDULE_NAME] \
    --region [REGION]

En el ejemplo anterior, se ilustra lo siguiente:

  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas.
  • [REGION] es la ubicación de la programación de instantáneas.

API

Realiza una solicitud a resourcepolicies.delete para borrar una programación de instantáneas. Si la programación de instantáneas ya está conectada a un disco específico, recibirás un error.

DELETE https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

donde:

  • [PROJECT_ID] es el nombre del proyecto.
  • [REGION] es la ubicación de la programación de instantáneas.
  • [SCHEDULE_NAME] es el nombre de la programación de instantáneas.

Registros y supervisión

Cada instantánea programada asociada a un disco crea de manera continua un evento del sistema, que se supervisa y registra en todo momento. Los registros de auditoría de eventos del sistema siempre están habilitados.

Estos registros proporcionan información del comportamiento sobre las instantáneas programadas para cada disco asociado. Puedes ver tus registros desde el menú de Cloud Logging en la consola.

  1. En Cloud Console, ve a la página Visor de registros (Logs Viewer).

    Ir a la página Visor de registros

  2. En la lista desplegable Recurso auditado, selecciona Disco y, luego, All disk_id.

  3. En la lista desplegable Todos los registros, selecciona cloudaudit.googleapis.com/system_event y haz clic en Aceptar.

  4. En la lista desplegable Cualquier nivel de registro (Any log level), selecciona el tipo de registro.

IU del visor de registros.

Configura alertas para las instantáneas programadas

Puedes crear una métrica personalizada a fin de generar alertas o proporcionar información para solucionar problemas relacionados con las instantáneas programadas.

Por ejemplo, para configurar una alerta de fallas de instantáneas programadas, realiza el siguiente procedimiento:

  1. Crea un filtro de registro para capturar eventos de las instantáneas programadas.
  2. Crea una métrica basada en el filtro de registro que cuenta las fallas de las instantáneas programadas.
  3. Crea una política de alertas para enviar una alerta cuando se produzca una falla en las instantáneas programadas.

Crea un filtro de registro

  1. En Cloud Console, ve a la página Cloud Logging > Visor de registros.

    Ir a la página Visor de registros

  2. En la lista Filtrar por etiqueta o búsqueda de texto (Filter by label or text search), selecciona Convertir en filtro avanzado (Convert to advanced filter).

    Convertir en filtro avanzado

  3. Reemplaza el cuadro de texto del filtro por el siguiente texto y reemplaza project-id por el ID del proyecto:

    resource.type="gce_disk"
    logName="projects/project-id/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="ScheduledSnapshots"
    severity>"INFO"
    
  4. Haz clic en Enviar filtro.

Crea una métrica

  1. En el Visor de registros, ve a la parte superior de la página y haz clic en Crear métrica.

  2. En el Editor de métricas, rellena los siguientes campos:

    • Nombre: scheduled_snapshot_failure_count.
    • Descripción: count of scheduled snapshot failures.
    • Tipo: Counter
  3. En Etiquetas, haz clic en Agregar elemento y, luego, ingresa lo siguiente información:

    • Nombre: status
    • Descripción: status of scheduled snapshot request
    • Tipo de etiqueta: String
    • Nombre del campo: protoPayload.response.status
  4. Haz clic en Listo.

  5. Haz clic en Crear métrica.

Crea una política de alertas

  1. En Cloud Console, ve a la página Cloud Logging > Métricas basadas en registros.

    Ir a la página Métricas basadas en registros

  2. En Métricas definidas por el usuario (User-defined Metrics), busca la nueva métrica llamada user/scheduled_snapshot_failure_count.

  3. Haz clic en el botón de menú Más en esta fila y selecciona Crear alerta de métrica. Se abrirá la página de creación de condiciones de la política de alertas.

    Métrica definida por el usuario.

  4. En el panel Destino en el Agregador, selecciona ninguno.

  5. En Filtro, haz lo siguiente:

    1. Haz clic en Agregar un filtro.
    2. Selecciona un estado de la lista.
    3. En el campo Valor, escribe DONE (LISTO).
    4. Haz clic en Aplicar.

      Estado del filtro de alertas

  6. Haz clic en Mostrar opciones avanzadas.

  7. En el panel Agregación avanzada, haz clic en la lista Alineador y selecciona sum.

  8. En el panel Configuración, selecciona los siguientes valores:

    • Activadores de condición si: Any time series violates
    • Condición: is above
    • Umbral: 1
    • Para:: most recent value

      Panel de configuración.

  9. Haz clic en Guardar.

  10. En la página Crea una política de alertas nueva, ingresa el nombre de una política. Otra opción es agregar canales de notificación y documentación para esta política.

  11. Haz clic en Guardar.

Qué sigue