Establecer la política de mantenimiento del host para una instancia informática


Este documento explica cómo configurar la política de mantenimiento del host para una instancia de Compute Engine para determinar su comportamiento durante los eventos del host. Para obtener más información sobre las políticas de mantenimiento del host, consulte Política de mantenimiento del host .

Una política de mantenimiento de host determina cómo responde su instancia cuando el host en el que se ejecuta la instancia requiere mantenimiento o encuentra un error. Configurar la política de mantenimiento del host para una instancia le ayuda a hacer lo siguiente:

  • Minimizar el tiempo de inactividad.

  • Evite la pérdida de datos.

Limitaciones

Para las políticas de mantenimiento del host, se aplican las siguientes limitaciones:

  • Las instancias de máquinas virtuales que utilizan tipos de máquinas E2 solo pueden migrar en vivo durante eventos de mantenimiento del host, a menos que sean máquinas virtuales puntuales o máquinas virtuales interrumpibles.

  • Las siguientes instancias solo pueden detenerse durante eventos de mantenimiento del host:

    • Instancias que no admiten la migración en vivo , como instancias sin sistema operativo o máquinas virtuales que tienen GPU conectadas.

    • Detectar máquinas virtuales o máquinas virtuales interrumpibles.

  • Las máquinas virtuales puntuales y las máquinas virtuales interrumpibles no pueden reiniciarse automáticamente después de errores del host o paradas programadas.

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 obtener los permisos que necesita para configurar la política de mantenimiento de host para una instancia informática, solicite a su administrador que le otorgue el rol de IAM de Administrador de instancia informática (v1) ( roles/compute.instanceAdmin.v1 ) en su proyecto. 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 establecer la política de mantenimiento del host para una instancia informática. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para configurar la política de mantenimiento del host para una instancia informática:

  • Para crear una instancia:
    • compute.instances.create en el proyecto.
    • Para usar una imagen personalizada para crear la VM: compute.images.useReadOnly en la imagen
    • Para usar una instantánea para crear la VM: compute.snapshots.useReadOnly en la instantánea
    • Para usar una plantilla de instancia para crear la VM: compute.instanceTemplates.useReadOnly en la plantilla de instancia
    • Para asignar una red heredada a la VM: compute.networks.use en el proyecto
    • Para especificar una dirección IP estática para la VM: compute.addresses.use en el proyecto
    • Para asignar una dirección IP externa a la VM cuando se usa una red heredada: compute.networks.useExternalIp en el proyecto
    • Para especificar una subred para la VM: compute.subnetworks.use en el proyecto o en la subred elegida
    • Para asignar una dirección IP externa a la VM cuando se usa una red VPC: compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
    • Para configurar metadatos de instancia de VM para la VM: compute.instances.setMetadata en el proyecto
    • Para configurar etiquetas para la VM: compute.instances.setTags en la VM
    • Para configurar etiquetas para la VM: compute.instances.setLabels en la VM
    • Para configurar una cuenta de servicio para que la use la VM: compute.instances.setServiceAccount en la VM
    • Para crear un nuevo disco para la VM: compute.disks.create en el proyecto
    • Para conectar un disco existente en modo de solo lectura o lectura-escritura: compute.disks.use en el disco
    • Para conectar un disco existente en modo de solo lectura: compute.disks.useReadOnly en el disco
  • Para crear una plantilla de instancia: compute.instanceTemplates.create en el proyecto
  • Para actualizar la política de mantenimiento del host para una instancia: compute.instances.setScheduling en la instancia

Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .

Propiedades de mantenimiento de host disponibles

Puede personalizar el comportamiento de su instancia informática durante el mantenimiento programado o eventos inesperados del host. A menos que especifiques lo contrario, Compute Engine usa la configuración predeterminada cuando creas uninstancia, instancias en masa o una plantilla de instancia.

Puede configurar las siguientes propiedades de mantenimiento del host:

  • Comportamiento de mantenimiento ( onHostMaintenance ) : qué sucede con su instancia durante un evento de mantenimiento en su host que podría provocar que la instancia se reinicie. Puede establecer esta propiedad en una de las siguientes:

    • Migrar : Compute Engine migra automáticamente en vivo su instancia a otro host. Esta es la configuración predeterminada para todos los tipos de instancias, excepto las máquinas virtuales puntuales y las máquinas virtuales interrumpibles.

    • Terminar : Compute Engine detiene tu instancia. Esta es la configuración predeterminada para máquinas virtuales puntuales o máquinas virtuales interrumpibles, y es la única configuración admitida para instancias Z3, instancias bare metal e instancias con GPU o TPU conectadas.

  • Reinicio automático ( automaticRestart ) : si su instancia se reinicia si falla o Compute Engine la detiene para una parada programada, como un evento de mantenimiento. Puede establecer esta propiedad en una de las siguientes:

    • Activado : Compute Engine reinicia automáticamente la instancia. Esta es la configuración predeterminada para todos los tipos de instancias, excepto para las máquinas virtuales puntuales y las máquinas virtuales interrumpibles. Esta configuración se especifica de la siguiente manera:

      • Para la consola de Google Cloud, en el panel Avanzado , en la lista Reinicio automático , seleccione Activado (recomendado) .

      • Para la CLI de Google Cloud, utilice el indicador --restart-on-failure .

      • Para REST, establezca el campo automaticRestart en true .

    • Apagado : Compute Engine no reinicia la instancia. Esta es la configuración predeterminada para máquinas virtuales puntuales o máquinas virtuales interrumpibles. Esta configuración se especifica de la siguiente manera:

      • Para la consola de Google Cloud, en el panel Avanzado , en la lista Reinicio automático , seleccione Desactivado .

      • Para la CLI de gcloud, usa la marca --no-restart-on-failure .

      • Para REST, establezca el campo automaticRestart en false .

  • Tiempo de espera de recuperación de datos SSD local ( localSsdRecoveryTimeout ) : esta configuración se aplica solo a instancias que tienen discos SSD locales conectados. Determina cuánto tiempo espera Compute Engine para recuperar datos de sus discos SSD locales después de errores del host. De forma predeterminada, esta propiedad no está configurada. Puede establecer esta propiedad en una de las siguientes:

    • Desarmado : Compute Engine usa el tiempo de espera predeterminado:

      • Para máquinas virtuales Z3, 6 horas

      • Para todos los demás tipos de instancias, 1 hora.

    • Un número entero de 0 a 168 : el número de horas de espera. Establecer esta propiedad en 0 significa que Compute Engine no recupera los datos del SSD local y reinicia la instancia inmediatamente.

  • Tiempo de espera de error del host ( hostErrorTimeoutSeconds ) : esta propiedad determina cuánto tiempo espera Compute Engine para reiniciar una instancia que no responde. Debe configurar esta configuración antes de que la instancia deje de responder. Utilice un tiempo de espera que sea lo suficientemente largo para que una instancia se recupere después de no responder. Puede establecer esta propiedad en una de las siguientes:

    • Desarmado : Compute Engine espera hasta 330 segundos (5 minutos y 30 segundos). Esta es la configuración predeterminada para cualquier tipo de instancia.

    • Un número entero de 90 a 330 : el tiempo de espera en segundos, en incrementos de 30 segundos.

Establecer la política de mantenimiento del host para una instancia

De forma predeterminada, las instancias informáticas utilizan la configuración predeterminada para su política de mantenimiento de host. Para personalizar esta configuración, utilice uno de los siguientes métodos:

Establecer la política para una instancia existente

Antes de cambiar la política de mantenimiento del host de una instancia existente, asegúrese de lo siguiente:

  • No puede cambiar el comportamiento de mantenimiento ( onHostMaintenance ) de los siguientes tipos de instancias:

    • Máquinas virtuales que utilizan tipos de máquinas E2.

    • Detectar máquinas virtuales o máquinas virtuales interrumpibles.

    • Instancias que no admiten la migración en vivo .

  • No puede configurar máquinas virtuales puntuales o máquinas virtuales interrumpibles para que se reinicien automáticamente después de errores del host o paradas programadas.

Para cambiar el tiempo de espera de recuperación de datos de SSD local en una instancia que tiene discos SSD locales conectados, usa la CLI de gcloud o la API REST. De lo contrario, seleccione cualquiera de las siguientes opciones:

Consola

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

    Ir a instancias de VM

  2. En la columna Nombre , haga clic en el nombre de la instancia que desea actualizar. Aparece una página que proporciona los detalles de la instancia.

  3. Haga clic en Editar . Aparece una página que le permite editar las propiedades de la instancia.

  4. En la sección Gestión , puede realizar una o más de las siguientes acciones:

    • Para cambiar el comportamiento durante los eventos de mantenimiento, seleccione otra opción de la lista Mantenimiento en el host

    • Para cambiar el período de tiempo de espera antes de reiniciar una instancia que no responde, seleccione otra opción de la lista Tiempo de espera de error del host .

    • Para cambiar si reiniciar la instancia o no después de errores del host o paradas programadas, seleccione otra opción de la lista Reinicio automático .

  5. Haga clic en Guardar .

nube de gcloud

Para cambiar la política de mantenimiento del host en una instancia existente, usa el comando gcloud compute instances set-scheduling con una o más de las siguientes marcas:

  • Para cambiar el comportamiento de mantenimiento del host, incluya el indicador --maintenance-policy .

  • Para cambiar el comportamiento del reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el indicador --restart-on-failure .

    • Para evitar que la instancia se reinicie automáticamente, incluya la marca --no-restart-on-failure .

  • Para cambiar el tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya la marca --local-ssd-recovery-timeout .

  • Para cambiar el tiempo de espera del error del host, incluya la marca --host-error-timeout-seconds .

Por ejemplo, para cambiar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, cambiar el tiempo de espera de recuperación de datos del SSD local y cambiar el tiempo de espera de error del host, ejecute el siguiente comando:

gcloud compute instances set-scheduling INSTANCE_NAME \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --maintenance-policy=MAINTENANCE_POLICY \
    --restart-on-failure \
    --zone=ZONE

Reemplace lo siguiente:

  • INSTANCE_NAME : el nombre de tu instancia.

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de que Compute Engine reinicie una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de la instancia. El valor puede ser TERMINATE o MIGRATE .

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • ZONE : la zona donde existe su instancia.

DESCANSAR

Para cambiar la política de mantenimiento del host en una instancia existente, realice una solicitud POST al método instances.setScheduling . En el cuerpo de la solicitud, incluya uno o más de los siguientes campos:

  • Para cambiar el comportamiento de mantenimiento del host, incluya el campo onHostMaintenance .

  • Para cambiar el comportamiento del reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el campo automaticRestart .

    • Para evitar que la instancia se reinicie automáticamente, incluya el campo automaticRestart .

  • Para cambiar el tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya el campo localSsdRecoveryTimeout .

  • Para cambiar el tiempo de espera del error del host, incluya el campo hostErrorTimeoutSeconds .

Por ejemplo, para cambiar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, cambiar el tiempo de espera de recuperación de datos del SSD local y cambiar el tiempo de espera de error del host, realice una solicitud de la siguiente manera:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling

{
  "automaticRestart": AUTOMATIC_RESTART,
  "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
  "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
  "onHostMaintenance": "MAINTENANCE_POLICY"
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto donde existe su instancia.

  • ZONE : la zona donde existe su instancia.

  • INSTANCE_NAME : el nombre de tu instancia.

  • AUTOMATIC_RESTART : el comportamiento de reinicio automático de la instancia si falla o Compute Engine la detiene para una parada programada. Especifique uno de los siguientes valores:

    • Para permitir que Compute Engine reinicie automáticamente tu instancia: true

    • Para evitar reinicios automáticos: false

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de reiniciar una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de la instancia. El valor puede ser TERMINATE o MIGRATE .

Establecer la política al crear una instancia

Puede configurar la política de mantenimiento del host de una instancia informática mientras la crea.

Para configurar el tiempo de espera de recuperación de datos de SSD local mientras crea una instancia que tiene discos SSD locales conectados, use la CLI de gcloud o la API REST. De lo contrario, seleccione cualquiera de las siguientes opciones:

Consola

  1. En la consola de Google Cloud, vaya a la página Crear una instancia .

    Ir a Crear una instancia

  2. En el campo Nombre , ingrese un nombre para la instancia.

  3. En los campos Región y Zona , especifique en qué región y zona crear la instancia.

  4. Especifique el tipo de máquina para la instancia.

  5. En el menú de navegación, haga clic en Avanzado .

  6. En la sección Modelo de aprovisionamiento , expanda la configuración avanzada del modelo de aprovisionamiento de VM y luego realice una o más de las siguientes acciones:

    • Para configurar el comportamiento durante los eventos de mantenimiento, en la lista Mantenimiento en el host , seleccione una de las siguientes opciones:

      • Para migrar la instancia durante eventos de mantenimiento del host, seleccione Migrar instancia de VM (recomendado) .

      • Para detener la instancia durante los eventos de mantenimiento del host, seleccione Terminar instancia de VM .

    • Para establecer el período de tiempo de espera antes de reiniciar una instancia que no responde, en la lista Tiempo de espera de error del host , seleccione una de las siguientes opciones:

      • Para no especificar un tiempo de espera de error del host, seleccione Sin especificar (predeterminado) .

      • Para especificar un tiempo de espera de error del host, seleccione una de las opciones disponibles, hasta 5 minutos y 30 segundos .

    • Para establecer si se reiniciará la instancia si falla o se detiene, en la lista Reinicio automático , seleccione una de las siguientes opciones:

      • Para reiniciar automáticamente la instancia después de errores del host o paradas programadas, seleccione Activado (recomendado) .

      • Para evitar que la instancia se reinicie automáticamente después de errores del host o paradas programadas, seleccione Desactivado .

  7. Haga clic en Crear .

nube de gcloud

Para configurar la política de mantenimiento del host de una instancia mientras la creas, usa el comando gcloud compute instances create con una o más de las siguientes marcas:

  • Para configurar el comportamiento de mantenimiento del host, incluya el indicador --maintenance-policy .

  • Para configurar el comportamiento de reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el indicador --restart-on-failure .

    • Para evitar que la instancia se reinicie automáticamente, incluya la marca --no-restart-on-failure .

  • Para establecer un tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya la marca --local-ssd-recovery-timeout .

  • Para establecer un tiempo de espera de error del host, incluya la marca --host-error-timeout-seconds .

Por ejemplo, para configurar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, establecer un tiempo de espera de recuperación de datos de SSD local y establecer un tiempo de espera de error del host, ejecute el siguiente comando:

gcloud compute instances create INSTANCE_NAME \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --restart-on-failure \
    --zone=ZONE

Reemplace lo siguiente:

  • INSTANCE_NAME : el nombre de la instancia.

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de reiniciar una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • MACHINE_TYPE : el tipo de máquina a utilizar.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de la instancia. El valor puede ser TERMINATE o MIGRATE . Si está creando una máquina virtual puntual, una máquina virtual interrumpible o una instancia que no admite la migración en vivo , solo puede usar TERMINATE .

  • ZONE : la zona en la que crear la instancia.

DESCANSAR

Para establecer la política de mantenimiento del host de una instancia mientras la crea, realice una solicitud POST al método instances.insert . En el cuerpo de la solicitud, incluya uno o más de los siguientes campos en el campo scheduling :

  • Para configurar el comportamiento de mantenimiento del host, incluya el campo onHostMaintenance .

  • Para configurar el comportamiento de reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el campo automaticRestart .

    • Para evitar que la instancia se reinicie automáticamente, incluya el campo automaticRestart .

  • Para establecer un tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya el campo localSsdRecoveryTimeout .

  • Para establecer un tiempo de espera de error del host, incluya el campo hostErrorTimeoutSeconds .

Por ejemplo, para configurar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, establecer un tiempo de espera de recuperación de datos de SSD local y establecer un tiempo de espera de error del host, realice una solicitud de la siguiente manera:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "scheduling": {
    "automaticRestart": AUTOMATIC_RESTART,
    "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
    "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
    "onHostMaintenance": "MAINTENANCE_POLICY"
  }
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto en el que crear la instancia.

  • ZONE : la zona en la que crear la instancia.

  • INSTANCE_NAME : el nombre de la instancia.

  • MACHINE_TYPE : el tipo de máquina a utilizar.

  • IMAGE_PROJECT : el proyecto de imagen que contiene la imagen, por ejemplo, debian-cloud . Para obtener más información sobre los proyectos de imágenes admitidos, consulte Imágenes públicas .

  • IMAGE : especifique uno de los siguientes:

    • Una versión específica de la imagen del sistema operativo, por ejemplo, debian-12-bookworm-v20240617 .

    • Una familia de imágenes , que debe tener el formato family/ IMAGE_FAMILY . Esto especifica la imagen del sistema operativo más reciente y no obsoleta. Por ejemplo, si especifica family/debian-12 , se utiliza la última versión de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de familias de imágenes, consulte Mejores prácticas de familias de imágenes .

  • AUTOMATIC_RESTART : el comportamiento de reinicio automático de la instancia si falla o Compute Engine la detiene para una parada programada. Especifique uno de los siguientes valores:

    • Para permitir que Compute Engine reinicie automáticamente tu instancia: true

    • Para evitar reinicios automáticos: false

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de reiniciar una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de la instancia. El valor puede ser TERMINATE o MIGRATE . Si está creando una máquina virtual puntual o una instancia que no admite la migración en vivo , solo puede usar TERMINATE .

Para obtener más información sobre la creación de una instancia, consulte Crear e iniciar una instancia de Compute Engine .

Establezca la política mientras crea instancias de forma masiva

Para configurar la política de mantenimiento del host al crear instancias de forma masiva, seleccione una de las siguientes opciones:

nube de gcloud

Para configurar la política de mantenimiento del host mientras se crean instancias de forma masiva, usa el comando gcloud compute instances bulk create con una o más de las siguientes marcas:

  • Para configurar el comportamiento de mantenimiento del host, incluya el indicador --maintenance-policy .

  • Para configurar el comportamiento de reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el indicador --restart-on-failure .

    • Para evitar que la instancia se reinicie automáticamente, incluya la marca --no-restart-on-failure .

  • Para establecer un tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya la marca --local-ssd-recovery-timeout .

  • Para establecer un tiempo de espera de error del host, incluya la marca --host-error-timeout-seconds .

Por ejemplo, para configurar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, establecer un tiempo de espera de recuperación de datos de SSD local y establecer un tiempo de espera de error del host, ejecute el siguiente comando. El siguiente ejemplo también crea instancias en una única zona y especifica un patrón de nombre para las instancias:

gcloud compute instances bulk create \
    --count=COUNT \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --name-pattern=NAME_PATTERN \
    --restart-on-failure \
    --zone=ZONE

Reemplace lo siguiente:

  • COUNT : el número de instancias a crear.

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de reiniciar una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • MACHINE_TYPE : el tipo de máquina a utilizar.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de las instancias. El valor puede ser TERMINATE o MIGRATE . Si está creando máquinas virtuales puntuales, máquinas virtuales interrumpibles o instancias que no admiten la migración en vivo , solo puede usar TERMINATE .

  • NAME_PATTERN : el patrón de nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, utilice una secuencia de caracteres almohadilla ( # ). Por ejemplo, el uso de instance-# para el patrón de nombre genera instancias con nombres que comienzan con instance-1 , instance-2 y continúan hasta el número de instancias especificado por COUNT .

  • ZONE : la zona en la que crear las instancias.

DESCANSAR

Para configurar la política de mantenimiento del host mientras se crean instancias de forma masiva, realice una solicitud POST al método instances.bulkInsert . En el cuerpo de la solicitud, incluya uno o más de los siguientes campos en el campo scheduling :

  • Para configurar el comportamiento de mantenimiento del host, incluya el campo onHostMaintenance .

  • Para configurar el comportamiento de reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el campo automaticRestart .

    • Para evitar que la instancia se reinicie automáticamente, incluya el campo automaticRestart .

  • Para establecer un tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya el campo localSsdRecoveryTimeout .

  • Para establecer un tiempo de espera de error del host, incluya el campo hostErrorTimeoutSeconds .

Por ejemplo, para configurar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, establecer un tiempo de espera de recuperación de datos de SSD local y establecer un tiempo de espera de error del host, realice una solicitud de la siguiente manera. El siguiente ejemplo también crea instancias en una única zona y especifica un patrón de nombre para las instancias:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "automaticRestart": AUTOMATIC_RESTART,
      "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
      "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto en el que crear las instancias.

  • ZONE : la zona en la que crear las instancias.

  • COUNT : el número de instancias a crear.

  • NAME_PATTERN : el patrón de nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, utilice una secuencia de caracteres almohadilla ( # ). Por ejemplo, el uso de instance-# para el patrón de nombre genera instancias con nombres que comienzan con instance-1 , instance-2 y continúan hasta el número de instancias especificado por COUNT .

  • MACHINE_TYPE : el tipo de máquina a utilizar.

  • IMAGE_PROJECT : el proyecto de imagen que contiene la imagen, por ejemplo, debian-cloud . Para obtener más información sobre los proyectos de imágenes admitidos, consulte Imágenes públicas .

  • IMAGE : especifique uno de los siguientes:

    • Una versión específica de la imagen del sistema operativo, por ejemplo, debian-12-bookworm-v20240617 .

    • Una familia de imágenes , que debe tener el formato family/ IMAGE_FAMILY . Esto especifica la imagen del sistema operativo más reciente y no obsoleta. Por ejemplo, si especifica family/debian-12 , se utiliza la última versión de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de familias de imágenes, consulte Mejores prácticas de familias de imágenes .

  • AUTOMATIC_RESTART : el comportamiento de reinicio automático de la instancia si falla o Compute Engine la detiene para una parada programada. Especifique uno de los siguientes valores:

    • Para permitir que Compute Engine reinicie automáticamente tu instancia: true

    • Para evitar reinicios automáticos: false

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de reiniciar una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de las instancias. El valor puede ser TERMINATE o MIGRATE . Si está creando máquinas virtuales puntuales, máquinas virtuales interrumpibles o instancias que no admiten la migración en vivo , solo puede usar TERMINATE .

Para obtener más información sobre la creación de instancias de forma masiva, consulte Crear máquinas virtuales de forma masiva .

Establecer la política al crear una plantilla de instancia

Puede configurar la política de mantenimiento del host mientras crea una plantilla de instancia. Todas las instancias informáticas que cree utilizando la plantilla heredan la política de mantenimiento del host especificada en la plantilla.

Para configurar el tiempo de espera de recuperación de datos de SSD local mientras crea una plantilla de instancia que especifica discos SSD locales, use la CLI de gcloud o la API REST. De lo contrario, seleccione cualquiera de las siguientes opciones:

Consola

  1. En la consola de Google Cloud, vaya a la página Plantillas de instancia .

    Ir a plantillas de instancia

  2. Haga clic en Crear plantilla de instancia . Aparece la página Crear plantilla de instancia .

  3. En el campo Nombre , ingrese un nombre para la plantilla de instancia.

  4. En la sección Ubicación , seleccione una de las siguientes opciones:

    • Para crear una plantilla de instancia regional, seleccione Regional (recomendado) y luego seleccione la región en la que crear la plantilla.

    • Para crear una plantilla de instancia global, seleccione Global .

  5. En la sección Configuración de la máquina , especifique el tipo de máquina para la plantilla de instancia.

  6. En la sección Modelo de aprovisionamiento , expanda la configuración avanzada del modelo de aprovisionamiento de VM y luego realice una o más de las siguientes acciones:

    • Para cambiar el comportamiento durante los eventos de mantenimiento, en la lista Mantenimiento en el host , seleccione una de las siguientes opciones:

      • Para migrar la instancia durante eventos de mantenimiento del host, seleccione Migrar instancia de VM (recomendado) .

      • Para detener la instancia durante los eventos de mantenimiento del host, seleccione Terminar instancia de VM .

    • Para cambiar el período de tiempo de espera antes de reiniciar una instancia que no responde, en la lista Tiempo de espera de error del host , seleccione una de las siguientes opciones:

      • Para no especificar un tiempo de espera de error del host, seleccione Sin especificar (predeterminado) .

      • Para especificar un tiempo de espera de error del host, seleccione una de las opciones disponibles, hasta 5 minutos y 30 segundos .

    • Para cambiar si se reinicia la instancia si falla o se detiene, en la lista Reinicio automático , seleccione una de las siguientes opciones:

      • Para reiniciar automáticamente la instancia después de errores del host o paradas programadas, seleccione Activado (recomendado) .

      • Para evitar que la instancia se reinicie automáticamente después de errores del host o paradas programadas, seleccione Desactivado .

  7. Haga clic en Crear .

nube de gcloud

Para configurar la política de mantenimiento del host mientras creas una plantilla de instancia, usa el comando gcloud compute instance-templates create con una o más de las siguientes marcas:

  • Para configurar el comportamiento de mantenimiento del host, incluya el campo onHostMaintenance .

  • Para configurar el comportamiento de reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el campo automaticRestart .

    • Para evitar que la instancia se reinicie automáticamente, incluya el campo automaticRestart .

  • Para establecer un tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya el campo localSsdRecoveryTimeout .

  • Para establecer un tiempo de espera de error del host, incluya el campo hostErrorTimeoutSeconds .

Por ejemplo, para configurar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, establecer un tiempo de espera de recuperación de datos de SSD local y establecer un tiempo de espera de error del host, ejecute el siguiente comando. El siguiente ejemplo también crea una plantilla de instancia regional. Para crear una plantilla de instancia global, use el mismo comando sin el indicador --instance-template-region .

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \
    --instance-template-region=REGION \
    --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --restart-on-failure

Reemplace lo siguiente:

  • INSTANCE_TEMPLATE_NAME : el nombre de la plantilla de instancia.

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de reiniciar una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • REGION : la región en la que se creará la plantilla de instancia.

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • MACHINE_TYPE : el tipo de máquina a utilizar.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de las instancias. El valor puede ser TERMINATE o MIGRATE . Si especifica una máquina virtual puntual, una máquina virtual interrumpible o un tipo de instancia que no admite la migración en vivo en la plantilla de instancia, solo puede usar TERMINATE .

DESCANSAR

Para configurar la política de mantenimiento del host mientras crea una plantilla de instancia, realice una solicitud POST a uno de los siguientes métodos:

En el cuerpo de la solicitud, incluya uno o más de los siguientes campos en el campo scheduling :

  • Para configurar el comportamiento de mantenimiento del host, incluya el campo onHostMaintenance .

  • Para configurar el comportamiento de reinicio automático, realice una de las siguientes acciones:

    • Para reiniciar automáticamente la instancia, incluya el campo automaticRestart .

    • Para evitar que la instancia se reinicie automáticamente, incluya el campo automaticRestart .

  • Para establecer un tiempo de espera de recuperación de datos de SSD local si su instancia tiene discos SSD locales conectados, incluya el campo localSsdRecoveryTimeout .

  • Para establecer un tiempo de espera de error del host, incluya el campo hostErrorTimeoutSeconds .

Por ejemplo, para configurar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, establecer un tiempo de espera de recuperación de datos de SSD local y establecer un tiempo de espera de error del host, realice una solicitud de la siguiente manera. El siguiente ejemplo también crea una plantilla de instancia regional.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "automaticRestart": AUTOMATIC_RESTART,
      "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT,
      "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT,
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto en el que crear la plantilla de instancia.

  • REGION : la región en la que se creará la plantilla de instancia.

  • INSTANCE_TEMPLATE_NAME : el nombre de la plantilla de instancia.

  • IMAGE_PROJECT : el proyecto de imagen que contiene la imagen, por ejemplo, debian-cloud . Para obtener más información sobre los proyectos de imágenes admitidos, consulte Imágenes públicas .

  • IMAGE : especifique uno de los siguientes:

    • Una versión específica de la imagen del sistema operativo, por ejemplo, debian-12-bookworm-v20240617 .

    • Una familia de imágenes , que debe tener el formato family/ IMAGE_FAMILY . Esto especifica la imagen del sistema operativo más reciente y no obsoleta. Por ejemplo, si especifica family/debian-12 , se utiliza la última versión de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de familias de imágenes, consulte Mejores prácticas de familias de imágenes .

  • MACHINE_TYPE : el tipo de máquina a utilizar.

  • AUTOMATIC_RESTART : el comportamiento de reinicio automático de la instancia si falla o Compute Engine la detiene para una parada programada. Especifique uno de los siguientes valores:

    • Para permitir que Compute Engine reinicie automáticamente tu instancia: true

    • Para evitar reinicios automáticos: false

  • ERROR_DETECTION_TIMEOUT : la cantidad de segundos antes de reiniciar una instancia que no responde. El valor debe estar entre 90 (90 segundos) y 330 (330 segundos, o 5 minutos y 30 segundos). Sólo se permiten incrementos de 30 segundos.

  • LOCAL_SSD_RECOVERY_TIMEOUT : la cantidad de horas que se dedicarán a recuperar datos de los discos SSD locales conectados. El valor debe estar entre 0 (0 horas) y 168 (168 horas o 7 días). Establecer este campo en 0 significa que Compute Engine no recupera los datos del SSD local.

  • MAINTENANCE_POLICY : el comportamiento de mantenimiento de las instancias. El valor puede ser TERMINATE o MIGRATE . Si especifica una máquina virtual puntual, una máquina virtual interrumpible o un tipo de instancia que no admite la migración en vivo en la plantilla de instancia, solo puede usar TERMINATE .

Para obtener más información sobre la creación de una plantilla de instancia, consulte Crear plantillas de instancia .

Ver la política de mantenimiento del host de una instancia

Puede ver la política de mantenimiento del host de una instancia viendo los detalles de la instancia .

Al ver los detalles de la instancia mediante la CLI de gcloud o la API REST, solo puedes ver los campos localSsdRecoveryTimeout y hostErrorTimeoutSeconds si los especificaste al crear o actualizar la instancia .

Para ver el tiempo de espera de recuperación de datos de SSD local en una instancia que tiene discos SSD locales conectados, usa la CLI de gcloud o la API REST. De lo contrario, seleccione cualquiera de las siguientes opciones:

Consola

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

    Ir a instancias de VM

  2. En la columna Nombre , haga clic en la instancia que desea ver. Aparece una página que proporciona los detalles de la instancia.

  3. En la pestaña Detalles , en la sección Administración , en la sección Políticas de disponibilidad , puede ver lo siguiente:

    • En el campo Mantenimiento en el host , puede ver los eventos de comportamiento de mantenimiento del host de la instancia.

    • En el campo Tiempo de espera de error del host , puede ver la cantidad de tiempo que espera la instancia antes de reiniciarla o detenerla después de detectar que no responde. Si el valor no está establecido ( ), entonces el tiempo de espera predeterminado es de 5 minutos y 30 segundos.

    • En el campo Reinicio automático , puedes ver si la instancia se reinicia automáticamente después de fallar o si Compute Engine la detiene para una parada programada.

nube de gcloud

Para ver la política de mantenimiento del host para una instancia, usa el comando gcloud compute instances describe con el indicador --flatten configurado en scheduling :

 gcloud compute instances describe INSTANCE_NAME \
    --flatten=scheduling \
    --zone=ZONE

Reemplace lo siguiente:

  • INSTANCE_NAME : el nombre de la instancia.

  • ZONE : la zona donde se encuentra la instancia.

El resultado es similar al siguiente:

---
scheduling:
  automaticRestart: true
  hostErrorTimeoutSeconds: 120
  localSsdRecoveryTimeout:
    nanos: 0
    seconds: '10800'
  onHostMaintenance: MIGRATE
  preemptible: false
  provisioningModel: STANDARD

DESCANSAR

Para ver la política de mantenimiento del host para una instancia, realice una solicitud GET al método instances.get . En la URL de solicitud, incluya el parámetro de consulta fields y configúrelo en scheduling :

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?fields=scheduling

Reemplace lo siguiente:

  • PROJECT_ID : el proyecto donde existe la instancia.

  • ZONE : la zona donde existe la instancia.

  • INSTANCE_NAME : el nombre de la instancia.

El resultado es similar al siguiente:

{
  "scheduling": {
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "preemptible": false,
    "provisioningModel": "STANDARD",
    "localSsdRecoveryTimeout": {
      "seconds": "10800",
      "nanos": 0
    }
  }
}

¿Qué sigue?