Programar una instancia de VM para iniciar y detener


Los cronogramas de instancias le permiten iniciar y detener instancias de máquinas virtuales (VM) automáticamente. Para utilizar programaciones de instancias, cree una política de recursos que detalla el comportamiento de inicio y detención y luego adjunte la política a una o más instancias de VM.

El uso de programaciones de instancias para automatizar la implementación de sus instancias de VM puede ayudarlo a optimizar los costos y administrar las instancias de VM de manera más eficiente. Puede utilizar programaciones de instancias para cargas de trabajo recurrentes y únicas. Por ejemplo, utilice programaciones de instancias para ejecutar instancias de VM solo durante el horario laboral o para proporcionar capacidad para un evento único.

Para conocer otras opciones para programar máquinas virtuales automáticamente, consulte las siguientes páginas:

  • Escalado según cronogramas : si ejecuta su carga de trabajo en un grupo de instancias administrado (MIG), puede usar cronogramas de escalado para programar la cantidad requerida de instancias de máquinas virtuales (VM) para eventos recurrentes o únicos.

  • Limite el tiempo de ejecución de una VM : si no desea crear políticas de recursos, puede configurar directamente una VM para que se detenga o elimine automáticamente cuando alcance un tiempo o duración específicos.

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras 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

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Roles requeridos

Para utilizar programaciones de instancias, debe otorgar los roles de administración de acceso e identidad (IAM) necesarios a los siguientes principales:

  • El agente de servicio de Compute Engine para tu proyecto. Esto es necesario para que la programación de la instancia se ejecute en una máquina virtual.

    Si revoca estos permisos después de crear programaciones de instancias, es posible que sus programaciones de instancias dejen de funcionar sin previo aviso. Para verificar si los cronogramas de su instancia se ejecutan correctamente, debe verificar periódicamente los registros de auditoría .

  • La cuenta de usuario o cuenta de servicio que crea, administra o utiliza la programación de instancias.

Roles requeridos del agente de servicio de Compute Engine

Para asegurarse de que el agente de servicio de Compute Engine tenga los permisos necesarios para ejecutar la programación de instancias, solicite a su administrador que le otorgue la función de IAM de administrador de instancia de Compute Engine (v1) ( roles/compute.instanceAdmin.v1 ) en el proyecto.

Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Este rol predefinido contiene los permisos necesarios para ejecutar la programación de instancias. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para ejecutar la programación de instancias:

  • compute.instances.start
  • compute.instances.stop

Es posible que tu administrador también pueda otorgar estos permisos al agente de servicio de Compute Engine con roles personalizados u otros roles predefinidos .

Roles requeridos para cuentas de usuario o de servicio

Para asegurarse de que usted o su cuenta de servicio tengan los permisos necesarios para crear y administrar programaciones de instancias, solicite a su administrador que le otorgue a usted o a su cuenta de servicio la función de IAM de Administrador de instancias informáticas (v1) ( roles/compute.instanceAdmin.v1 ) en su proyecto u organización.

Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Esta función predefinida contiene los permisos necesarios para crear y administrar programaciones de instancias. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para crear y administrar programaciones de instancias:

  • Cree una programación de instancias: compute.resourcePolicies.create
  • Enumerar una programación de instancias: compute.resourcePolicies.list
  • Describe una programación de instancias: compute.resourcePolicies.get
  • Eliminar una programación de instancia: compute.resourcePolicies.delete
  • Adjunte una programación de instancia a una nueva VM:
    • compute.instances.create
    • compute.resourcePolicies.use
    • compute.instances.addResourcePolicies
  • Adjunte una programación de instancia a una máquina virtual existente:
    • compute.resourcePolicies.use
    • compute.instances.addResourcePolicies
  • Elimine una programación de instancia de una VM:
    • compute.resourcePolicies.use
    • compute.instances.removeResourcePolicies

Su administrador también podría otorgarle a usted o a su cuenta de servicio estos permisos con roles personalizados u otros roles predefinidos .

Limitaciones

  • Solo puede adjuntar una programación de instancias a instancias de VM que estén ubicadas en la misma región que la programación de instancias.
  • No puede usar programaciones de instancias para detener una instancia que tiene discos SSD locales.
  • Cada instancia de VM solo puede seguir una programación de instancia, pero puede adjuntar cada programación de instancia a hasta 1000 instancias de VM.
  • Los cronogramas de instancias no brindan 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 su instancia de VM no se inicie cuando está programada. Aunque puede reservar instancias de VM antes de iniciarlas para obtener un alto nivel de seguridad de que su capacidad esté disponible cuando sea necesaria, las reservas no se pueden programar automáticamente.
  • Las programaciones de instancias solo inician y detienen instancias de VM en los momentos especificados, pero puede iniciar y detener instancias de VM manualmente en cualquier momento. Por ejemplo, supongamos que tiene un horario que comienza diariamente a las 8 a. m. y finaliza diariamente a las 5 p. m. Si adjunta esa programación a una instancia de VM detenida a las 4 p. m., esa instancia de VM no se inicia hasta las 8 a. m. del día siguiente, a menos que inicie manualmente la instancia de VM antes de esa hora.
  • Las instancias de VM programadas pueden tardar hasta 15 minutos después de la hora programada para iniciar o detener una operación. Si necesita que las instancias de VM se inicien o se detengan en un momento específico, programe la operación 15 minutos antes de lo necesario y programe cada operación con al menos 15 minutos de diferencia.
  • El planificador puede fallar si hay un intervalo de menos de 15 minutos entre las operaciones de inicio y detención. Esto se debe a que la operación de detención puede ocurrir antes de la operación de inicio, lo que impide que se realice la operación de inicio.
  • Cada programación de instancia le permite tener hasta una operación de inicio y hasta una operación de parada por hora.
  • Para modificar la programación de una instancia, utilice una operación de parche en la política de programación de la instancia.

Administrar cronogramas de instancias

Cree, enumere, describa y elimine programaciones de instancias mediante la consola de Google Cloud, la CLI de Google Cloud o la API de Compute Engine.

Crear un cronograma de instancia

Cree una programación de instancias que describa cuándo sus instancias de VM deben iniciarse o detenerse automáticamente. La programación de instancias que crea es una política de recursos, que puede usar adjuntándola o eliminándola de las instancias de VM.

Consola

  1. En la consola de Google Cloud, vaya a la página de instancias de VM .

    Ir a instancias de VM

  2. Haga clic en la pestaña Programaciones de instancias en la parte superior de la página.

  3. Haga clic en Crear programación . Se abre el panel Crear una programación .

  4. Introduzca un nombre .

  5. En el menú desplegable Región , seleccione la ubicación para esta programación de instancia.

  6. Defina cuándo comienza y detiene la programación de la instancia cualquier instancia de VM adjunta. Si necesita que las instancias de VM se inicien o se detengan en un momento específico, programe la operación 15 minutos antes de lo necesario. Asegúrese de que cada operación de inicio y parada tenga al menos 15 minutos de diferencia.

    Utilice los campos predeterminados Hora de inicio , Hora de finalización y Frecuencia o, si desea configurar una programación más compleja, utilice expresiones cron .

    • Campos predeterminados:

      1. Introduzca una hora de inicio , una hora de finalización o ambas.
        • En el campo Hora de inicio , escriba o haga clic en para seleccionar la hora para iniciar las instancias de VM.
        • En el campo Hora de detención , escriba o haga clic en para seleccionar la hora para detener las instancias de VM.
      2. En el menú desplegable Frecuencia en la parte inferior del panel, seleccione con qué frecuencia se repiten la hora de inicio y la hora de finalización .
    • Expresiones cron:

      1. Para habilitar expresiones cron, haga clic en el botón Usar expresión CRON en la parte superior del panel.
      2. Introduzca una expresión Iniciar CRON , una expresión Detener CRON o ambas.
        • En el campo Iniciar expresión CRON , ingrese una expresión cron que describa cuándo iniciar instancias de VM.
        • En el campo Detener expresión CRON , ingrese una expresión cron que describa cuándo detener las instancias de VM.
  7. En el menú desplegable Zona horaria , seleccione la zona horaria para la Hora de inicio y la Hora de finalización .

  8. Opcional: en el campo Fecha de inicio , escriba o haga clic en para seleccionar la fecha y hora en que desea que comience esta programación de instancia. Si se omite, el cronograma entra en vigencia de inmediato.

  9. Opcional: en el campo Fecha de finalización , escriba o haga clic en para seleccionar la fecha y hora en que desea que finalice esta programación de instancia. Si se omite, el cronograma tiene vigencia indefinida.

  10. Haga clic en Enviar .

nube de gcloud

Para crear una programación de instancias usando la CLI de gcloud, 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]

Reemplace lo siguiente:

  • SCHEDULE_NAME : el nombre de la nueva programación de instancia.
  • REGION : la región donde se encuentran las instancias de VM que desea adjuntar a esta programación de instancias.
  • Especifique al menos uno de los siguientes:
    • START-OPERATION_SCHEDULE : una programación que describe cuándo se inician las instancias de VM adjuntas, formateadas como una expresión cron. Si necesita que las instancias de VM se inicien a una hora específica, programe la operación 15 minutos antes de lo necesario. Para obtener más información, consulte el cronograma de inicio de operación .
    • STOP-OPERATION_SCHEDULE : una programación que describe cuándo se detienen las instancias de VM adjuntas, formateada como una expresión cron. Si necesita que las instancias de VM se detengan en un momento específico, programe la operación 15 minutos antes de lo necesario. Para obtener más información, consulte el cronograma de parada de operación .
  • TIME_ZONE : Opcional: la zona horaria de la IANA basada en la ubicación para esta programación de instancia. Si se omite, se utiliza el valor predeterminado UTC . Para obtener más información, consulte zona horaria .
  • INITIATION_DATE : Opcional: la primera fecha en que la programación de la instancia entra en vigencia, formateada como una marca de tiempo RFC 3339. Si se omite, el cronograma entra en vigencia de inmediato. Para obtener más información, consulte fecha de inicio .
  • END_DATE : Opcional: la última fecha en que la programación de la instancia entra en vigencia, con formato de marca de tiempo RFC 3339. Si se omite, el cronograma tiene vigencia indefinida. Para obtener más información, consulte fecha de finalización .

DESCANSAR

Para crear una programación de instancias usando la API de Compute Engine, realiza una solicitud usando 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"
  }
}

Reemplace lo siguiente:

  • PROJECT : la identificación de su proyecto .
  • REGION : la región donde se encuentran las instancias de VM que desea adjuntar a esta programación de instancias.
  • SCHEDULE_NAME : el nombre de la nueva programación de instancia.
  • START-OPERATION_SCHEDULE o STOP-OPERATION_SCHEDULE : especifique al menos uno de los siguientes:
    • START-OPERATION_SCHEDULE : una programación que describe cuándo se inician las instancias de VM adjuntas, formateadas como una expresión cron. Si necesita que las instancias de VM se inicien a una hora específica, programe la operación 15 minutos antes de lo necesario. Para obtener más información, consulte el cronograma de inicio de operación .
    • STOP-OPERATION_SCHEDULE : una programación que describe cuándo se detienen las instancias de VM adjuntas, formateada como una expresión cron. Si necesita que las instancias de VM se detengan en un momento específico, programe la operación 15 minutos antes de lo necesario. Para obtener más información, consulte el cronograma de parada de operación .
  • TIME_ZONE : la zona horaria de la IANA basada en la ubicación para esta programación de instancia. Para obtener más información, consulte zona horaria .
  • INITIATION_DATE : Opcional: la primera fecha en que la programación de la instancia entra en vigencia, formateada como una marca de tiempo RFC 3339. Si se omite, el cronograma entra en vigencia de inmediato. Para obtener más información, consulte fecha de inicio .
  • END_DATE : Opcional: la última fecha en que la programación de la instancia entra en vigencia, con formato de marca de tiempo RFC 3339. Si se omite, el cronograma tiene vigencia indefinida. Para obtener más información, consulte fecha de finalización .

Cada programación de instancia tiene las siguientes configuraciones:

programa de inicio de operación, programa de parada de operación

Programaciones que describen cuándo comienza y detiene la programación de la instancia cualquier instancia de VM adjunta. Una programación de instancia puede tener una de estas programaciones o ambas.

Al crear programaciones de instancias usando la consola de Google Cloud, puede seleccionar una hora de inicio , una hora de finalización y una frecuencia o formatear cada programación como una expresión cron . Al crear programaciones de instancias usando la CLI de gcloud o la API de Compute Engine, debes formatear cada programación como una expresión cron.

La siguiente tabla define los campos de una expresión cron y los valores admitidos para cada campo.

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

donde 29-31 solo son efectivos para los meses relevantes

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

donde 0= SUN , 1= MON , … 6= SAT

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

Cuando escriba una expresión cron, considere lo siguiente:

  • Los espacios en blanco se utilizan para separar los campos de una expresión cron. Recuerde no agregar espacios en blanco adicionales en un campo que utilice caracteres especiales.
  • Cuando especifica un día de la semana y un día del mes (cuando ninguno de los campos está configurado en * ), la programación utiliza la unión de estos valores, no la intersección. Por ejemplo, el horario 0 8 1 * MON comienza a las 8 a. m. todos los lunes y el primer día de cada mes. Ese horario no comienza a las 8 a. m. solo los lunes que también son el primer día del mes.
huso horario

La zona horaria de la IANA basada en la ubicación para el cronograma de inicio de operación y el cronograma de parada de operación. La base de datos de zonas horarias de la IANA define una lista de valores disponibles . Esta zona horaria se utiliza como referencia únicamente para los horarios de inicio y finalización de la operación; no se utiliza para la fecha de inicio ni 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 utiliza el valor predeterminado UTC .

Algunas zonas horarias de la IANA observan el horario de verano (DST), lo que puede afectar los cronogramas de sus instancias. Los detalles del horario de verano, como cuándo comienza y termina el horario de verano, así como cuánto tiempo se omite y se repite, varían según cada zona horaria.

fecha de inicio, fecha de finalización

El plazo en el que el cronograma de instancia es efectivo. Ambos valores son opcionales. Las operaciones se repiten anualmente a menos que especifique estos valores para limitar el programa a un solo año.

Al crear programaciones de instancias usando la consola de Google Cloud, seleccione una fecha, hora y zona horaria usando los campos Fecha de inicio y Fecha de finalización .

Al crear programaciones de instancias usando la CLI de gcloud o la API de Compute Engine, estos valores tienen el formato de marca de tiempo RFC 3339 :

  YYYY-MM-DDTHH:MM:SSOFFSET

Reemplace lo siguiente:

  • YYYY-MM-DD : una fecha con 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 : una hora formateada como hora de 2 dígitos usando hora de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos.
  • OFFSET : la zona horaria formateada como una compensación de la hora universal coordinada (UTC). Por ejemplo, la hora estándar del Pacífico (PST), que es 8 horas antes que UTC, se escribe como -08:00 . Alternativamente, para no utilizar ningún desplazamiento (la zona horaria UTC), escriba Z .

Listado de cronogramas de instancias

Enumere los cronogramas de instancias para ver todos los cronogramas de instancias existentes para su proyecto.

Consola

  1. En la consola de Google Cloud, vaya a la página de instancias de VM .

    Ir a instancias de VM

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

nube de gcloud

Para ver una lista de todas tus políticas de recursos, incluidas las programaciones de instancias, usando la CLI de gcloud, usa el comando gcloud compute resource-policies list . Opcionalmente, para restringir los resultados a una región específica, incluya la marca --filter .

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

Reemplace lo siguiente:

  • REGION : Opcional: la región donde se encuentran las programaciones de instancias que desea enumerar.

DESCANSAR

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

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

Reemplace lo siguiente:

Describir un cronograma de instancia

Describa una programación de instancias para ver su descripción, tiempos, operaciones y una lista de todas las instancias de VM a las que está adjunta.

Consola

  1. En la consola de Google Cloud, vaya a la página de instancias de VM .

    Ir a instancias de VM

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

  3. Haga clic en el nombre del programa de instancia que desea describir. Esto abre la página de detalles de cronogramas de instancias para ese cronograma.

nube de gcloud

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

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

Reemplace lo siguiente:

  • SCHEDULE_NAME : el nombre de la programación de instancia que desea describir.
  • REGION : la región donde se encuentra el cronograma de la instancia.

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

DESCANSAR

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

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

Reemplace lo siguiente:

  • PROJECT : la identificación de su proyecto .
  • REGION : la región donde se encuentra el cronograma de la instancia.
  • SCHEDULE_NAME : el nombre de la programación de instancia que desea 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"
    }
  },
  ...
}

Eliminar una programación de instancia

Elimine una programación de instancias cuando ya no la necesite eliminando cualquier instancia de VM adjunta y eliminando la política de recursos.

Consola

  1. En la consola de Google Cloud, vaya a la página de instancias de VM .

    Ir a instancias de VM

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

  3. Seleccione las casillas de verificación de las programaciones de instancias que desea eliminar.

  4. Haga clic en Eliminar en la parte superior de la página. Esto abre un nuevo cuadro de diálogo para confirmar esta acción.

  5. En el cuadro de diálogo, haga clic en Eliminar .

nube de gcloud

  1. Si esta programación de instancias está adjunta a alguna instancia de VM, elimínela.
    1. Para verificar a qué instancias de VM está adjunta esta programación, describa la programación de la instancia .
    2. Para cada instancia de VM a la que esté adjunta esta programación, elimine la programación de la instancia .
  2. Para eliminar una programación de instancia usando la CLI de gcloud, usa el comando gcloud compute resource-policies delete :

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

    Reemplace lo siguiente:

    • SCHEDULE_NAME : el nombre de la programación de la instancia que desea eliminar.
    • REGION : la región donde se encuentra el cronograma de la instancia.

DESCANSAR

  1. Si esta programación de instancias está adjunta a alguna instancia de VM, elimínela.
    1. Para verificar a qué instancias de VM está adjunta esta programación, describa la programación de la instancia .
    2. Para cada instancia de VM a la que esté adjunta esta programación, elimine la programación de la instancia .
  2. Para eliminar una programación de instancia usando la API de Compute Engine, realiza una solicitud usando el método resourcePolicies.delete :

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

    Reemplace lo siguiente:

    • PROJECT : la identificación de su proyecto .
    • REGION : la región donde se encuentra el cronograma de la instancia.
    • SCHEDULE_NAME : el nombre de la programación de la instancia que desea eliminar.

Usar programaciones de instancias con instancias de VM

Para utilizar una programación de instancias, asóciela a una o más instancias de VM que desee seguir esa programación. Puede adjuntar una programación de instancia a una instancia de VM existente o al crear una nueva instancia de VM. Para evitar que una instancia de VM siga una programación de instancia adjunta, elimine la programación de esa instancia de VM.

Adjuntar una programación de instancia al crear una nueva instancia de VM

Para adjuntar una programación de instancia a una nueva instancia de VM, debe crear la instancia de VM en la misma región que la programación de instancia que utiliza. Obtenga más información sobre cómo crear una instancia de VM .

Consola

No puede adjuntar una programación de instancia mientras crea una instancia usando la consola de Google Cloud. Para usar la consola de Google Cloud para adjuntar una programación de instancia a una nueva instancia de VM, cree una instancia de VM y luego adjunte una programación a la instancia de VM .

nube de gcloud

Para adjuntar una programación de instancias a una instancia de VM usando la CLI de gcloud, use 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 instancia adjunta, use 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]

Reemplace lo siguiente:

  • VM_NAME : el nombre de la instancia de VM a la que desea adjuntar una programación de instancia.
  • SCHEDULE_NAME : el nombre de la programación de instancia que desea adjuntar.
  • ZONE : la zona donde se encuentra su instancia de VM.
  • Opcional: cree una instancia de VM a partir de una imagen pública:
    • IMAGE o IMAGE_FAMILY : Especifique uno de los siguientes:
    • IMAGE : la versión requerida de una imagen pública. Por ejemplo, --image debian-10-buster-v20200309 .
    • IMAGE_FAMILY : una familia de imágenes . Esto crea la máquina virtual a partir de la imagen del sistema operativo más reciente y no obsoleta. Por ejemplo, si especifica --image-family debian-10 , Compute Engine crea una VM a partir de la última versión de la imagen del sistema operativo en la familia de imágenes de Debian 10.
    • IMAGE_PROJECT : el proyecto que contiene la imagen.

DESCANSAR

Para adjuntar una programación de instancia a una instancia de VM usando la API de Compute Engine, realice una solicitud usando el método instances.insert e incluya el atributo resourcePolicies . Por ejemplo, para crear una instancia de VM a partir de una imagen pública con una programación de instancia adjunta, realice 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"
  ]
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto para 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 utilizará para la nueva VM.
  • MACHINE_TYPE : el tipo de máquina, predefinida o personalizada , para la nueva VM.
  • VM_NAME : el nombre de la nueva VM.
  • Opcional: cree 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, especifique debian-cloud como proyecto de imagen.
    • IMAGE o IMAGE_FAMILY : especifique uno de los siguientes:
    • IMAGE : la versión requerida de una imagen pública. Por ejemplo, "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY : una familia de imágenes . Esto crea la máquina virtual a partir de la imagen del sistema operativo más reciente y no obsoleta. Por ejemplo, si especifica "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 sistema operativo en la familia de imágenes de Debian 10.
  • REGION : la región donde se encuentra el cronograma de la instancia.
  • SCHEDULE_NAME : el nombre de la programación de instancia que desea adjuntar.

Puede verificar si la programación de la instancia se ejecuta correctamente verificando los registros de auditoría de la política de recursos de programación de la instancia y la instancia de VM adjunta. Es posible que deba esperar hasta 15 minutos después de la hora programada para cada operación.

Adjuntar una programación de instancia a una instancia de VM existente

Puede adjuntar una programación de instancia a cualquier instancia de VM existente que esté ubicada en la misma región que la programación de instancia.

Consola

  1. En la consola de Google Cloud, vaya a la página de instancias de VM .

    Ir a instancias de VM

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

  3. Haga clic en el nombre del programa de instancia que desea adjuntar. Se abre la página de detalles del programa de instancias .

  4. Haga clic en Agregar instancias para programar . Se abre el panel Agregar instancias a la programación .

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

  6. Haga clic en Agregar .

nube de gcloud

Para adjuntar una programación de instancias a una instancia de VM usando 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

Reemplace lo siguiente:

  • VM_NAME : el nombre de la instancia de VM a la que desea adjuntar una programación de instancia.
  • SCHEDULE_NAME : el nombre de la programación de instancia que desea adjuntar.
  • ZONE : la zona donde se encuentra su instancia de VM.

DESCANSAR

Para adjuntar una programación de instancia a una instancia de VM usando la API de Compute Engine, realice una solicitud usando 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"
}

Reemplace lo siguiente:

  • PROJECT : la identificación de su proyecto .
  • ZONE : la zona donde se encuentra su instancia de VM.
  • VM_NAME : el nombre de la instancia de VM a la que desea adjuntar una programación de instancia.
  • REGION : la región donde se encuentra el cronograma de la instancia.
  • SCHEDULE_NAME : el nombre de la programación de instancia que desea adjuntar.

Puede verificar si la programación de la instancia se ejecuta correctamente verificando los registros de auditoría de la política de recursos de programación de la instancia y la instancia de VM adjunta. Es posible que deba esperar hasta 15 minutos después de la hora programada para cada operación.

Eliminar una programación de instancia de una instancia de VM

Para evitar que una instancia de VM siga una programación de instancia, elimine la programación de instancia de la instancia de VM.

Consola

  1. En la consola de Google Cloud, vaya a la página de instancias de VM .

    Ir a instancias de VM

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

  3. Haga clic en el nombre de la programación de instancia que desea eliminar. Se abre la página de detalles del programa de instancias .

  4. En la sección Instancias adjuntas , seleccione la casilla de verificación para cada instancia de VM que desee eliminar de esta programación.

  5. Haga clic en Quitar instancias de la programación . Esto abre un nuevo cuadro de diálogo para confirmar esta acción.

  6. En el cuadro de diálogo, haga clic en Eliminar .

nube de gcloud

Para eliminar una programación de instancias de una instancia de VM usando 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

Reemplace lo siguiente:

  • VM_NAME : el nombre de la instancia de VM de la que desea eliminar una programación de instancia.
  • SCHEDULE_NAME : el nombre de la programación de instancia que desea eliminar.
  • ZONE : la zona donde se encuentra su instancia de VM.

DESCANSAR

Para eliminar una programación de instancia de una instancia de VM usando la API de Compute Engine, realiza una solicitud usando 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"
}

Reemplace lo siguiente:

  • PROJECT : la identificación de su proyecto .
  • ZONE : la zona donde se encuentra su instancia de VM.
  • VM_NAME : el nombre de la instancia de VM de la que desea eliminar una programación de instancia.
  • REGION : la región donde se encuentra el cronograma de la instancia.
  • SCHEDULE_NAME : el nombre de la programación de instancia que desea eliminar.

¿Qué sigue?