Puedes crear una programación de capturas para hacer copias de seguridad de forma periódica y automática de los volúmenes de Persistent Disk y Google Cloud Hyperdisk de zona y regionales. Usa la programación de capturas como práctica recomendada para crear copias de seguridad de tus cargas de trabajo de Compute Engine.
Si quieres crear una programación de capturas que registre el estado de los datos de la aplicación en el momento de la copia de seguridad (también denominada captura coherente de aplicaciones, purgado de invitado o captura de VSS), consulta Crear capturas de disco coherentes de aplicaciones de Linux o Crear una captura de disco coherente de aplicaciones de Windows.
Para obtener más información sobre las propiedades de la programación de capturas, consulte Propiedades de la programación de capturas.
Antes de empezar
- Consulta las limitaciones de las programaciones de instantáneas.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
Go
Para usar las Go muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Node.js
Para usar las Node.js muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles y permisos necesarios
Para obtener los permisos que necesitas para crear una programación de capturas, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:
-
Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) -
Para conectarte a una VM que pueda ejecutarse como cuenta de servicio, sigue estos pasos:
Usuario de cuenta de servicio (v. 1) (
roles/iam.serviceAccountUser
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para crear una programación de capturas. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear una programación de capturas, se necesitan los siguientes permisos:
-
Para crear una programación de capturas, sigue estos pasos:
compute.resourcePolicies.create
en el proyecto o la organización -
Para adjuntar una programación de instantáneas a un disco, sigue estos pasos:
-
compute.disks.addResourcePolicies
en el disco -
compute.resourcePolicies.use
en la política de recursos
-
-
Para crear un disco con una programación de capturas, sigue estos pasos:
-
compute.disks.create
en el proyecto -
compute.resourcePolicies.create
en el proyecto -
compute.disks.addResourcePolicies
en el disco
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Descripción general de la creación de programaciones de capturas
Cuando creas una programación de instantáneas, creas una política de recursos que puedes aplicar a uno o varios volúmenes de Persistent Disk o Hyperdisk.
Puedes crear programaciones de capturas de las siguientes formas:
- Crea una programación de instantáneas y, a continuación, vincúlala a un disco.
- Crea un disco con una programación de capturas.
Usar el cifrado con programaciones de capturas
Si un disco usa una clave de cifrado gestionada por el cliente (CMEK), cuando uses una programación de capturas para crear capturas de ese disco, todas las capturas creadas se cifrarán automáticamente con la misma clave.
No puedes usar programaciones de capturas con discos que usen una clave de cifrado proporcionada por el cliente (CSEK).
Crear una programación de capturas
Puedes crear una programación de snapshots para tus discos mediante la Google Cloud consola, la interfaz de línea de comandos de Google Cloud o REST. Debes crear la programación de capturas en la misma región en la que se encuentre el disco. Por ejemplo, si tu disco está en la zona
us-west1-a
, debes crear la programación de capturas en la regiónus-west1
. Sin embargo, puedes almacenar las capturas generadas por la programación de capturas en otra ubicación.Consola
-
En la consola de Google Cloud , ve a la página Instancias de VM.
Ve a Instancias de VM.
Los pasos restantes aparecerán automáticamente en la Google Cloud consola. - Selecciona el proyecto que contiene tus instancias de VM.
- En la columna Nombre, haz clic en el nombre de la VM que tiene el disco persistente para el que quieres crear una programación de capturas.
-
En
Almacenamiento , haz clic en el nombre del disco de arranque o del disco adicional para crear una programación de instantáneas. - Haz clic en Editar. Puede que tengas que hacer clic en el menú Más acciones y, a continuación, Editar.
- En Programación de capturas, elige Crear programación.
-
En Nombre, introduce uno de los siguientes nombres para la programación de capturas:
boot-disk-snapshot-schedule
attached-persistent-disk-snapshot-schedule
-
En la sección Ubicación, elige la ubicación de almacenamiento de tu instantánea. Se selecciona automáticamente la ubicación predefinida o personalizada que haya definido en la configuración de la vista general. Si quieres, puedes anular los ajustes de las instantáneas y almacenarlas en una ubicación de almacenamiento personalizada. Para ello, sigue estos pasos:
-
Elige el tipo de ubicación de almacenamiento que quieras para tu copia.
-
Elige Multirregional
para disfrutar de una mayor disponibilidad a un coste más elevado.
- Elige Copias de seguridad regionales para tener más control sobre la ubicación física de tus datos a un coste más bajo.
-
Elige Multirregional
para disfrutar de una mayor disponibilidad a un coste más elevado.
-
En el campo Seleccionar ubicación, elige la región o multirregión específica que quieras usar. Para usar la región o multirregión más cercana a tu disco de origen, selecciona Según la ubicación del disco.
-
- Para terminar de crear la programación de capturas, haz clic en Crear.
- Para adjuntar esta programación de instantáneas al disco persistente, haz clic en Guardar.
gcloud
Para programar snapshots con ámbito global de un disco, usa el comando
gcloud compute resource-policies create snapshot-schedule
. Define la frecuencia de la programación como horaria, 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 or --weekly-schedule-from-file FILE_NAME \ --on-source-disk-delete DELETION_OPTION \ --storage-location=STORAGE_LOCATION
Vista previa: para programar instantáneas de ámbito regional de un disco, usa el comando
gcloud compute resource-policies create snapshot-schedule
y especifica la región de la instantánea.gcloud beta 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 or --weekly-schedule-from-file FILE_NAME \ --on-source-disk-delete DELETION_OPTION \ --storage-location=STORAGE_LOCATION \ --region REGION \ --snapshot-region SNAPSHOT_REGION
Haz los cambios siguientes:
SCHEDULE_NAME
: el nombre de la programación de la captura.SCHEDULE_DESCRIPTION
: una descripción de la programación de capturas. Escribe la descripción entre comillas.REGION
: la ubicación de la política de recursos de la programación de instantáneas.SNAPSHOT_REGION
: la región a la que se limita la instantánea programada.MAX_RETENTION_DAYS
: número de días que se conservará la instantánea.Por ejemplo, si el valor es
3
, las capturas se conservarán durante 3 días antes de eliminarse. Debes usar un valor de1
o superior.START_TIME
: hora de inicio en la zona horaria UTC. La hora debe empezar en punto.Por ejemplo:
- Las 14:00 (PST) deben especificarse como
22:00
. - Si defines una hora de inicio de
22:13
, se produce un error.
Si usas la marca
--weekly-schedule-from-file
y especificas una hora de inicio en el archivo, no es necesario que incluyas esta marca.- Las 14:00 (PST) deben especificarse como
SNAPSHOT_INTERVAL
: el intervalo entre la creación de capturas sucesivas. Las marcas de frecuencia de las instantáneashourly-schedule
,daily-schedule
,weekly-schedule
yweekly-schedule-from-file
son mutuamente exclusivas. Solo puedes usar una para tu programación de capturas.- Configura una programación diaria incluyendo la marca
--daily-schedule
sin ningún valor. - Define una programación por horas con la marca
--hourly-schedule
establecida en un valor entero entre 1 y 23. Para generar las copias de seguridad a la misma hora todos los días, elige un número de horas que se divida entre 24 de forma uniforme. Por ejemplo, si se define--hourly-schedule
como12
, se creará una instantánea cada 12 horas. - Define una programación semanal con la marca
--weekly-schedule
establecida en el día de la semana en el que quieras que se cree la captura. Debes escribir el día de la semana completo. Los valores no distinguen entre mayúsculas y minúsculas. Por ejemplo, para crear una copia de seguridad de tu disco todos los viernes, tu comando incluiría--weekly-schedule=friday
. Define una programación semanal avanzada, especificando diferentes días de la semana y con diferentes horas de inicio, incluyendo la marca
--weekly-schedule-from-file
. SustituyeFILE_NAME
por el nombre del archivo que contiene la programación de la instantánea semanal. Aunque puedes especificar diferentes días de la semana y diferentes horas de inicio mediante un archivo, no puedes especificar varios horarios semanales directamente en la línea de comandos. Por ejemplo, puede que en el archivo se especifiquen dos programaciones semanales, una para el lunes y otra para el miércoles, pero no puedes duplicar este ajuste en la línea de comandos:[ {"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"} ]
Si incluye una hora de inicio en el archivo, no tiene que definir la marca
--start-time
en la línea de comandos. La programación usa la zona horaria UTC.
- Configura una programación diaria incluyendo la marca
DELETION_OPTION
: determina qué ocurre con tus instantáneas si se elimina el disco de origen. Si quieres conservar todas las capturas generadas, puedes omitir esta marca. De lo contrario, especificaapply-retention-policy
para usar los ajustes de una política de conservación.STORAGE_LOCATION
: opcional: la ubicación de almacenamiento. Si omite esta marca, se usará la ubicación de almacenamiento predeterminada.
Ejemplos
En todos los ejemplos siguientes:
- Se incluye la regla de eliminación de discos. La marca
--on-source-disk-delete
tiene el valor predeterminadokeep-auto-snapshots
para conservar de forma permanente todas las capturas generadas automáticamente. Otra opción es asignar el valorapply-retention-policy
a esta marca para usar tu política de conservación de copias de seguridad. - La ubicación de almacenamiento se ha definido manualmente como
US
, por lo que todas las capturas generadas se almacenan en la multirregión de EE. UU. - Las etiquetas
env=dev
ymedia=images
se aplican a todas las capturas generadas. - La política de conservación es de 10 días.
Programación por horas: en este ejemplo, la programación de capturas comienza a las 22:00 UTC (14:00 PST) y se realiza cada 4 horas.
gcloud compute resource-policies create snapshot-schedule hourly-schedule1 \ --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 la instantánea empieza a las 22:00 UTC (14:00 PST) y se repite todos los días a la misma hora. La marca
--daily-schedule
debe estar presente, pero sin ningún valor asociado.gcloud compute resource-policies create snapshot-schedule daily-schedule2 \ --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 la instantánea empieza a las 22:00 UTC (14:00 PST) y se repite todos los martes.
gcloud compute resource-policies create snapshot-schedule weekly-schedule3 \ --description "MY WEEKLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --weekly-schedule tuesday \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Go
Java
Node.js
Python
REST
Para crear una programación de capturas de ámbito global, crea una solicitud
POST
aresourcePolicies.insert
. Debes incluir el nombre de la programación de las copias y la frecuencia de las copias.También puedes especificar manualmente una ubicación de almacenamiento de la instantánea y añadir etiquetas de recursos a tu solicitud.
De forma predeterminada, el parámetro
onSourceDiskDelete
tiene el valorkeepAutoSnapshots
. Esto significa que, si se elimina el disco de origen, la captura generada automáticamente de ese disco se conservará indefinidamente. También puedes definir la marca enapplyRetentionPolicy
para aplicar tu política de conservación.En el siguiente ejemplo se define una programación de creación de instantáneas diarias que empieza a las 12:00 (UTC) o a las 04:00 (PST) y se repite todos los días. En el ejemplo también se define una política de conservación de 5 días. Después de ese periodo, las capturas se eliminan automáticamente.
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": "STORAGE_LOCATION" } } }
(Vista previa) Para crear una programación de capturas de ámbito regional, crea una solicitud
POST
aresourcePolicies.insert
y especifica la región de la captura.POST https://compute.googleapis.com/compute/beta/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", "region": "SNAPSHOT_REGION" } } }
Haz los cambios siguientes:
PROJECT_ID
: nombre del proyectoREGION
: la ubicación de la política de recursos de la programación de instantáneasSNAPSHOT_REGION
: la región a la que se limita la instantánea programadaSCHEDULE_DESCRIPTION
: la descripción de la programación de capturasSCHEDULE_NAME
: el nombre de la programación de capturasSTORAGE_LOCATION
: opcional: la ubicación de almacenamiento. Si omite esta marca, se usará la ubicación de almacenamiento predeterminada.
Del mismo modo, puedes crear una programación semanal o mensual. Consulta el método
resourcePolicies.insert
para obtener información específica sobre cómo configurar una programación semanal o mensual.Por ejemplo, la siguiente solicitud crea una programación semanal que se ejecuta los martes a las 9:00 UTC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "weeklySchedule": { "dayOfWeeks": [ { "day": "Tuesday", "startTime": "9:00" } ] } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "production": "webserver" }, "storageLocations": "US" } } }
Adjuntar una programación de capturas a un disco
Una vez que hayas creado una programación, adjúntala a un disco. Usa la consola, la CLI de gcloud o la API de Compute Engine.
Consola
Asocia una programación de instantáneas a un disco.
En la Google Cloud consola, ve a la página Discos.
Selecciona el nombre del disco al que quieras adjuntar una programación de instantáneas. Se abrirá la página Gestionar disco.
En la página Gestionar disco, haz clic en
Editar. Puede que primero tengas que hacer clic en el menú Más acciones.Utilice el menú desplegable Programación de instantáneas para añadir la programación al disco. También puedes crear una nueva programación.
Si has creado una programación, haz clic en Crear.
Haz clic en Guardar para completar la tarea.
gcloud
Para adjuntar una programación de capturas a un disco, usa el comando
gcloud disks add-resource-policies
.gcloud compute disks add-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Haz los cambios siguientes:
DISK_NAME
: el nombre del disco disponibleSCHEDULE_NAME
: el nombre de la programación de capturasZONE
: la ubicación de tu disco
Go
Java
Python
REST
Crea una solicitud
POST
paradisks.addResourcePolicies
para adjuntar una programación de capturas a un disco.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }
Haz los cambios siguientes:
PROJECT_ID
: nombre del proyectoZONE
: la zona en la que se encuentra el discoREGION
: región en la que se creó la programación de capturasDISK_NAME
: el nombre del discoSCHEDULE_NAME
: el nombre de la programación de instantáneas que vas a aplicar a este disco
Crear un disco con una programación de capturas
Puedes usar la Google Cloud consola o la CLI de gcloud para crear un disco y una programación de instantáneas al mismo tiempo.
Consola
En la Google Cloud consola, ve a la página Discos.
Haz clic en Crear disco.
Rellena los campos obligatorios para crear un disco de zona o regional.
Crea el disco en la misma región que la programación de capturas.
Rellena los campos de la Programación de capturas.
Usa el menú desplegable y completa los campos para crear la programación.
Haz clic en Crear para crear la programación.
Haz clic en Crear para crear el disco.
gcloud
Usa el comando
gcloud disks create
para crear un disco persistente o un hiperdisco de zona o regional, y vincularle una programación de capturas.gcloud compute disks create DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Haz los cambios siguientes:
DISK_NAME
: el nombre del nuevo discoSCHEDULE_NAME
: el nombre de la captura programadaZONE
: la ubicación en la que vas a crear el disco. El disco debe estar en una zona que se encuentre en la misma región que la programación de capturas.
Go
Java
Siguientes pasos
- Consulta información sobre cómo gestionar las programaciones de capturas.
- Consulta información sobre las frecuencias de las capturas programadas, las políticas de conservación y las reglas de nomenclatura en el artículo Acerca de las programaciones de capturas de discos.
- Consulta cómo crear una imagen personalizada a partir de tu vista panorámica.
- Consulta cómo ver los registros.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-