Programa una instancia de VM para que se inicie y se detenga

La programación de instancias te permite iniciar y detener instancias de máquina virtual (VM) de manera automática. El uso de programas de instancias para automatizar la implementación de las instancias de VM puede ayudarte a optimizar los costos y administrar las instancias de VM de manera más eficiente. Puedes usar programaciones de instancias para cargas de trabajo recurrentes y únicas. Por ejemplo, usa programaciones de instancias para ejecutar solo instancias de VM durante las horas de trabajo o proporcionar capacidad a un evento único.

Para usar programaciones de instancias, crea una política de recursos que describa el comportamiento de inicio y detención y, luego, adjunta la política a una o más instancias de VM.

Antes de comenzar

  • Si deseas usar los ejemplos de línea de comandos en esta guía, haz lo siguiente:
    1. Instala la herramienta de línea de comandos de gcloud o actualízala a la última versión.
    2. Configura una región y una zona predeterminadas.
  • Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.
  • Para usar programaciones de instancias, la cuenta de servicio del sistema de Compute Engine de tu proyecto debe tener los siguientes permisos:
    • compute.instances.start para programar las instancias de VM que se inician.
    • compute.instances.stop para programar las instancias de VM que se detienen.

    Si la cuenta de servicio del sistema de Compute Engine no tiene estos permisos, otorga una función de IAM a la cuenta de servicio del sistema de Compute Engine que sí lo hace, como el Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1). Otras cuentas de servicio no afectan las programaciones de instancias.

Limitaciones

  • Solo puedes adjuntar una programación de instancias a las instancias de VM ubicadas en la misma región que la programación de la instancia.
  • Cada instancia de VM solo puede seguir una programación de instancias, pero puedes adjuntar cada programación de instancias a hasta 1,000 instancias de VM.
  • Los programas de instancias no proporcionan garantías de capacidad, por lo que si los recursos necesarios para una instancia de VM programada no están disponibles en el momento programado, tu instancia de VM podría no iniciarse cuando se programe. Aunque puedes reservar instancias de VM antes de iniciarlas para proporcionar garantías de capacidad, las reservas no se pueden programar de forma automática.
  • La programación de instancias solo inicia y detiene instancias de VM en los momentos especificados, pero puedes iniciar y detener instancias de VM de forma manual en cualquier momento. Por ejemplo, supongamos que tienes un programa que comienza todos los días a las 8 a.m. y se detiene todos los días a las 5 p.m. Si adjuntas esa programación a una instancia de VM detenida a las 4 p.m., la instancia de VM no se iniciará hasta las 8 a.m del día siguiente, a menos que inicies la instancia de VM de forma manual antes de esa fecha.
  • Las instancias de VM programadas pueden tardar hasta 15 minutos después de la hora programada para iniciar una operación de inicio o detención. Si necesitas que las instancias de VM se inicien o se detengan en un momento específico, programa la operación 15 minutos antes de lo necesario y programa cada operación con al menos 15 minutos de diferencia.
  • Cada programa de instancias te permite tener hasta una operación de inicio y hasta una operación de detención por hora.
  • No puedes editar programaciones de instancias. Si quieres cambiar un programa de instancias existente para una o más instancias de VM, quita y borra el programa de instancias existente, luego crea y conecta una programación de instancias nueva.

Administra programaciones de instancias

Crea, enumera, describe y borra los programas de instancias con Google Cloud Console, la herramienta de línea de comandos de gcloud o la API de Compute Engine.

Crea un programación de instancias

Crea un programa de instancias que describa cuándo se deben iniciar o detener automáticamente las instancias de VM. La programación de instancias que crees es una política de recursos, que puedes usar si adjuntas una instancia o la quitas de una instancia de VM.

Console

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

    Ir a Instancias de VM

  2. Haz clic en la pestaña Programación de instancias en la parte superior de la página.

  3. Haz clic en Crear programación. Se abrirá el panel Crear un programa.

  4. Ingresa un Nombre.

  5. Ingresa una Descripción (opcional).

  6. En el menú desplegable Región, selecciona la ubicación para esta programación de instancias.

  7. Define cuándo inicia y detiene la instancia de VM adjunta. Si necesitas que las instancias de VM comiencen o se detengan en un momento específico, programa la operación 15 minutos antes de lo necesario. Asegúrate de que cada operación de inicio y detención sea de al menos 15 minutos de diferencia.

    Usa los campos Hora de inicio, Hora de finalización y Frecuencia predeterminadas o, si quieres configurar un programa más complejo, usa expresiones cron.

    • Campos predeterminados:

      1. Ingresa una Hora de inicio, una Hora de finalización o ambas.
        • En el campo Hora de inicio, ingresa o haz clic en a fin de seleccionar el tiempo para iniciar las instancias de VM.
        • En el campo Hora de detención, escribe o haz clic en para seleccionar la hora a la que deseas detener las instancias de VM.
      2. En el menú desplegable Frecuencia en la parte inferior del panel, selecciona con qué frecuencia se repiten las Hora de inicio y Hora de finalización.
    • Expresiones cron:

      1. Para habilitar las expresiones cron, haz clic en el botón Use CRON expression (Usar expresión CRON) en la parte superior del panel.
      2. Ingresa una expresión de inicio de CRON, una expresión de finalización de CRON o ambas.
        • En el campo Expresión de inicio de CRON (Start CRON expression), ingresa una expresión cron que describa cuándo iniciar instancias de VM.
        • En el campo Expresión de finalización de CRON, ingresa una expresión cron que describe cuándo detener las instancias de VM.
  8. En el menú desplegable Zona horaria, selecciona la zona horaria para la Hora de inicio y la Hora de finalización.

  9. Opcional: En el campo Fecha de inicio, escribe o haz clic en para seleccionar la fecha y hora en la que deseas que comience esta programación de instancias. Si se omite, la programación entrará en vigor de inmediato.

  10. Opcional: En el campo Fecha de finalización, escribe o haz clic en para seleccionar la fecha y hora en que deseas que finalice esta programación de instancias. Si se omite, la programación entrará en vigencia de forma indefinida.

  11. Haga clic en Enviar.

gcloud

Para crear una programación de instancias con la herramienta de gcloud, usa el comando gcloud compute resource-policies create instance-schedule:

gcloud compute resource-policies create instance-schedule SCHEDULE_NAME \
    [--description='SCHEDULE_DESCRIPTION'] \
    [--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]

Reemplaza lo siguiente:

  • SCHEDULE_NAME: es el nombre de la programación de instancias nueva.
  • SCHEDULE_DESCRIPTION: es una descripción de la programación nueva (opcional).
  • REGION: (opcional) la región en la que se encuentran las instancias de VM que deseas adjuntar a esta programación de instancias
  • Reemplaza al menos uno de los siguientes elementos:
    • START-OPERATION_SCHEDULE: un programa que describe cuándo se inician las instancias de VM adjuntas, con el formato de una expresión cron. Si necesitas que las instancias de VM se inicien en un momento específico, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta la programación de inicio de operación.
    • STOP-OPERATION_SCHEDULE: una programación que describe cuándo se detiene las instancias de VM adjuntas, con el formato de una expresión cron. Si necesitas que las instancias de VM se detengan en un momento específico, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta programación de detención de operaciones.
  • TIME_ZONE: La zona horaria de IANA basada en la ubicación para esta programación de instancias. Si se omite, se usa el valor predeterminado UTC. Para obtener más información, consulta la zona horaria.
  • INITIATION_DATE: (Opcional) la primera fecha en que la programación de la instancia es efectiva, tiene el formato de una marca de tiempo RFC 3339. Si se omite, la programación entrará en vigor de inmediato. Para obtener más información, consulta la Fecha de inicio.
  • END_DATE: (Opcional) la última fecha en que la programación de la instancia es efectiva, tiene el formato de una marca de tiempo RFC 3339. Si se omite, la programación entrará en vigencia de forma indefinida. Para obtener más información, consulte la fecha de finalización.

API

Para crear una programación de instancias con la API de Compute Engine, realiza una solicitud mediante el método resourcePolicies.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
{
  "name": "SCHEDULE_NAME",
  "description": "SCHEDULE_DESCRIPTION",
  "instanceSchedulePolicy": {
    "vmStartSchedule": {
      "schedule": "START-OPERATION_SCHEDULE"
    },
    "vmStopSchedule": {
      "schedule": "STOP-OPERATION_SCHEDULE"
    },
    "timeZone": "TIME_ZONE",
    "startTime":"INITIATION_DATE",
    "expirationTime":"END_DATE"
  }
}

Reemplaza lo siguiente:

  • PROJECT: Es el ID de tu proyecto.
  • REGION: la región en la que se encuentran las instancias de VM que deseas adjuntar a esta programación de instancias.
  • SCHEDULE_NAME: es el nombre de la programación de instancias nueva.
  • SCHEDULE_DESCRIPTION: es una descripción de la programación nueva (opcional).
  • START-OPERATION_SCHEDULE o STOP-OPERATION_SCHEDULE: Especifica al menos uno de los siguientes valores:
    • START-OPERATION_SCHEDULE: un programa que describe cuándo se inician las instancias de VM adjuntas, con el formato de una expresión cron. Si necesitas que las instancias de VM se inicien en un momento específico, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta la programación de inicio de operación.
    • STOP-OPERATION_SCHEDULE: una programación que describe cuándo se detiene las instancias de VM adjuntas, con el formato de una expresión cron. Si necesitas que las instancias de VM se detengan en un momento específico, programa la operación 15 minutos antes de lo necesario. Para obtener más información, consulta programación de detención de operaciones.
  • TIME_ZONE: La zona horaria de IANA basada en la ubicación para esta programación de instancias. Para obtener más información, consulta la zona horaria.
  • INITIATION_DATE: (Opcional) la primera fecha en que la programación de la instancia es efectiva, tiene el formato de una marca de tiempo RFC 3339. Si se omite, la programación entrará en vigor de inmediato. Para obtener más información, consulta la Fecha de inicio.
  • END_DATE: (Opcional) la última fecha en que la programación de la instancia es efectiva, tiene el formato de una marca de tiempo RFC 3339. Si se omite, la programación entrará en vigencia de forma indefinida. Para obtener más información, consulte la fecha de finalización.

Cada programación de instancias tiene la siguiente configuración:

programación de inicio de operaciones, programación de detención de operaciones

Programas que describen cuándo comienza y se detiene cualquier instancia de VM adjunta. Una programación de instancias puede tener uno de estas programaciones o ambas.

Cuando creas programaciones de instancias con Cloud Console, puedes seleccionar una Hora de inicio, una Hora de finalización y una Frecuencia, o le da formato a cada programación como una expresión cron. Cuando creas programaciones de instancias con la herramienta de gcloud o la API de Compute Engine, debes dar formato a cada programa como una expresión cron.

En la siguiente tabla, se definen los campos de una expresión de cron y los valores compatibles para cada campo.

Minuto Hora Día del mes Mes Día de la semana
0-59 0-23 1-31

en las que los 29-31 solo son efectivos para meses relevantes

1-12 0-6 o SUN-SAT (de domingo a sábado)

En el ejemplo anterior, se ilustra lo siguiente: 0=SUN, 1=MON, 6=SAT

Además de estos valores, también se pueden usar los siguientes caracteres especiales en cada campo en una expresión cron.
Carácter especial Significado Ejemplo
* cualquiera Si el campo del día del mes, el campo del mes y el campo de día de la semana se configuran en *, la programación se repite todos los días.
- rango Si el campo de día de la semana se establece en MON-FRI (o 1-5), la programación se repite todas las semanas, de lunes a viernes.
, list Si el campo de mes se configura en 1-6,8-12, el programa se repite todos los meses, excepto en julio.

Cuando escribas una expresión cron, ten en cuenta lo siguiente:

  • El espacio en blanco se usa para separar los campos de una expresión cron. Recuerda no agregar espacios en blanco adicionales en un campo que usa caracteres especiales.
  • Cuando especificas un día de la semana y un día del mes (cuando no se configura ningún campo como *), el programa usa la unión de estos valores, no la intersección. Por ejemplo, el programa 0 8 1 * MON comienza a las 8:00 a.m. todos los lunes y el primer día de cada mes. Ese programa no comienza a las 8:00 a.m. solo los lunes que también son el primer día del mes.
zona horaria

La zona horaria de IANA basada en la ubicación para el programa de inicio de operación y el programa de operación de detención. La base de datos de la zona horaria de IANA define una lista de valores disponibles. Esta zona horaria se usa como referencia solo para los programas de operación de inicio y finalización, no para la fecha de inicio y finalización. La zona horaria es opcional cuando se usa la herramienta gcloud o la API de Compute Engine. Si se omite, se usa el valor predeterminado UTC.

Algunas zonas horarias de IANA detectan el tiempo de ahorro de luz (DST), que puede afectar tus programaciones de instancias. La información de DST (por ejemplo, cuándo se inicia y finaliza la DST, y cuánto tiempo se omite y se repite) varía según la zona horaria.

fecha de inicio, fecha de finalización

El marco temporal de 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 Cloud Console, selecciona una fecha, hora y zona horaria con los campos Fecha de inicio y Fecha de finalización.

Cuando se crean programaciones de instancias con la herramienta de gcloud o la API de Compute Engine, estos valores se formatean como una marca de tiempo RFC 3339:

  YYYY-MM-DDTHH:MM:SSOFFSET

Reemplaza lo siguiente:

  • YYYY-MM-DD: una fecha con formato de un año de 4 dígitos, un mes de 2 dígitos y un día de 2 dígitos del mes separado por guiones
  • HH:MM:SS: una hora con formato de hora de 2 dígitos con el formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos
  • OFFSET: la zona horaria con formato como una compensación del horario universal coordinado (UTC). Por ejemplo, la hora estándar del Pacífico (PST), que es 8 horas antes de UTC, se escribe como -08:00. Como alternativa, si no quieres usar desplazamiento (la zona horaria UTC), escribe Z.

Enumera programaciones de instancias

Enumera las programaciones de instancias a fin de ver todas las programaciones de instancias existentes para tu proyecto.

Console

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

    Ir a Instancias de VM

  2. Haz clic en la pestaña Programaciones de instancias en la parte superior de la página. Se mostrará una lista de todas las programaciones de instancias para este proyecto.

gcloud

Para ver una lista de todas las políticas de recursos, incluidas las programaciones de instancias, con la herramienta de gcloud, usa el comando gcloud compute resource-policies list. De forma opcional, puedes incluir la marca --filter para restringir los resultados a una región específica.

gcloud compute resource-policies list \
    [--filter="region:(REGION)"]

Reemplaza lo siguiente:

  • REGION: (opcional) la región en la que se encuentran las programaciones de instancias que deseas enumerar.

API

Para ver una lista de todas las políticas de recursos, incluidas las programaciones de instancias, en una región específica con la API de Compute Engine, realiza una solicitud con el método resourcePolicies.list:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies

Reemplaza lo siguiente:

  • PROJECT: Es el ID de tu proyecto.
  • REGION: la región en la que se encuentran las programaciones de instancias que deseas enumerar.

Describe una programación de instancias

Describe una programación de instancias para ver su descripción, horario, operaciones y una lista de todas las instancias de VM a las que está conectado.

Console

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

    Ir a Instancias de VM

  2. Haz clic en la pestaña Programaciones de instancias en la parte superior de la página. Se mostrará una lista de todas las programaciones de instancias para este proyecto.

  3. Haz clic en el nombre de la programación de instancias que deseas describir. Se abrirá la página Detalles de la programación de instancias para esa programación.

gcloud

Para describir una programación de instancias con la herramienta de gcloud, usa el comando gcloud compute resource-policies describe:

gcloud compute resource-policies describe SCHEDULE_NAME \
    [--region=REGION]

Reemplaza lo siguiente:

  • SCHEDULE_NAME: el nombre de la programación de instancias que quieres describir.
  • REGION: (Opcional) la región donde se encuentra la programación de instancias.

El resultado es 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

API

Para describir una programación de instancias con la API de Compute Engine, realiza una solicitud mediante el método resourcePolicies.get:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME

Reemplaza lo siguiente:

  • PROJECT: Es el ID de tu proyecto.
  • REGION: la región en la que se encuentra la programación de instancias.
  • SCHEDULE_NAME: el nombre de la programación de instancias que quieres describir.

El resultado es 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"
    }
  },
  ...
}

Borra una programación de instancias

Borra una programación de instancias cuando ya no la necesites y quita todas las instancias de VM adjuntas y borra la política de recursos.

Console

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

    Ir a Instancias de VM

  2. Haz clic en la pestaña Programación de instancias en la parte superior de la página. Se mostrará una lista de todas las programaciones de instancias para este proyecto.

  3. Selecciona las casillas de verificación de las programaciones de instancias que deseas borrar.

  4. Haz clic en Borrar en la parte superior de la página. Se abrirá un nuevo cuadro de diálogo para confirmar esta acción.

  5. En el cuadro de diálogo, haz clic en Borrar.

gcloud

  1. Si esta programación de instancias se adjunta a alguna instancia de VM, quítala.
    1. Para verificar a qué instancias de VM está adjuntada esta programación, describe la programación de instancias.
    2. Para cada instancia de VM a la que esté conectado este programa, quita la programación de instancias.
  2. Para borrar una programación de instancias con la herramienta de gcloud, usa el comando gcloud compute resource-policies delete:

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

    Reemplaza lo siguiente:

    • SCHEDULE_NAME: es el nombre de la programación de la instancia que deseas borrar.
    • REGION: (Opcional) la región donde se encuentra la programación de instancias.

API

  1. Si esta programación de instancias se adjunta a alguna instancia de VM, quítala.
    1. Para verificar a qué instancias de VM está adjuntada esta programación, describe la programación de instancias.
    2. Para cada instancia de VM a la que esté conectado este programa, quita la programación de instancias.
  2. Para borrar una programación de instancias con la API de Compute Engine, realiza una solicitud con el método resourcePolicies.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME
    

    Reemplaza lo siguiente:

    • PROJECT: Es el ID de tu proyecto.
    • REGION: la región en la que se encuentra la programación de instancias.
    • SCHEDULE_NAME: es el nombre de la programación de la instancia que deseas borrar.

Usa programaciones de instancias con instancias de VM

Para usar una programación de instancias, adjúntala a una o más instancias de VM que quieras seguir con esa programación. Puedes conectar una programación de instancias a una instancia de VM existente o mientras creas una instancia de VM nueva. Para evitar que una instancia de VM siga una programación de instancias adjunta, quita la programación de esa instancia de VM.

Conecta una programación de instancias mientras creas una instancia de VM nueva.

Para adjuntar una programación de instancias a una nueva instancia de VM, debes crear la instancia de VM en la misma región que la programación de instancias que usas. Obtén más información sobre cómo crear una instancia de VM.

Console

No puedes adjuntar una programación de instancias mientras creas una instancia con Cloud Console. Para usar Cloud Console a fin de adjuntar una programación de instancias a una nueva instancia de VM, crea una instancia de VM y, luego, adjunta un programa a la instancia de VM.

gcloud

Para conectar una programación de instancias a una instancia de VM mediante la herramienta 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 conectada, 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]

Reemplaza lo siguiente:

  • VM_NAME: es el nombre de la instancia de VM a la que deseas adjuntar una programación de instancias.
  • SCHEDULE_NAME: el nombre de la programación de instancias que quieres adjuntar.
  • ZONE: (Opcional) 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: Especifica una de las siguientes opciones:
    • IMAGE: Es la versión requerida de una imagen pública. Por ejemplo, --image debian-10-buster-v20200309.
    • IMAGE_FAMILY: Es una familia de imágenes. Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas --image-family debian-10, Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenes Debian 10.
    • IMAGE_PROJECT: Es el proyecto que contiene la imagen.

API

Para adjuntar una programación de instancias a una instancia de VM con la API de Compute Engine, realiza una solicitud con el método instances.insert y, luego, incluye el atributo resourcePolicies. Por ejemplo, para crear una instancia de VM a partir de una imagen pública con una programación de instancias adjunta, realiza la siguiente solicitud:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_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"
  ]
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se creará la VM.
  • PROJECT_ZONE: Es la zona en la que se creará la VM.
  • MACHINE_TYPE_ZONE: Es la zona que contiene el tipo de máquina que se usará para la VM nueva.
  • MACHINE_TYPE: Es el tipo de máquina, predefinido o personalizado de la VM nueva.
  • VM_NAME: Es el nombre de la VM nueva.
  • Opcional: Crea una instancia de VM a partir de una imagen pública:
    • IMAGE_PROJECT: Es el proyecto que contiene la imagen. Por ejemplo, si especificas debian-10 como familia de imágenes, especifica debian-cloud como proyecto de imagen.
    • IMAGE o IMAGE_FAMILY: Especifica una de las siguientes opciones:
    • IMAGE: Es la versión requerida de una imagen pública. Por ejemplo: "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309".
    • IMAGE_FAMILY: Es una familia de imágenes. Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. 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 de SO en la familia de imágenes Debian 10.
  • REGION: la región en la que se encuentra la programación de instancias.
  • SCHEDULE_NAME: el nombre de la programación de instancias que quieres adjuntar.

Puedes verificar si la programación de la instancia se ejecuta con éxito si verificas los registros de auditoría para la política de recursos de la programación de instancias y la instancia de VM adjunta. Es posible que debas esperar hasta 15 minutos después del tiempo programado para cada operación.

Conecta una programación de instancias a una instancia de VM existente

Puedes adjuntar una programación de instancias a cualquier instancia de VM existente que se encuentre en la misma región que la programación de la instancia.

Console

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

    Ir a Instancias de VM

  2. Haz clic en la pestaña Programaciones de instancias en la parte superior de la página. Se mostrará una lista de todas las programaciones de instancias para este proyecto.

  3. Haz clic en el nombre de la programación de instancias que deseas adjuntar. Se abrirá la página Detalles de programación de instancias.

  4. Haz clic en Agregar instancias para programar. Se abrirá el panel Agregar instancias para programar.

  5. Selecciona la casilla de verificación para cada instancia de VM a la que desees adjuntar este programa.

  6. Haga clic en Add.

gcloud

Para conectar una programación de instancias a una instancia de VM mediante la herramienta 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]

Reemplaza lo siguiente:

  • VM_NAME: es el nombre de la instancia de VM a la que deseas adjuntar una programación de instancias.
  • SCHEDULE_NAME: el nombre de la programación de instancias que quieres adjuntar.
  • ZONE: (Opcional) la zona en la que se encuentra tu instancia de VM.

API

Para adjuntar una programación de instancias a una instancia de VM con la API de Compute Engine, realiza una solicitud con el método instances.addResourcePolicies:

POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/addResourcePolicies
{
  "resourcePolicies": "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
}

Reemplaza lo siguiente:

  • PROJECT: Es el ID de tu proyecto.
  • ZONE: La zona en la que se encuentra la instancia.
  • VM_NAME: es el nombre de la instancia de VM a la que deseas adjuntar una programación de instancias.
  • REGION: la región en la que se encuentra la programación de instancias.
  • SCHEDULE_NAME: el nombre de la programación de instancias que quieres adjuntar.

Puedes verificar si la programación de la instancia se ejecuta con éxito si verificas los registros de auditoría para la política de recursos de la programación de instancias y la instancia de VM adjunta. Es posible que debas esperar hasta 15 minutos después del tiempo programado para cada operación.

Quita una programación de instancias de una instancia de VM

Quita una programación de instancias de una instancia de VM para evitar que esa instancia siga esa programación.

Console

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

    Ir a Instancias de VM

  2. Haz clic en la pestaña Programaciones de instancias en la parte superior de la página. Con este comando, se muestra una lista de todas las programaciones de instancias para este proyecto.

  3. Haz clic en el nombre de la programación de instancias que deseas quitar. Se abrirá la página Detalles de la programación de instancias.

  4. En la sección Instancias conectadas, selecciona la casilla de verificación para cada instancia de VM que deseas quitar de esta programación.

  5. Haz clic en Quitar instancias del programa. Esto abrirá un nuevo diálogo para confirmar esta acción.

  6. En el cuadro de diálogo, haz clic en Quitar.

gcloud

Para quitar la programación de una instancia de una instancia de VM mediante la herramienta de gcloud, usa el comando gcloud alpha compute instances remove-resource-policies:

gcloud alpha compute instances remove-resource-policies VM_NAME \
    --resource-policies=SCHEDULE_NAME \
    [--zone=ZONE]

Reemplaza lo siguiente:

  • VM_NAME: es el nombre de la instancia de VM de la que deseas quitar una programación de instancias.
  • SCHEDULE_NAME: es el nombre de la programación de la instancia que deseas quitar.
  • ZONE: (Opcional) la zona en la que se encuentra tu instancia de VM.

API

Para quitar una programación de instancias de una instancia de VM con la API de Compute Engine, realiza una solicitud con el método instances.removeResourcePolicies:

POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/removeResourcePolicies
{
  "resourcePolicies": "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
}

Reemplaza lo siguiente:

  • PROJECT: Es el ID de tu proyecto.
  • ZONE: La zona en la que se encuentra la instancia.
  • VM_NAME: es el nombre de la instancia de VM de la que deseas quitar una programación de instancias.
  • REGION: la región en la que se encuentra la programación de instancias.
  • SCHEDULE_NAME: es el nombre de la programación de la instancia que deseas quitar.

¿Qué sigue?