Las programaciones de instancias te permiten iniciar y detener instancias de máquina virtual (VM) automáticamente. Para usar programaciones de instancias, crea una política de recursos que detalle el comportamiento de inicio y detención, y, a continuación, asocia la política a una o varias instancias de VM.
Usar programaciones de instancias para automatizar la implementación de tus instancias de VM puede ayudarte a optimizar los costes y a gestionar las instancias de VM de forma más eficiente. Puedes usar las programaciones de instancias tanto para cargas de trabajo periódicas como puntuales. Por ejemplo, puedes usar programaciones de instancias para ejecutar instancias de VM solo durante las horas de trabajo o para proporcionar capacidad para un evento único.
Para obtener información sobre otras opciones para programar automáticamente las VMs, consulta las siguientes páginas:
Escalar en función de las programaciones: si ejecutas tu carga de trabajo en un grupo de instancias gestionado (MIG), puedes usar programaciones de escalado para programar el número necesario de instancias de máquina virtual (VM) para eventos periódicos o únicos.
Limitar el tiempo de ejecución de una VM: Si no quieres crear políticas de recursos, puedes configurar directamente una VM para que se detenga o se elimine automáticamente cuando alcance un tiempo o una duración específicos.
Antes de empezar
-
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.
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. 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.
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 obligatorios
Para usar las programaciones de instancias, debes conceder los roles de gestión de identidades y accesos (IAM) necesarios a los siguientes principales:
El agente de servicio de Compute Engine de tu proyecto. Esto es necesario para que la programación de la instancia se ejecute en una VM.
Si revocas estos permisos después de crear programaciones de instancias, es posible que estas dejen de funcionar sin previo aviso. Para verificar si las programaciones de tu instancia se ejecutan correctamente, debes consultar periódicamente los registros de auditoría.
La cuenta de usuario o de servicio que crea, gestiona o usa la programación de instancias.
Roles obligatorios del agente de servicio de Compute Engine
Para asegurarte de que el agente de servicio de Compute Engine tiene los permisos necesarios para ejecutar la programación de instancias, pide a tu administrador que le conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.roles/compute.instanceAdmin.v1
) en el proyecto.Este rol predefinido contiene los permisos necesarios para ejecutar la programación de instancias. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para ejecutar una programación de instancias, se necesitan los siguientes permisos:
-
compute.instances.start
-
compute.instances.stop
Es posible que tu administrador también pueda conceder estos permisos al agente de servicio de Compute Engine con roles personalizados u otros roles predefinidos.
Roles obligatorios para usuarios o cuentas de servicio
Para asegurarte de que tú o tu cuenta de servicio tenéis los permisos necesarios para crear y gestionar programaciones de instancias, pide a tu administrador que te conceda a ti o a tu cuenta de servicio el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.roles/compute.instanceAdmin.v1
) en tu proyecto u organización.Este rol predefinido contiene los permisos necesarios para crear y gestionar programaciones de instancias. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear y gestionar programaciones de instancias, se necesitan los siguientes permisos:
-
Para crear una programación de instancias, sigue estos pasos:
compute.resourcePolicies.create
-
Consultar la programación de una instancia:
compute.resourcePolicies.list
-
Describe una programación de instancia:
compute.resourcePolicies.get
-
Elimina una programación de instancias:
compute.resourcePolicies.delete
-
Para asociar una programación de instancias a una VM nueva, sigue estos pasos:
-
compute.instances.create
-
compute.resourcePolicies.use
-
compute.instances.addResourcePolicies
-
-
Asocia una programación de instancias a una VM:
-
compute.resourcePolicies.use
-
compute.instances.addResourcePolicies
-
-
Quitar una programación de instancias de una VM:
-
compute.resourcePolicies.use
-
compute.instances.removeResourcePolicies
-
Es posible que tu administrador también pueda concederte estos permisos a ti o a tu cuenta de servicio con roles personalizados u otros roles predefinidos.
Limitaciones
- Solo puedes asociar una programación de instancias a instancias de VM que se encuentren en la misma región que la programación de instancias.
- No puedes usar programaciones de instancias para detener una instancia que tenga discos SSD locales.
- Cada instancia de VM solo puede seguir una programación de instancias, pero puedes asociar cada programación de instancias a un máximo de 1000 instancias de VM.
- Las programaciones de instancias no ofrecen garantías de capacidad, por lo que, si los recursos necesarios para una instancia de VM programada no están disponibles a la hora programada, es posible que la instancia de VM no se inicie cuando esté programada. Aunque puedes reservar instancias de VM antes de iniciarlas para asegurarte de que la capacidad está disponible cuando la necesites, las reservas no se pueden programar automáticamente.
- Las programaciones de instancias solo inician y detienen instancias de VM en los momentos especificados, pero puedes iniciar y detener instancias de VM manualmente en cualquier momento. Por ejemplo, supongamos que tienes una programación que empieza todos los días a las 8:00 y termina a las 17:00. Si asocias esa programación a una instancia de VM detenida a las 16:00, esa instancia de VM no se iniciará hasta las 8:00 del día siguiente, a menos que la inicies manualmente antes.
- Las instancias de VM programadas pueden tardar hasta 15 minutos después de la hora programada en iniciar una operación de inicio o detención. Si necesitas que las instancias de VM se inicien o se detengan a una hora concreta, programa la operación 15 minutos antes de lo necesario y programa cada operación con al menos 15 minutos de diferencia.
- El programador podría fallar si hay un intervalo de menos de 15 minutos entre las operaciones de inicio y de detención. Esto se debe a que la operación de detención puede producirse antes que la de inicio, lo que impide que se lleve a cabo la operación de inicio.
- Cada programación de instancias te permite tener hasta una operación de inicio y hasta una operación de detención por hora.
- Para modificar la programación de una instancia, usa una operación de parche en la política InstanceSchedule.
Gestionar programaciones de instancias
Crea, enumera, describe y elimina programaciones de instancias con laGoogle Cloud consola, la CLI de Google Cloud o la API de Compute Engine.
Crear una programación de instancias
Crea una programación de instancias que describa cuándo deben iniciarse o detenerse automáticamente tus instancias de VM. La programación de instancias que crees es una política de recursos que puedes usar asociándola o quitándola de instancias de VM.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la parte superior de la página, haga clic en la pestaña Programaciones de instancias.
Haz clic en
Crear programación. Se abre el panel Crear programación.Escribe un nombre.
En el menú desplegable Región, selecciona la ubicación de esta programación de instancias.
Define cuándo se inicia y se detiene la programación de la instancia en las instancias de VM conectadas. Si necesitas que las instancias de VM se inicien o se detengan a una hora específica, programa la operación 15 minutos antes de lo necesario. Asegúrate de que cada operación de inicio y detención tenga una diferencia de al menos 15 minutos.
Usa los campos predeterminados Hora de inicio, Hora de finalización y Frecuencia o, si quieres configurar una programación más compleja, usa expresiones cron.
Campos predeterminados:
- Introduce una hora de inicio, una hora de finalización o ambas.
- En el campo Hora de inicio, escribe o haz clic en para seleccionar la hora de inicio de las instancias de VM.
- En el campo Hora de parada, escribe o haz clic en para seleccionar la hora a la que se detendrán las instancias de VM.
- En el menú desplegable Frecuencia, situado en la parte inferior del panel, selecciona la frecuencia con la que se repiten las horas Inicio y Fin.
- Introduce una hora de inicio, una hora de finalización o ambas.
Expresiones cron:
- Para habilitar las expresiones cron, haz clic en el interruptor Usar expresión cron situado en la parte superior del panel.
- Introduce una expresión cron de inicio, una expresión cron de detención o ambas.
- En el campo Iniciar expresión CRON, introduce una expresión cron que describa cuándo iniciar las instancias de VM.
- En el campo Detener expresión cron, introduce una expresión cron que describa cuándo detener las instancias de VM.
En el menú desplegable Zona horaria, selecciona la zona horaria de Hora de inicio y Hora de finalización.
Opcional: En el campo Fecha de inicio, escribe o haz clic en
para seleccionar la fecha y la hora en las que quieres que empiece esta programación de instancias. Si se omite, la programación se aplicará inmediatamente.Opcional: En el campo Fecha de finalización, escribe o haz clic en
para seleccionar la fecha y la hora en las que quieres que finalice esta programación de la instancia. Si se omite, la programación estará vigente de forma indefinida.Haz clic en Enviar.
gcloud
Para crear una programación de instancias con gcloud CLI, usa el comando
gcloud compute resource-policies create instance-schedule
:gcloud compute resource-policies create instance-schedule SCHEDULE_NAME \ --region=REGION \ [--vm-start-schedule='START-OPERATION_SCHEDULE'] \ [--vm-stop-schedule='STOP-OPERATION_SCHEDULE'] \ [--timezone=TIME_ZONE] \ [--initiation-date=INITIATION_DATE] \ [--end-date=END_DATE]
Haz los cambios siguientes:
- SCHEDULE_NAME: el nombre de la nueva instancia de la programación.
- REGION: la región en la que se encuentran las instancias de VM que quieres asociar a esta programación de instancias.
- Especifica al menos uno de los siguientes elementos:
- START-OPERATION_SCHEDULE: una programación que describe cuándo se inician las instancias de VM asociadas, con el formato de una expresión cron. Si necesitas que las instancias de VM se inicien a una hora concreta, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta la programación de inicio de operaciones.
- STOP-OPERATION_SCHEDULE: una programación que describe cuándo se detienen las instancias de VM asociadas, con el formato de una expresión cron. Si necesitas que las instancias de VM se detengan a una hora concreta, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta la programación de detención de operaciones.
- TIME_ZONE: opcional. Zona horaria IANA basada en la ubicación de esta programación de instancias. Si se omite, se usará el valor predeterminado
UTC
. Para obtener más información, consulta la zona horaria. - INITIATION_DATE: opcional. Es la primera fecha en la que se aplica la programación de la instancia. Se debe indicar en formato de marca de tiempo RFC 3339. Si se omite, la programación se aplicará inmediatamente. Para obtener más información, consulta la fecha de inicio.
- END_DATE: opcional. Última fecha en la que es efectiva la programación de la instancia. Se debe indicar en formato de marca de tiempo RFC 3339. Si se omite, la programación estará activa indefinidamente. Para obtener más información, consulta la fecha de finalización.
REST
Para crear una programación de instancias mediante la API Compute Engine, haz una solicitud con el método
resourcePolicies.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "instanceSchedulePolicy": { "vmStartSchedule": { "schedule": "START-OPERATION_SCHEDULE" }, "vmStopSchedule": { "schedule": "STOP-OPERATION_SCHEDULE" }, "timeZone": "TIME_ZONE", "startTime":"INITIATION_DATE", "expirationTime":"END_DATE" } }
Haz los cambios siguientes:
- PROJECT: tu ID de proyecto.
- REGION: la región en la que se encuentran las instancias de VM que quieres asociar a esta programación de instancias.
- SCHEDULE_NAME: el nombre de la nueva programación de instancias.
- START-OPERATION_SCHEDULE o
STOP-OPERATION_SCHEDULE: especifique al menos uno de los siguientes valores:
- START-OPERATION_SCHEDULE: una programación que describe cuándo se inician las instancias de VM asociadas, con el formato de una expresión cron. Si necesitas que las instancias de VM se inicien a una hora específica, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta la programación de inicio de operaciones.
- STOP-OPERATION_SCHEDULE: una programación que describe cuándo se detienen las instancias de VM asociadas, con el formato de una expresión cron. Si necesitas que las instancias de VM se detengan a una hora concreta, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta la programación de detención de operaciones.
- TIME_ZONE: la zona horaria IANA basada en la ubicación de esta programación de instancias. Para obtener más información, consulta la zona horaria.
- INITIATION_DATE: opcional. Es la primera fecha en la que se aplica la programación de la instancia. Se debe indicar en formato de marca de tiempo RFC 3339. Si se omite, la programación se aplicará inmediatamente. Para obtener más información, consulta la fecha de inicio.
- END_DATE: opcional. Última fecha en la que es efectiva la programación de la instancia. Se debe indicar en formato de marca de tiempo RFC 3339. Si se omite, la programación estará activa indefinidamente. Para obtener más información, consulta la fecha de finalización.
Cada programación de instancias tiene los siguientes ajustes:
- programación de inicio de operación, programación de parada de operación
Programaciones que describen cuándo se inicia la programación de instancias y cuándo se detienen las instancias de VM asociadas. Una programación de instancias puede tener una de estas programaciones o ambas.
Cuando creas programaciones de instancias con la Google Cloud consola, puedes seleccionar una hora de inicio, una hora de finalización y una frecuencia o dar formato a cada programación como una expresión cron. Cuando creas programaciones de instancias con la CLI de gcloud o la API de Compute Engine, debes dar a cada programación el formato de una expresión cron.
En la siguiente tabla se definen los campos de una expresión cron y los valores admitidos para cada campo.
Minuto Hora Día del mes Mes Día de la semana 0-59 0-23 Del 1 al 31 donde 29-31 solo son eficaces para los meses correspondientes
1-12 0-6 o SUN-SAT
(de domingo a sábado)
donde 0=
SUN
, 1=MON
, … 6=SAT
Carácter especial Significado Ejemplo *
Cualquiera. Si los campos del día del mes, del mes y del día de la semana se definen como *
, la programación se repite todos los días.-
intervalo Si el campo del día de la semana se define como MON-FRI
(o1-5
), la programación se repite todas las semanas de lunes a viernes.,
list Si el campo del mes se define como 1-6,8-12
, la programación se repite todos los meses excepto julio.Cuando escribas una expresión cron, ten en cuenta lo siguiente:
- Los espacios en blanco se usan para separar los campos de una expresión cron. Recuerda no añadir espacios en blanco adicionales en un campo que utilice caracteres especiales.
- Si especifica tanto un día de la semana como un día del mes (cuando ninguno de los campos se ha definido como
*
), la programación usará la unión de estos valores, no la intersección. Por ejemplo, la programación0 8 1 * MON
empieza a las 8:00 todos los lunes y el primer día de cada mes. Esa programación no empieza a las 8:00 solo los lunes que también sean el primer día del mes.
- zona horaria
Zona horaria IANA basada en la ubicación de la programación de inicio y de la programación de detención. La base de datos de zonas horarias de IANA define una lista de valores disponibles. Esta zona horaria se usa como referencia solo para las programaciones de inicio y de finalización de la operación. No se usa para la fecha de inicio ni para la fecha de finalización. La zona horaria es opcional cuando se usa la CLI de gcloud o la API de Compute Engine. Si se omite, se usará el valor predeterminado
UTC
.Algunas zonas horarias de la IANA tienen horario de verano, lo que puede afectar a las programaciones de tus instancias. Los detalles del horario de verano, como cuándo empieza y cuándo termina, así como el tiempo que se adelanta y se atrasa, varían en función de cada zona horaria.
- Fecha de inicio y fecha de finalización
El periodo durante el que está vigente la programación de la instancia. Ambos valores son opcionales. Las operaciones se repiten anualmente a menos que especifiques estos valores para limitar la programación a un solo año.
Cuando crees programaciones de instancias con la Google Cloud consola, selecciona una fecha, una hora y una zona horaria en los campos Fecha de inicio y Fecha de finalización.
Cuando creas programaciones de instancias con la CLI de gcloud o la API de Compute Engine, estos valores se formatean como una marca de tiempo RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Haz los cambios siguientes:
- YYYY-MM-DD: una fecha con el formato de año de 4 dígitos, mes de 2 dígitos y día del mes de 2 dígitos separados por guiones.
- HH:MM:SS: hora con formato de hora de 2 dígitos en formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos.
- OFFSET: la zona horaria con el formato de una diferencia con respecto al tiempo universal coordinado (UTC). Por ejemplo, la hora estándar del Pacífico (PST), que es 8 horas menos que el tiempo universal coordinado (UTC), se escribe como
-08:00
. También puedes escribirZ
para no usar ninguna diferencia horaria (la zona horaria UTC).
Mostrar lista de programaciones de instancias
Lista las programaciones de instancias para ver todas las programaciones de instancias de tu proyecto.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la parte superior de la página, haga clic en la pestaña Programaciones de instancias. Se muestra una lista con todas las programaciones de instancias de este proyecto.
gcloud
Para ver una lista de todas tus políticas de recursos, incluidas las programaciones de instancias, con gcloud CLI, usa el comando
gcloud compute resource-policies list
. También puedes restringir los resultados a una región concreta incluyendo la marca--filter
.gcloud compute resource-policies list \ [--filter="region:(REGION)"]
Haz los cambios siguientes:
- REGION: opcional: la región en la que se encuentran las programaciones de instancias que quiere enumerar.
REST
Para ver una lista de todas tus políticas de recursos, incluidas las programaciones de instancias, en una región específica mediante la API de Compute Engine, haz una solicitud con el método
resourcePolicies.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
Haz los cambios siguientes:
- PROJECT: tu ID de proyecto.
- REGION: la región en la que se encuentran las programaciones de instancias que quieres enumerar.
Describir una programación de instancias
Describe una programación de instancias para ver su descripción, la hora, las operaciones y una lista de todas las instancias de VM a las que está asociada.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la parte superior de la página, haga clic en la pestaña Programaciones de instancias. Se muestra una lista con todas las programaciones de instancias de este proyecto.
Haga clic en el nombre de la programación de la instancia que quiera describir. Se abrirá la página Detalles de las programaciones de instancias de esa programación.
gcloud
Para describir una programación de instancias con gcloud CLI, usa el comando
gcloud compute resource-policies describe
:gcloud compute resource-policies describe SCHEDULE_NAME \ --region=REGION
Haz los cambios siguientes:
- SCHEDULE_NAME: el nombre de la programación de instancias que quieres describir.
- REGION: la región en la que se encuentra la programación de la instancia.
El resultado debería ser similar al siguiente:
... description: Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM. ... instanceSchedulePolicy: expirationTime: '2022-12-31T23:59:59Z' startTime: '2022-01-01T00:00:00Z' timeZone: UTC vmStartSchedule: schedule: 0 8 * * MON-FRI vmStopSchedule: schedule: 0 17 * * MON-FRI ... name: example-instance-schedule region: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-west1 resourceStatus: instanceSchedulePolicy: nextRunStartTime: '2022-01-03T08:00:00Z' ... status: READY
REST
Para describir una programación de instancias mediante la API de Compute Engine, haz una solicitud con el método
resourcePolicies.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME
Haz los cambios siguientes:
- PROJECT: tu ID de proyecto.
- REGION: la región en la que se encuentra la programación de la instancia.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieres describir.
El resultado debería ser similar al siguiente:
{ ... "description": "Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM.", "name": "example-instance-schedule", "instanceSchedulePolicy": { "vmStartSchedule": { "schedule": "0 8 * * MON-FRI" }, "vmStopSchedule": { "schedule": "0 17 * * MON-FRI" }, "timeZone": "UTC", "startTime": "2022-01-01T00:00:00Z", "expirationTime": "2022-12-31T23:59:59Z" }, "status": "READY", "resourceStatus": { "instanceSchedulePolicy": { "nextRunStartTime": "2022-01-03T08:00:00Z" } }, ... }
Eliminar una programación de instancias
Elimina una programación de instancias cuando ya no la necesites. Para ello, quita las instancias de VM asociadas y elimina la política de recursos.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la parte superior de la página, haga clic en la pestaña Programaciones de instancias. Se muestra una lista con todas las programaciones de instancias de este proyecto.
Seleccione las casillas de las programaciones de instancias que quiera eliminar.
En la parte superior de la página, haz clic en
Eliminar. Se abrirá un nuevo cuadro de diálogo para confirmar esta acción.En el cuadro de diálogo, haz clic en Eliminar.
gcloud
- Si esta programación de instancias está asociada a alguna instancia de VM, elimínala.
- Para comprobar a qué instancias de VM está asociada esta programación, describe la programación de instancias.
- En cada instancia de VM a la que esté asociada esta programación, elimina la programación de la instancia.
Para eliminar una programación de instancias con gcloud CLI, usa el comando
gcloud compute resource-policies delete
:gcloud compute resource-policies delete SCHEDULE_NAME \ --region=REGION
Haz los cambios siguientes:
- SCHEDULE_NAME: el nombre de la programación de instancias que quieres eliminar.
- REGION: la región en la que se encuentra la programación de la instancia.
REST
- Si esta programación de instancias está asociada a alguna instancia de VM, elimínala.
- Para comprobar a qué instancias de VM está asociada esta programación, describe la programación de instancias.
- En cada instancia de VM a la que esté asociada esta programación, elimina la programación de la instancia.
Para eliminar una programación de instancias mediante la API Compute Engine, haz una solicitud con el método
resourcePolicies.delete
:DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME
Haz los cambios siguientes:
- PROJECT: tu ID de proyecto.
- REGION: la región en la que se encuentra la programación de la instancia.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieres eliminar.
Usar programaciones de instancias con instancias de VM
Para usar una agenda de instancias, vincúlala a una o varias instancias de VM que quieras que sigan esa agenda. Puedes asociar una programación de instancias a una instancia de VM que ya tengas o al crear una. Para evitar que una instancia de VM siga una programación de instancias adjunta, elimina la programación de esa instancia de VM.
Asociar una programación de instancias al crear una instancia de VM
Para asociar una programación de instancias a una instancia de VM nueva, debes crear la instancia de VM en la misma región que la programación de instancias que utilices. Más información sobre cómo crear una instancia de VM
Consola
No puedes adjuntar una programación de instancias al crear una instancia con la consola Google Cloud . Para usar la Google Cloud consola para adjuntar una programación de instancias a una instancia de VM nueva, crea una instancia de VM y, a continuación, adjunta una programación a la instancia de VM.
gcloud
Para asociar una programación de instancias a una instancia de VM mediante la CLI de gcloud, usa el comando
gcloud compute instances create
con la marca--resource-policies
. Por ejemplo, para crear una instancia de VM a partir de una imagen pública con una programación de instancias adjunta, usa el siguiente comando:gcloud compute instances create VM_NAME \ --resource-policies=SCHEDULE_NAME \ --zone=ZONE \ [--image IMAGE | --image-family IMAGE_FAMILY] \ [--image-project IMAGE_PROJECT]
Haz los cambios siguientes:
- VM_NAME: el nombre de la instancia de VM a la que quieres asociar una programación de instancias.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieras adjuntar.
- ZONE: la zona en la que se encuentra tu instancia de VM.
- Opcional: crea una instancia de VM a partir de una imagen pública:
- IMAGE o IMAGE_FAMILY: especifique una de las siguientes opciones:
- IMAGE: la versión necesaria de una imagen pública. Por ejemplo,
--image debian-10-buster-v20200309
. - IMAGE_FAMILY: una familia de imágenes. De este modo, se crea la VM a partir de la imagen de SO más reciente que no esté obsoleta. Por ejemplo, si especificas
--image-family debian-10
, Compute Engine crea una VM a partir de la versión más reciente de la imagen del SO de la familia de imágenes de Debian 10. - IMAGE_PROJECT: el proyecto que contiene la imagen.
REST
Para asociar una programación de instancias a una instancia de máquina virtual mediante la API de Compute Engine, haz una solicitud con el método
instances.insert
e incluye el atributoresourcePolicies
. Por ejemplo, para crear una instancia de VM a partir de una imagen pública con una programación de instancia adjunta, haz la siguiente solicitud:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "resourcePolicies": [ "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto en el que se va a crear la VM.
- ZONE: la zona en la que se creará la VM.
- MACHINE_TYPE_ZONE: la zona que contiene el tipo de máquina que se va a usar en la nueva VM.
- MACHINE_TYPE: el tipo de máquina, predefinido o personalizado, de la nueva VM.
- VM_NAME: el nombre de la nueva VM.
- Opcional: crea una instancia de VM a partir de una imagen pública:
- IMAGE_PROJECT: el proyecto que contiene la imagen. Por ejemplo, si especifica
family/debian-10
como familia de imágenes, especifiquedebian-cloud
como proyecto de imágenes. - IMAGE o IMAGE_FAMILY: especifique una de las siguientes opciones:
- IMAGE: la versión necesaria de una imagen pública. Por ejemplo:
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
- IMAGE_FAMILY: una familia de imágenes. De este modo, se crea la VM a partir de la imagen de SO más reciente que no esté obsoleta. Por ejemplo, si especificas
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, Compute Engine crea una VM a partir de la última versión de la imagen del SO de la familia de imágenes de Debian 10.
- IMAGE_PROJECT: el proyecto que contiene la imagen. Por ejemplo, si especifica
- REGION: la región en la que se encuentra la programación de la instancia.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieras adjuntar.
Para comprobar si la programación de la instancia se ejecuta correctamente, consulta los registros de auditoría de la política de recursos de la programación de la instancia y de la instancia de VM asociada. Es posible que tengas que esperar hasta 15 minutos después de la hora programada para cada operación.
Asociar una programación de instancias a una instancia de máquina virtual
Puedes asociar una programación de instancias a cualquier instancia de VM que se encuentre en la misma región que la programación de instancias.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la parte superior de la página, haga clic en la pestaña Programaciones de instancias. Se muestra una lista con todas las programaciones de instancias de este proyecto.
Haga clic en el nombre de la programación de instancias que quiera adjuntar. Se abrirá la página Detalles de la programación de la instancia.
Haz clic en Añadir instancias a la programación. Se abre el panel Añadir instancias a la programación.
Marque la casilla de cada instancia de VM a la que quiera adjuntar esta programación.
Haz clic en Añadir.
gcloud
Para asociar una programación de instancias a una instancia de máquina virtual con la CLI de gcloud, usa el comando
gcloud compute instances add-resource-policies
:gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=SCHEDULE_NAME \ --zone=ZONE
Haz los cambios siguientes:
- VM_NAME: el nombre de la instancia de VM a la que quieres asociar una programación de instancias.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieras adjuntar.
- ZONE: la zona en la que se encuentra tu instancia de VM.
REST
Para asociar una programación de instancias a una instancia de VM mediante la API de Compute Engine, haz una solicitud con el método
instances.addResourcePolicies
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" }
Haz los cambios siguientes:
- PROJECT: tu ID de proyecto.
- ZONE: la zona en la que se encuentra tu instancia de VM.
- VM_NAME: el nombre de la instancia de VM a la que quieres asociar una programación de instancias.
- REGION: la región en la que se encuentra la programación de la instancia.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieras adjuntar.
Para comprobar si la programación de la instancia se ejecuta correctamente, consulta los registros de auditoría de la política de recursos de la programación de la instancia y de la instancia de VM asociada. Es posible que tengas que esperar hasta 15 minutos después de la hora programada para cada operación.
Quitar una programación de instancias de una instancia de VM
Para evitar que una instancia de VM siga una programación de instancia, elimina la programación de instancia de la instancia de VM.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la parte superior de la página, haga clic en la pestaña Programaciones de instancias. Se muestra una lista con todas las programaciones de instancias de este proyecto.
Haz clic en el nombre de la programación de instancias que quieras eliminar. Se abrirá la página Detalles de la programación de la instancia.
En la sección Instancias asociadas, marca la casilla de cada instancia de VM que quieras quitar de esta programación.
Haz clic en
Eliminar instancias de la programación. Se abrirá un nuevo cuadro de diálogo para confirmar esta acción.En el cuadro de diálogo, haz clic en Quitar.
gcloud
Para eliminar una programación de una instancia de VM mediante la CLI de gcloud, usa el comando
gcloud compute instances remove-resource-policies
:gcloud compute instances remove-resource-policies VM_NAME \ --resource-policies=SCHEDULE_NAME \ --zone=ZONE
Haz los cambios siguientes:
- VM_NAME: el nombre de la instancia de VM de la que quieres quitar una programación de instancias.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieres quitar.
- ZONE: la zona en la que se encuentra tu instancia de VM.
REST
Para quitar una programación de una instancia de VM mediante la API de Compute Engine, haz una solicitud con el método
instances.removeResourcePolicies
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/removeResourcePolicies { "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" }
Haz los cambios siguientes:
- PROJECT: tu ID de proyecto.
- ZONE: la zona en la que se encuentra tu instancia de VM.
- VM_NAME: el nombre de la instancia de VM de la que quieres quitar una programación de instancias.
- REGION: la región en la que se encuentra la programación de la instancia.
- SCHEDULE_NAME: el nombre de la programación de instancias que quieres quitar.
Siguientes pasos
- Consulta otras funciones de Compute Engine para programar VMs:
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).
-