Configura la política de mantenimiento del host para una instancia de procesamiento


En este documento, se explica cómo configurar la política de mantenimiento del host de 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, consulta Política de mantenimiento del host.

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

  • Minimiza el tiempo de inactividad.

  • Evita la pérdida de datos.

Limitaciones

En el caso de las políticas de mantenimiento de host, se aplican las siguientes limitaciones:

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

  • Las siguientes instancias solo se pueden detener durante los eventos de mantenimiento del host:

  • Las VMs Spot y las VMs interrumpibles no se pueden reiniciar automáticamente después de errores de host o detenciones programadas.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . 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 obligatorios

      Para obtener los permisos que necesitas para configurar la política de mantenimiento de host de una instancia de procesamiento, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

      Este rol predefinido contiene los permisos necesarios para establecer la política de mantenimiento del host de una instancia de procesamiento. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

      Permisos necesarios

      Se requieren los siguientes permisos para establecer la política de mantenimiento del host de una instancia de procesamiento:

      • Para crear una instancia, haz lo siguiente:
        • compute.instances.create en el proyecto
        • Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
        • Si deseas usar una instantánea para crear la VM, sigue estos pasos: compute.snapshots.useReadOnly en la instantánea
        • Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente: compute.instanceTemplates.useReadOnly en la plantilla de instancias
        • Para asignar una red heredada a la VM: compute.networks.use en el proyecto
        • Si deseas 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 y punto heredado; compute.networks.useExternalIp en el proyecto
        • A fin de 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 de VPC, compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
        • A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos: compute.instances.setMetadata en el proyecto
        • A fin de configurar etiquetas para la VM y los puntos; compute.instances.setTags en la VM
        • Si deseas configurar etiquetas para la VM, haz lo siguiente: compute.instances.setLabels en la VM
        • A fin de configurar una cuenta de servicio para que la VM la usecompute.instances.setServiceAccount en la VM
        • Si deseas crear un disco nuevo para la VM: compute.disks.create en el proyecto
        • Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente: compute.disks.use en el disco
        • Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos: compute.disks.useReadOnly en el disco
      • Para crear una plantilla de instancias: compute.instanceTemplates.create en el proyecto
      • Para actualizar la política de mantenimiento del host de una instancia, haz lo siguiente: compute.instances.setScheduling en la instancia

      También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

      Propiedades de mantenimiento del host disponibles

      Puedes personalizar el comportamiento de tu instancia de procesamiento durante el mantenimiento programado o los eventos inesperados del host. A menos que especifiques lo contrario, Compute Engine usa la configuración predeterminada cuando creas una instancia de, instancias masivas o una plantilla de instancias. Instancia o plantilla de instancias

      Puedes configurar las siguientes propiedades de mantenimiento del host:

    • Comportamiento de mantenimiento (onHostMaintenance): Indica lo que sucede con tu instancia durante un evento de mantenimiento en su host que podría hacer que la instancia se reinicie. Puedes establecer esta propiedad en una de las siguientes opciones:

      • Migrar: Compute Engine migra automáticamente tu instancia a otro host. Este es el parámetro de configuración predeterminado para todos los tipos de instancias, excepto las VMs Spot y las VMs interrumpibles.

      • Finalizar: Compute Engine detiene tu instancia. Este es el configuración predeterminada para las VMs Spot o las VMs interrumpibles, y es el único parámetro de configuración compatible con las instancias Z3, las instancias de Bare Metal y las instancias con GPUs o TPU conectadas.

    • Reinicio automático (automaticRestart): Indica si la instancia se reinicia si falla o si Compute Engine la detiene por una detención programada, como un evento de mantenimiento. Puedes establecer esta propiedad en una de las siguientes opciones:

      • Activado: Compute Engine reinicia la instancia automáticamente. Este es el parámetro de configuración predeterminado para todos los tipos de instancias, excepto para las VMs Spot y las VMs interrumpibles. Especifica este parámetro de configuración de la siguiente manera:

        • En la Google Cloud consola, en el panel Advanced, en la lista Automatic restart, selecciona On (recommended).

        • Para Google Cloud CLI, usa la marca --restart-on-failure.

        • Para REST, establece el campo automaticRestart como true.

      • Desactivado: Compute Engine no reinicia la instancia. Este es el parámetro de configuración predeterminado para las VMs Spot o las VMs interrumpibles. Especifica este parámetro de configuración de la siguiente manera:

        • En la Google Cloud consola, en el panel Advanced, en la lista Automatic restart, selecciona Off.

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

        • Para REST, establece el campo automaticRestart como false.

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

      • Sin establecer: Compute Engine usa el tiempo de espera predeterminado:

        • Para las VMs Z3, 6 horas

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

      • Un número entero de 0 a 168: Es la cantidad de horas que se deben esperar. Si configuras esta propiedad en 0, Compute Engine no recupera los datos de SSD locales y reinicia la instancia de inmediato.

    • Tiempo de espera de error de host (hostErrorTimeoutSeconds): Esta propiedad determina cuánto tiempo espera Compute Engine para reiniciar una instancia que no responde. Debes configurar este parámetro de configuración antes de que la instancia deje de responder. Usa un tiempo de espera lo suficientemente largo como para que una instancia se recupere de no responder. Puedes establecer esta propiedad en una de las siguientes opciones:

      • Sin establecer: Compute Engine espera hasta 330 segundos (5 minutos y 30 segundos). Este es el parámetro de configuración predeterminado para cualquier tipo de instancia.

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

    Cómo configurar la política de mantenimiento del host de una instancia

    De forma predeterminada, las instancias de procesamiento usan la configuración predeterminada para su política de mantenimiento del host. Para personalizar esta configuración, usa uno de los siguientes métodos:

    Configura la política para una instancia existente

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

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

    • No puedes configurar VMs Spot ni VMs interrumpibles para que se reinicien automáticamente después de errores de host o detenciones programadas.

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

    Console

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

      Ir a Instancias de VM

    2. En la columna Nombre, haz clic en el nombre de la instancia que deseas actualizar. Aparecerá una página que muestra los detalles de la instancia.

    3. Haz clic en  Editar. Aparecerá una página que te permitirá editar las propiedades de la instancia.

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

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

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

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

    5. Haz clic en Guardar.

    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, incluye la marca --maintenance-policy.

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

      • Para reiniciar la instancia automáticamente, incluye la marca --restart-on-failure.

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

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

    • Para cambiar el tiempo de espera de error del host, incluye 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 de SSD locales y cambiar el tiempo de espera de error del host, ejecuta 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 

    Reemplaza lo siguiente:

    • INSTANCE_NAME: el nombre de tu instancia

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo 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: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

    • ZONE: Es la zona en la que existe tu instancia.

    REST

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

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

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

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

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

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

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

    Por ejemplo, para cambiar el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores de host o paradas programadas, cambiar el tiempo de espera de recuperación de datos de SSD local y cambiar el tiempo de espera de error de host, realiza 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" } 

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que existe tu instancia.

    • ZONE: Es la zona en la que existe tu 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 por una detención programada. Especifica uno de los siguientes valores:

      • Para permitir que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente: true

      • Para evitar los reinicios automáticos, haz lo siguiente: false

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo se permiten incrementos de 30 segundos.

    • LOCAL_SSD_RECOVERY_TIMEOUT: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

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

    Configura la política mientras creas una instancia

    Puedes establecer la política de mantenimiento del host de una instancia de procesamiento mientras la creas.

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

    Console

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

      Ir a Crear una instancia

    2. En el campo Nombre, ingresa un nombre para el instancia.

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

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

    5. En el menú de navegación, haz clic en Opciones avanzadas.

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

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

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

        • Para detener la instancia durante los eventos de mantenimiento del host, selecciona Finalizar instancia de VM.

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

        • Para no especificar un tiempo de espera de error de host, selecciona No especificado (predeterminado).

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

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

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

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

    7. Haz clic en Crear.

    gcloud

    Para establecer 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 establecer el comportamiento de mantenimiento del host, incluye la marca --maintenance-policy.

    • Para establecer el comportamiento de reinicio automático, haz una de las siguientes acciones:

      • Para reiniciar la instancia automáticamente, incluye la marca --restart-on-failure.

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

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

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

    Por ejemplo, para establecer el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores de host o paradas programadas, establecer un tiempo de espera para la recuperación de datos de SSD locales y establecer un tiempo de espera para errores de host, ejecuta 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 

    Reemplaza lo siguiente:

    • INSTANCE_NAME: El nombre de la instancia.

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo se permiten incrementos de 30 segundos.

    • LOCAL_SSD_RECOVERY_TIMEOUT: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

    • MACHINE_TYPE: Es el tipo de máquina que se usará.

    • MAINTENANCE_POLICY: El comportamiento de mantenimiento de la instancia El valor puede ser TERMINATE o MIGRATE. Si vas a crear una VM Spot, una VM interrumpible o una instancia que no admite la migración en vivo, solo puedes usar TERMINATE.

    • ZONE: Es la zona en la que se creará la instancia.

    REST

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

    • Para establecer el comportamiento de mantenimiento del host, incluye el campo onHostMaintenance.

    • Para establecer el comportamiento de reinicio automático, haz una de las siguientes acciones:

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

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

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

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

    Por ejemplo, para establecer el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores de host o paradas programadas, establecer un tiempo de espera para la recuperación de datos de SSD locales y establecer un tiempo de espera para errores de host, realiza 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"   } } 

    Reemplaza lo siguiente:

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

    • ZONE: Es la zona en la que se creará la instancia.

    • INSTANCE_NAME: El nombre de la instancia.

    • MACHINE_TYPE: Es el tipo de máquina que se usará.

    • 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 compatibles, consulta Imágenes públicas.

    • IMAGE: especifica una de las siguientes opciones:

      • una versión específica de la imagen de SO; por ejemplo, debian-12-bookworm-v20240617.

      • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas family/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.

    • AUTOMATIC_RESTART: El comportamiento de reinicio automático de la instancia si falla o Compute Engine la detiene por una detención programada. Especifica uno de los siguientes valores:

      • Para permitir que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente: true

      • Para evitar los reinicios automáticos, haz lo siguiente: false

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo se permiten incrementos de 30 segundos.

    • LOCAL_SSD_RECOVERY_TIMEOUT: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

    • MAINTENANCE_POLICY: El comportamiento de mantenimiento de la instancia El valor puede ser TERMINATE o MIGRATE. Si vas a crear una VM Spot o una instancia que no admite la migración en vivo, solo puedes usar TERMINATE.

    Para obtener más información sobre cómo crear una instancia, consulta Crea y, luego, inicia una instancia de Compute Engine.

    Configura la política mientras creas instancias de forma masiva

    Para establecer la política de mantenimiento del host mientras creas instancias de forma masiva, selecciona una de las siguientes opciones:

    gcloud

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

    • Para establecer el comportamiento de mantenimiento del host, incluye la marca --maintenance-policy.

    • Para establecer el comportamiento de reinicio automático, haz una de las siguientes acciones:

      • Para reiniciar la instancia automáticamente, incluye la marca --restart-on-failure.

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

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

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

    Por ejemplo, para establecer el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores de host o paradas programadas, establecer un tiempo de espera para la recuperación de datos de SSD local y establecer un tiempo de espera para errores de host, ejecuta el siguiente comando. En el siguiente ejemplo, también se crean instancias en una sola zona y se 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 

    Reemplaza lo siguiente:

    • COUNT: La cantidad de instancias que se crearán.

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo se permiten incrementos de 30 segundos.

    • LOCAL_SSD_RECOVERY_TIMEOUT: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

    • MACHINE_TYPE: Es el tipo de máquina que se usará.

    • MAINTENANCE_POLICY: El comportamiento de mantenimiento de las instancias El valor puede ser TERMINATE o MIGRATE. Si vas a crear VMs Spot, VMs interrumpibles o instancias que no admiten la migración en vivo, solo puedes usar TERMINATE.

    • NAME_PATTERN: Es el patrón del nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, usa una secuencia de caracteres hash (#). Por ejemplo, si usas instance-# para el patrón de nombre, se generan instancias con nombres que comienzan con instance-1, instance-2 y continúan hasta la cantidad de instancias especificadas por COUNT.

    • ZONE: Es la zona en la que se crearán las instancias.

    REST

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

    • Para establecer el comportamiento de mantenimiento del host, incluye el campo onHostMaintenance.

    • Para establecer el comportamiento de reinicio automático, haz una de las siguientes acciones:

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

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

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

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

    Por ejemplo, para establecer el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores de host o paradas programadas, establecer un tiempo de espera para la recuperación de datos de SSD local y establecer un tiempo de espera para errores de host, realiza una solicitud de la siguiente manera. En el siguiente ejemplo, también se crean instancias en una sola zona y se 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"     }   } } 

    Reemplaza lo siguiente:

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

    • ZONE: Es la zona en la que se crearán las instancias.

    • COUNT: La cantidad de instancias que se crearán.

    • NAME_PATTERN: Es el patrón del nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, usa una secuencia de caracteres hash (#). Por ejemplo, si usas instance-# para el patrón de nombre, se generan instancias con nombres que comienzan con instance-1, instance-2 y continúan hasta la cantidad de instancias especificadas por COUNT.

    • MACHINE_TYPE: Es el tipo de máquina que se usará.

    • 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 compatibles, consulta Imágenes públicas.

    • IMAGE: especifica una de las siguientes opciones:

      • una versión específica de la imagen de SO; por ejemplo, debian-12-bookworm-v20240617.

      • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas family/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.

    • AUTOMATIC_RESTART: El comportamiento de reinicio automático de la instancia si falla o Compute Engine la detiene por una detención programada. Especifica uno de los siguientes valores:

      • Para permitir que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente: true

      • Para evitar los reinicios automáticos, haz lo siguiente: false

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo se permiten incrementos de 30 segundos.

    • LOCAL_SSD_RECOVERY_TIMEOUT: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

    • MAINTENANCE_POLICY: El comportamiento de mantenimiento de las instancias El valor puede ser TERMINATE o MIGRATE. Si vas a crear VMs Spot, VMs interrumpibles o instancias que no admiten la migración en vivo, solo puedes usar TERMINATE.

    Para obtener más información sobre cómo crear instancias de forma masiva, consulta Crea VMs de forma masiva.

    Establece la política cuando crees una plantilla de instancias

    Puedes establecer la política de mantenimiento del host cuando creas una plantilla de instancia. Todas las instancias de procesamiento que crees con la plantilla heredan la política de mantenimiento del host especificada en la plantilla.

    Para establecer el tiempo de espera de recuperación de datos de SSD local mientras creas una plantilla de instancia que especifique discos SSD locales, usa gcloud CLI o la API de REST. De lo contrario, selecciona cualquiera de las siguientes opciones:

    Console

    1. En la Google Cloud consola, ve a la página Plantillas de instancias.

      Ir a Plantillas de instancia

    2. Haz clic en Crear plantilla de instancias. Aparecerá la página Crear plantilla de instancias.

    3. En el campo Nombre, ingresa un nombre para la plantilla de instancias.

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

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

      • Para crear una plantilla de instancias global, selecciona Global.

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

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

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

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

        • Para detener la instancia durante los eventos de mantenimiento del host, selecciona Finalizar instancia de VM.

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

        • Para no especificar un tiempo de espera de error de host, selecciona No especificado (predeterminado).

        • Para especificar un tiempo de espera de error de host, selecciona 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, selecciona una de las siguientes opciones:

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

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

    7. Haz clic en Crear.

    gcloud

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

    • Para establecer el comportamiento de mantenimiento del host, incluye el campo onHostMaintenance.

    • Para establecer el comportamiento de reinicio automático, haz una de las siguientes acciones:

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

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

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

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

    Por ejemplo, para establecer el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores de host o paradas programadas, establecer un tiempo de espera para la recuperación de datos de SSD local y establecer un tiempo de espera para errores de host, ejecuta el siguiente comando. En el siguiente ejemplo, también se crea una plantilla de instancias regional. Para crear una plantilla de instancias global, usa el mismo comando sin la marca --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 

    Reemplaza lo siguiente:

    • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo se permiten incrementos de 30 segundos.

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

    • LOCAL_SSD_RECOVERY_TIMEOUT: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

    • MACHINE_TYPE: Es el tipo de máquina que se usará.

    • MAINTENANCE_POLICY: El comportamiento de mantenimiento de las instancias El valor puede ser TERMINATE o MIGRATE. Si especificas una VM Spot, una VM interrumpible o un tipo de instancia que no admite la migración en vivo en la plantilla de instancias, solo puedes usar TERMINATE.

    REST

    Para establecer la política de mantenimiento del host mientras creas una plantilla de instancias, realiza una solicitud POST a uno de los siguientes métodos:

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

    • Para establecer el comportamiento de mantenimiento del host, incluye el campo onHostMaintenance.

    • Para establecer el comportamiento de reinicio automático, haz una de las siguientes acciones:

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

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

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

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

    Por ejemplo, para establecer el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores de host o paradas programadas, establecer un tiempo de espera para la recuperación de datos de SSD local y establecer un tiempo de espera para errores de host, realiza una solicitud de la siguiente manera. En el siguiente ejemplo, también se crea una plantilla de instancias 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"     }   } } 

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto en el que se creará la plantilla de instancias.

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

    • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.

    • 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 compatibles, consulta Imágenes públicas.

    • IMAGE: especifica una de las siguientes opciones:

      • una versión específica de la imagen de SO; por ejemplo, debian-12-bookworm-v20240617.

      • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas family/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.

    • MACHINE_TYPE: Es el tipo de máquina que se usará.

    • AUTOMATIC_RESTART: El comportamiento de reinicio automático de la instancia si falla o Compute Engine la detiene por una detención programada. Especifica uno de los siguientes valores:

      • Para permitir que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente: true

      • Para evitar los reinicios automáticos, haz lo siguiente: false

    • ERROR_DETECTION_TIMEOUT: Es 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). Solo se permiten incrementos de 30 segundos.

    • LOCAL_SSD_RECOVERY_TIMEOUT: Es 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). Si configuras este campo en 0, Compute Engine no recuperará los datos de SSD locales.

    • MAINTENANCE_POLICY: El comportamiento de mantenimiento de las instancias El valor puede ser TERMINATE o MIGRATE. Si especificas una VM Spot, una VM interrumpible o un tipo de instancia que no admite la migración en vivo en la plantilla de instancias, solo puedes usar TERMINATE.

    Para obtener más información sobre cómo crear una plantilla de instancias, consulta Crea plantillas de instancias.

    Cómo ver la política de mantenimiento del host de una instancia

    Para ver la política de mantenimiento del host de una instancia, consulta los detalles de la instancia.

    Cuando veas los detalles de la instancia con la CLI de gcloud o la API de REST, solo podrás ver los campos localSsdRecoveryTimeout y hostErrorTimeoutSeconds si los especificaste mientras creabas o actualizabas la instancia.

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

    Console

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

      Ir a Instancias de VM

    2. En la columna Nombre, haz clic en la instancia que deseas ver. Aparecerá una página con 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, puedes ver lo siguiente:

      • En el campo On host maintenance, puedes ver los eventos de comportamiento de mantenimiento del host de la instancia.

      • En el campo Tiempo de espera de error del host, puedes ver la cantidad de tiempo que la instancia espera antes de reiniciarse o detenerse después de detectar que no responde. Si no se establece el valor (), el tiempo de espera predeterminado es de 5 minutos y 30 segundos.

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

    gcloud

    Para ver la política de mantenimiento del host de una instancia, usa el comando gcloud compute instances describe con la marca --flatten establecida como scheduling:

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

    Reemplaza lo siguiente:

    • INSTANCE_NAME: El nombre de la instancia.

    • ZONE: Es la zona en la que se encuentra la instancia.

    El resultado es similar a este:

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

    REST

    Para ver la política de mantenimiento del host de una instancia, realiza una solicitud GET al método instances.get. En la URL de la solicitud, incluye el parámetro de consulta fields y configúralo como scheduling:

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

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el proyecto en el que existe la instancia.

    • ZONE: Es la zona en la que existe la instancia.

    • INSTANCE_NAME: El nombre de la instancia.

    El resultado es similar a este:

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

    ¿Qué sigue?