En este documento se explica cómo definir 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 de anfitriones, consulta el artículo Política de mantenimiento de anfitriones.
Una política de mantenimiento del host determina cómo responde tu instancia cuando el host en el que se ejecuta requiere mantenimiento o se produce un error. Configurar la política de mantenimiento del host de una instancia te permite hacer lo siguiente:
Minimizar el tiempo de inactividad.
Evita la pérdida de datos.
Limitaciones
En el caso de las políticas de mantenimiento de anfitriones, se aplican las siguientes limitaciones:
Las instancias de máquina virtual que usan tipos de máquina E2 solo se pueden migrar en directo durante los eventos de mantenimiento del host, a menos que sean máquinas virtuales de acceso puntual o máquinas virtuales interrumpibles.
Las siguientes instancias solo se pueden detener durante los eventos de mantenimiento del host:
Instancias que no admiten la migración activa, como las instancias Z3 con más de 18 TiB de SSD de Titanium conectada, las instancias de hardware desnudo o las máquinas virtuales que tienen GPUs conectadas.
Máquinas virtuales de acceso puntual o máquinas virtuales interrumpibles.
Las máquinas virtuales de acceso puntual y las máquinas virtuales interrumpibles no se pueden reiniciar automáticamente después de errores del host o paradas programadas.
Antes de empezar
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para definir la política de mantenimiento del host de una instancia de computación, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para definir la política de mantenimiento del host de una instancia de computación. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para definir la política de mantenimiento del host de una instancia de cálculo, se necesitan los siguientes permisos:
-
Para crear una instancia, sigue estos pasos:
compute.instances.create
en el proyecto- Para usar una imagen personalizada para crear la VM, haz clic en
compute.images.useReadOnly
en la imagen. - Para usar una captura para crear la VM,
compute.snapshots.useReadOnly
en la captura - Para usar una plantilla de instancia para crear la VM, haz clic en
compute.instanceTemplates.useReadOnly
en la plantilla de instancia. - Para asignar una red antigua a la VM, haz lo siguiente:
compute.networks.use
en el proyecto - Para especificar una dirección IP estática para la máquina virtual,
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red antigua, haz lo siguiente:
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 de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida. - Para definir los metadatos de la instancia de VM de la VM:
compute.instances.setMetadata
en el proyecto, - Para definir etiquetas en la máquina virtual,
compute.instances.setTags
en la máquina virtual - Para definir etiquetas de la VM,
compute.instances.setLabels
en la VM - Para definir una cuenta de servicio que use la VM, haz lo siguiente en la VM:
compute.instances.setServiceAccount
- Para crear un disco para la VM
compute.disks.create
del proyecto, sigue estos pasos: - Para adjuntar un disco en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.use
en el disco - Para adjuntar un disco en modo de solo lectura,
compute.disks.useReadOnly
en el disco.
-
Para crear una plantilla de instancia, sigue estos pasos:
compute.instanceTemplates.create
en el proyecto -
Para actualizar la política de mantenimiento del host de una instancia, sigue estos pasos:
compute.instances.setScheduling
en la instancia
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Propiedades de mantenimiento del host disponibles
Puedes personalizar el comportamiento de tu instancia de proceso durante el mantenimiento programado o los eventos inesperados del host. Si no especifica lo contrario, Compute Engine usará la configuración predeterminada al crear una instancia, varias instancias a la vez o una plantilla de instancia.
Puedes configurar las siguientes propiedades de mantenimiento del host:
Comportamiento de mantenimiento (
onHostMaintenance
): qué ocurre con tu instancia durante un evento de mantenimiento en su host que podría provocar que la instancia se reiniciara. Puedes asignar uno de los siguientes valores a esta propiedad:Migrar: Compute Engine migra en directo automáticamente tu instancia a otro host. Esta es la opción predeterminada para todos los tipos de instancias, excepto para las VMs de Spot y las VMs interrumpibles.
Finalizar: Compute Engine detiene la instancia. Este es el ajuste predeterminado de las VMs Spot o las VMs interrumpibles, y es el único ajuste admitido para las instancias Z3 con más de 18 TiB de SSD de titanio conectado, las instancias de hardware desnudo y las instancias con GPUs o TPUs conectadas.
Reinicio automático (
automaticRestart
): indica si la instancia se reinicia si falla o si Compute Engine la detiene por una parada programada, como un evento de mantenimiento. Puedes asignar uno de los siguientes valores a esta propiedad:Activado: Compute Engine reinicia automáticamente la instancia. Esta es la configuración predeterminada de todos los tipos de instancias, excepto las máquinas virtuales de Spot y las máquinas virtuales interrumpibles. Para especificar este ajuste, sigue estos pasos:
En la consola de Google Cloud , en el panel Avanzado, en la lista Reinicio automático, selecciona Activado (recomendado).
En Google Cloud CLI, usa la marca
--restart-on-failure
.En REST, asigna el valor
true
al campoautomaticRestart
.
Desactivado: Compute Engine no reinicia la instancia. Este es el ajuste predeterminado de las máquinas virtuales de acceso puntual o las máquinas virtuales interrumpibles. Para especificar este ajuste, sigue estos pasos:
En la consola Google Cloud , en el panel Avanzado, en la lista Reinicio automático, selecciona Desactivado.
En la CLI de gcloud, usa la marca
--no-restart-on-failure
.En REST, asigna el valor
false
al campoautomaticRestart
.
Tiempo de espera de recuperación de datos de SSD local (
localSsdRecoveryTimeout
): este ajuste solo se aplica a las instancias que tienen discos SSD locales conectados. Determina cuánto tiempo espera Compute Engine para recuperar los datos de tus discos SSD locales después de que se produzcan errores en el host. De forma predeterminada, esta propiedad no está definida. Puedes asignar a esta propiedad uno de los siguientes valores:Sin definir: Compute Engine usa el tiempo de espera predeterminado:
En las VMs Z3, 6 horas
En el resto de los tipos de instancias, 1 hora
Número entero de 0 a 168: el número de horas que hay que esperar. Si se asigna el valor
0
a esta propiedad, Compute Engine no recupera los datos de SSD local y reinicia la instancia inmediatamente.
Tiempo de espera por error del host (
hostErrorTimeoutSeconds
): esta propiedad determina cuánto tiempo espera Compute Engine para reiniciar una instancia que no responde. Debes configurar este ajuste antes de que la instancia deje de responder. Usa un tiempo de espera lo suficientemente largo para que una instancia se recupere de un estado en el que no responde. Puedes asignar uno de los siguientes valores a esta propiedad:Sin definir: Compute Engine espera hasta 330 segundos (5 minutos y 30 segundos). Este es el ajuste predeterminado para cualquier tipo de instancia.
Un número entero entre 90 y 330: el tiempo de espera en segundos, en incrementos de 30 segundos.
Definir la política de mantenimiento del host de una instancia
De forma predeterminada, las instancias de proceso usan la configuración predeterminada de su política de mantenimiento del host. Para personalizar estos ajustes, utiliza uno de los siguientes métodos:
- Definir la política de una instancia
- Definir la política al crear una instancia
- Definir la política al crear instancias en bloque
- Definir la política al crear una plantilla de instancia
Definir la política de una instancia ya creada
Antes de cambiar la política de mantenimiento del anfitrión de una instancia, asegúrate de que se cumplen los siguientes requisitos:
No puedes cambiar el comportamiento de mantenimiento (
onHostMaintenance
) de los siguientes tipos de instancias:Máquinas virtuales que usan tipos de máquinas E2.
Máquinas virtuales de acceso puntual o máquinas virtuales interrumpibles.
Instancias que no admiten la migración en directo.
No puedes configurar máquinas virtuales de acceso puntual ni 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 tenga discos SSD locales conectados, usa la CLI de gcloud o la API REST. De lo contrario, selecciona una de las siguientes opciones:
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la columna Nombre, haga clic en el nombre de la instancia que quiera actualizar. Aparecerá una página con los detalles de la instancia.
Haz clic en
Editar. Aparecerá una página que te permitirá editar las propiedades de la instancia.En la sección Gestión, puedes hacer una o varias de las siguientes acciones:
Para cambiar el comportamiento durante los eventos de mantenimiento, selecciona otra opción de la lista En mantenimiento del host.
Para cambiar el periodo de tiempo de espera antes de reiniciar una instancia que no responde, selecciona otra opción en la lista Tiempo de espera de error del host.
Para cambiar si quieres reiniciar la instancia o no después de errores del host o paradas programadas, selecciona otra opción de la lista Reinicio automático.
Haz clic en Guardar.
gcloud
Para cambiar la política de mantenimiento del host en una instancia, usa el comando
gcloud compute instances set-scheduling
con una o varias de las siguientes marcas:Para cambiar el comportamiento del mantenimiento del host, incluye la marca
--maintenance-policy
.Para cambiar el comportamiento del 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 cambiar el 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 cambiar el tiempo de espera de error del host, incluye la marca
--host-error-timeout-seconds
.
Por ejemplo, para cambiar el comportamiento del 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 local y cambiar el tiempo de espera de errores 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
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de tu instancia.ERROR_DETECTION_TIMEOUT
: número de segundos que deben transcurrir antes de que Compute Engine reinicie una instancia que no responde. El valor debe estar entre90
(90 segundos) y330
(330 segundos, es decir, 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de la instancia. El valor puede serTERMINATE
oMIGRATE
.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.ZONE
: la zona en la que se encuentra tu instancia.
REST
Para cambiar la política de mantenimiento del host en una instancia, haz una solicitud
POST
al métodoinstances.setScheduling
. En el cuerpo de la solicitud, incluye uno o varios de los siguientes campos:Para cambiar el comportamiento del mantenimiento del host, incluye el campo
onHostMaintenance
.Para cambiar el comportamiento del reinicio automático, haz una de las siguientes acciones:
Para reiniciar la instancia automáticamente, 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 local si tu instancia tiene discos SSD locales conectados, incluye el campo
localSsdRecoveryTimeout
.Para cambiar el tiempo de espera de error del host, incluya el campo
hostErrorTimeoutSeconds
.
Por ejemplo, para cambiar el comportamiento del 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 local y cambiar el tiempo de espera de errores del host, haz una solicitud como la siguiente:
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" }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra tu instancia.ZONE
: la zona en la que se encuentra tu instancia.INSTANCE_NAME
: el nombre de tu instancia.AUTOMATIC_RESTART
: el comportamiento de reinicio automático de la instancia si falla o si Compute Engine la detiene por una parada programada. Se debe utilizar uno de los valores indicados a continuación.Para que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente:
true
Para evitar que se reinicie automáticamente, haz lo siguiente:
false
ERROR_DETECTION_TIMEOUT
: el número de segundos que deben transcurrir antes de reiniciar una instancia que no responde. El valor debe estar comprendido entre90
(90 segundos) y330
(330 segundos, o 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de la instancia. El valor puede serTERMINATE
oMIGRATE
.
Definir la política al crear una instancia
Puedes definir la política de mantenimiento del host de una instancia de proceso al crearla.
Para definir el tiempo de espera de recuperación de datos de SSD local al crear una instancia que tenga discos SSD locales conectados, usa la CLI de gcloud o la API REST. De lo contrario, selecciona una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la página Crear una instancia.
En el campo Name (Nombre), introduce un nombre para la instancia.
En los campos Región y Zona, especifica en qué región y zona quieres crear la instancia.
Especifica el tipo de máquina de la instancia.
En el menú de navegación, haz clic en Opciones avanzadas.
En la sección Modelo de aprovisionamiento, despliega Configuración avanzada del modelo de aprovisionamiento de VMs y, a continuación, haz una o varias de las siguientes acciones:
Para definir el comportamiento durante los eventos de mantenimiento, en la lista Durante el mantenimiento del host, selecciona una de las siguientes opciones:
Para migrar la instancia durante los eventos de mantenimiento del host, selecciona Migrar instancia de VM (opción recomendada).
Para detener la instancia durante los eventos de mantenimiento del host, selecciona Desactivar la instancia de VM.
Para definir el periodo de tiempo de espera antes de reiniciar una instancia que no responde, en la lista Tiempo de espera de error del host, selecciona una de las siguientes opciones:
Para no especificar un tiempo de espera de error de host, selecciona Sin especificar (predeterminado).
Para especificar un tiempo de espera de error del host, selecciona una de las opciones disponibles, hasta 5 minutos y 30 segundos.
Para definir 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 del host o paradas programadas, selecciona Activado (opción recomendada).
Para evitar que la instancia se reinicie automáticamente después de errores del host o paradas programadas, selecciona Desactivado.
Haz clic en Crear.
gcloud
Para definir la política de mantenimiento del host de una instancia al crearla, usa el comando
gcloud compute instances create
con una o varias de las siguientes marcas:Para definir el comportamiento del mantenimiento del host, incluye la marca
--maintenance-policy
.Para definir 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 definir 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 definir un tiempo de espera de error de host, incluye la marca
--host-error-timeout-seconds
.
Por ejemplo, para definir el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, definir un tiempo de espera de recuperación de datos de SSD local y definir un tiempo de espera de error del 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
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ERROR_DETECTION_TIMEOUT
: el número de segundos que deben transcurrir antes de reiniciar una instancia que no responde. El valor debe estar comprendido entre90
(90 segundos) y330
(330 segundos, o 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.MACHINE_TYPE
: el tipo de máquina que se va a usar.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de la instancia. El valor puede serTERMINATE
oMIGRATE
. Si vas a crear una VM de acceso puntual, una VM interrumpible o una instancia que no admita la migración activa, solo podrás usarTERMINATE
.ZONE
: la zona en la que se creará la instancia.
REST
Para definir la política de mantenimiento del host de una instancia al crearla, envía una solicitud
POST
al métodoinstances.insert
. En el cuerpo de la solicitud, incluye uno o varios de los siguientes campos en el camposcheduling
:Para definir el comportamiento del mantenimiento del host, incluye el campo
onHostMaintenance
.Para definir el comportamiento de reinicio automático, haz una de las siguientes acciones:
Para reiniciar la instancia automáticamente, incluye el campo
automaticRestart
.Para evitar que la instancia se reinicie automáticamente, incluye el campo
automaticRestart
.
Para definir 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 definir un tiempo de espera de error de host, incluye el campo
hostErrorTimeoutSeconds
.
Por ejemplo, para definir el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de que se produzcan errores en el host o se detenga de forma programada, definir un tiempo de espera de recuperación de datos de SSD local y definir un tiempo de espera de errores del host, haz una solicitud como la siguiente:
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" } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se va a crear la instancia.ZONE
: la zona en la que se creará la instancia.INSTANCE_NAME
: el nombre de la instancia.MACHINE_TYPE
: el tipo de máquina que se va a 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 admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
AUTOMATIC_RESTART
: el comportamiento de reinicio automático de la instancia si falla o si Compute Engine la detiene por una parada programada. Se debe utilizar uno de los valores indicados a continuación.Para que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente:
true
Para evitar que se reinicie automáticamente, haz lo siguiente:
false
ERROR_DETECTION_TIMEOUT
: el número de segundos que deben transcurrir antes de reiniciar una instancia que no responde. El valor debe estar comprendido entre90
(90 segundos) y330
(330 segundos, o 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de la instancia. El valor puede serTERMINATE
oMIGRATE
. Si vas a crear una VM de acceso puntual o una instancia que no admita la migración activa, solo podrás usarTERMINATE
.
Para obtener más información sobre cómo crear una instancia, consulta Crear e iniciar una instancia de Compute Engine.
Definir la política al crear instancias en bloque
Para definir la política de mantenimiento del host al crear instancias en bloque, selecciona una de las siguientes opciones:
gcloud
Para definir la política de mantenimiento del host al crear instancias en bloque, usa el comando
gcloud compute instances bulk create
con una o varias de las siguientes marcas:Para definir el comportamiento del mantenimiento del host, incluye la marca
--maintenance-policy
.Para definir 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 definir 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 definir un tiempo de espera de error de host, incluye la marca
--host-error-timeout-seconds
.
Por ejemplo, para definir el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, definir un tiempo de espera de recuperación de datos de SSD local y definir un tiempo de espera de error del 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
Haz los cambios siguientes:
COUNT
: número de instancias que se van a crear.ERROR_DETECTION_TIMEOUT
: el número de segundos que deben transcurrir antes de reiniciar una instancia que no responde. El valor debe estar comprendido entre90
(90 segundos) y330
(330 segundos, o 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.MACHINE_TYPE
: el tipo de máquina que se va a usar.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de las instancias. El valor puede serTERMINATE
oMIGRATE
. Si vas a crear VMs de acceso puntual, VMs interrumpibles o instancias que no admitan la migración activa, solo podrás usarTERMINATE
.NAME_PATTERN
: el patrón de nombre de las instancias. Para sustituir una secuencia de números en un nombre de instancia, utiliza una secuencia de caracteres de almohadilla (#
). Por ejemplo, si se usainstance-#
como patrón de nombre, se generan instancias con nombres que empiezan porinstance-1
,instance-2
y así sucesivamente hasta el número de instancias especificado porCOUNT
.ZONE
: la zona en la que se crearán las instancias.
REST
Para definir la política de mantenimiento del host al crear instancias en bloque, haz una solicitud
POST
al métodoinstances.bulkInsert
. En el cuerpo de la solicitud, incluye uno o varios de los siguientes campos en el camposcheduling
:Para definir el comportamiento del mantenimiento del host, incluye el campo
onHostMaintenance
.Para definir el comportamiento de reinicio automático, haz una de las siguientes acciones:
Para reiniciar la instancia automáticamente, incluye el campo
automaticRestart
.Para evitar que la instancia se reinicie automáticamente, incluye el campo
automaticRestart
.
Para definir 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 definir un tiempo de espera de error de host, incluye el campo
hostErrorTimeoutSeconds
.
Por ejemplo, para definir el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de que se produzcan errores en el host o se detenga de forma programada, definir un tiempo de espera de recuperación de datos de SSD local y definir un tiempo de espera de error del host, haz una solicitud como la siguiente. 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" } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se crearán las instancias.ZONE
: la zona en la que se crearán las instancias.COUNT
: número de instancias que se van a crear.NAME_PATTERN
: el patrón de nombre de las instancias. Para sustituir una secuencia de números en un nombre de instancia, utiliza una secuencia de caracteres de almohadilla (#
). Por ejemplo, si se usainstance-#
como patrón de nombre, se generan instancias con nombres que empiezan porinstance-1
,instance-2
y así sucesivamente hasta el número de instancias especificado porCOUNT
.MACHINE_TYPE
: el tipo de máquina que se va a 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 admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
AUTOMATIC_RESTART
: el comportamiento de reinicio automático de la instancia si falla o si Compute Engine la detiene por una parada programada. Se debe utilizar uno de los valores indicados a continuación.Para que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente:
true
Para evitar que se reinicie automáticamente, haz lo siguiente:
false
ERROR_DETECTION_TIMEOUT
: el número de segundos que deben transcurrir antes de reiniciar una instancia que no responde. El valor debe estar comprendido entre90
(90 segundos) y330
(330 segundos, o 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de las instancias. El valor puede serTERMINATE
oMIGRATE
. Si vas a crear VMs de acceso puntual, VMs interrumpibles o instancias que no admitan la migración activa, solo podrás usarTERMINATE
.
Para obtener más información sobre cómo crear instancias en bloque, consulta Crear VMs en bloque.
Definir la política al crear una plantilla de instancia
Puedes definir la política de mantenimiento del host al crear una plantilla de instancia. Todas las instancias de proceso que crees con la plantilla heredarán la política de mantenimiento del host especificada en la plantilla.
Para definir el tiempo de espera de recuperación de datos de SSD local al crear una plantilla de instancia que especifique discos SSD locales, usa la CLI de gcloud o la API REST. De lo contrario, selecciona una de las siguientes opciones:
Consola
En la consola, ve a la página Plantillas de instancia. Google Cloud
Haz clic en Crear plantilla de instancia. Aparecerá la página Crear plantilla de instancia.
En el campo Nombre, introduce un nombre para la plantilla de instancia.
En la sección Ubicación, seleccione una de las siguientes opciones:
Para crear una plantilla de instancia regional, selecciona Regional (recomendado) y, a continuación, la región en la que quieras crear la plantilla.
Para crear una plantilla de instancia global, selecciona Global.
En la sección Configuración de la máquina, especifica el tipo de máquina de la plantilla de instancia.
En la sección Modelo de aprovisionamiento, despliega Configuración avanzada del modelo de aprovisionamiento de VMs y, a continuación, haz una o varias de las siguientes acciones:
Para cambiar el comportamiento durante los eventos de mantenimiento, en la lista En mantenimiento del host, selecciona una de las siguientes opciones:
Para migrar la instancia durante los eventos de mantenimiento del host, selecciona Migrar instancia de VM (opción recomendada).
Para detener la instancia durante los eventos de mantenimiento del host, selecciona Desactivar la instancia de VM.
Para cambiar el periodo de tiempo de espera antes de reiniciar una instancia que no responde, en la lista Tiempo de espera de error del host, selecciona una de las siguientes opciones:
Para no especificar un tiempo de espera de error de host, selecciona Sin especificar (predeterminado).
Para especificar un tiempo de espera de error del host, selecciona una de las opciones disponibles, hasta 5 minutos y 30 segundos.
Para cambiar si quieres 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 del host o paradas programadas, selecciona Activado (opción recomendada).
Para evitar que la instancia se reinicie automáticamente después de errores del host o paradas programadas, selecciona Desactivado.
Haz clic en Crear.
gcloud
Para definir la política de mantenimiento del host al crear una plantilla de instancia, usa el comando
gcloud compute instance-templates create
con una o varias de las siguientes marcas:Para definir el comportamiento del mantenimiento del host, incluye el campo
onHostMaintenance
.Para definir el comportamiento de reinicio automático, haz una de las siguientes acciones:
Para reiniciar la instancia automáticamente, incluye el campo
automaticRestart
.Para evitar que la instancia se reinicie automáticamente, incluye el campo
automaticRestart
.
Para definir 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 definir un tiempo de espera de error de host, incluye el campo
hostErrorTimeoutSeconds
.
Por ejemplo, para definir el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de errores del host o paradas programadas, definir un tiempo de espera de recuperación de datos de SSD local y definir un tiempo de espera de error del host, ejecuta el siguiente comando. En el siguiente ejemplo también se crea una plantilla de instancia regional. Para crear una plantilla de instancia 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
Haz los cambios siguientes:
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.ERROR_DETECTION_TIMEOUT
: el número de segundos que deben transcurrir antes de reiniciar una instancia que no responde. El valor debe estar comprendido entre90
(90 segundos) y330
(330 segundos, o 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.REGION
: la región en la que se creará la plantilla de instancia.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.MACHINE_TYPE
: el tipo de máquina que se va a usar.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de las instancias. El valor puede serTERMINATE
oMIGRATE
. Si especificas una VM de acceso puntual, una VM interrumpible o un tipo de instancia que no admita la migración en vivo en la plantilla de instancia, solo podrás usarTERMINATE
.
REST
Para definir la política de mantenimiento del host al crear una plantilla de instancia, haz una solicitud
POST
a uno de los siguientes métodos:Para crear una plantilla de instancia regional, usa el método
regionInstanceTemplates.insert
.Para crear una plantilla de instancia global, usa el método
instanceTemplates.insert
.
En el cuerpo de la solicitud, incluye uno o varios de los siguientes campos en el campo
scheduling
:Para definir el comportamiento del mantenimiento del host, incluye el campo
onHostMaintenance
.Para definir el comportamiento de reinicio automático, haz una de las siguientes acciones:
Para reiniciar la instancia automáticamente, incluye el campo
automaticRestart
.Para evitar que la instancia se reinicie automáticamente, incluye el campo
automaticRestart
.
Para definir 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 definir un tiempo de espera de error de host, incluye el campo
hostErrorTimeoutSeconds
.
Por ejemplo, para definir el comportamiento de mantenimiento del host, reiniciar automáticamente la instancia después de que se produzcan errores en el host o se detenga de forma programada, definir un tiempo de espera de recuperación de datos de SSD local y definir un tiempo de espera de error del host, haz una solicitud como la siguiente. En el siguiente ejemplo también se 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" } } }
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto en el que se va a 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, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
MACHINE_TYPE
: el tipo de máquina que se va a usar.AUTOMATIC_RESTART
: el comportamiento de reinicio automático de la instancia si falla o si Compute Engine la detiene por una parada programada. Se debe utilizar uno de los valores indicados a continuación.Para que Compute Engine reinicie automáticamente tu instancia, haz lo siguiente:
true
Para evitar que se reinicie automáticamente, haz lo siguiente:
false
ERROR_DETECTION_TIMEOUT
: el número de segundos que deben transcurrir antes de reiniciar una instancia que no responde. El valor debe estar comprendido entre90
(90 segundos) y330
(330 segundos, o 5 minutos y 30 segundos). Solo se permiten incrementos de 30 segundos.LOCAL_SSD_RECOVERY_TIMEOUT
: número de horas que se tarda en recuperar los datos de los discos SSD locales conectados. El valor debe estar entre0
(0 horas) y168
(168 horas o 7 días). Si asignas el valor0
a este campo, significa que Compute Engine no recuperará los datos de la unidad SSD local.MAINTENANCE_POLICY
: el comportamiento de mantenimiento de las instancias. El valor puede serTERMINATE
oMIGRATE
. Si especificas una VM de acceso puntual, una VM interrumpible o un tipo de instancia que no admita la migración en vivo en la plantilla de instancia, solo podrás usarTERMINATE
.
Para obtener más información sobre cómo crear una plantilla de instancia, consulta el artículo Crear plantillas de instancia.
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 REST, solo podrás ver los campos
localSsdRecoveryTimeout
yhostErrorTimeoutSeconds
si los has especificado al crear o actualizar la instancia.Para ver el tiempo de espera de recuperación de datos de SSD local en una instancia que tenga discos SSD locales conectados, usa la CLI de gcloud o la API REST. De lo contrario, selecciona una de las siguientes opciones:
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
En la columna Nombre, haga clic en la instancia que quiera ver. Aparecerá una página con los detalles de la instancia.
En la pestaña Detalles, en la sección Gestión, en la sección Políticas de disponibilidad, puedes ver lo siguiente:
En el campo Durante el mantenimiento del host, puedes ver los eventos de comportamiento de mantenimiento del host de la instancia.
En el campo Tiempo de espera de error del host, puede ver el tiempo que espera la instancia antes de reiniciarse o detenerse después de detectar que no responde. Si el valor no está definido (—), 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 que falle o si Compute Engine la detiene por una parada 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
definida comoscheduling
:gcloud compute instances describe INSTANCE_NAME \ --flatten=scheduling \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona en la que se encuentra la instancia.
El resultado debería ser similar al siguiente:
--- 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, envía una solicitud
GET
al métodoinstances.get
. En la URL de la solicitud, incluya el parámetro de consultafields
y asígnele el valorscheduling
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?fields=scheduling
Haz los cambios siguientes:
PROJECT_ID
: el proyecto en el que se encuentra la instancia.ZONE
: la zona en la que se encuentra la instancia.INSTANCE_NAME
: el nombre de la instancia.
El resultado debería ser similar al siguiente:
{ "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } } }
Siguientes pasos
Proceso de migración en tiempo real durante eventos de mantenimiento
Consultar el servidor de metadatos para ver avisos de eventos de mantenimiento
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-