En esta página, se explica cómo iniciar de forma manual un evento de mantenimiento del host en instancias compatibles de Compute Engine. Esta función te permite iniciar un evento de mantenimiento para controlar el tiempo del mantenimiento de tu instancia. Esto es útil para las cargas de trabajo que podrían verse afectadas por la degradación del rendimiento o el tiempo de inactividad, para las que necesitas que el período de mantenimiento comience a una hora específica.
Cuando inicias manualmente un evento de mantenimiento, el mantenimiento del host comienza de inmediato. No puedes especificar una fecha ni una hora para que comience el evento de mantenimiento. Si no usas esta función, el evento de mantenimiento se produce en el momento indicado en la notificación de mantenimiento próximo.
Si primero quieres probar cómo tus aplicaciones controlarán un evento de mantenimiento, puedes simular un evento de mantenimiento.
Limitaciones
Puedes iniciar manualmente un evento de mantenimiento de host para las instancias que usan los siguientes tipos de máquinas:
Familias de máquinas con optimización de acelerador:
Familias de máquinas optimizadas para procesamiento:
Familias de máquinas de uso general:
Tipos de máquinas C4 con 192 o 288 CPUs virtuales, o con discos SSD locales conectados
Tipos de máquinas C4D con 384 CPUs virtuales o con discos SSD locales conectados
Instancias de Bare Metal C4D con 384 CPUs virtuales (vista previa)
Tipos de máquinas C3 con 176 CPUs virtuales o con discos SSD locales conectados
Tipos de máquinas C3D con 360 CPUs virtuales o con discos SSD locales conectados
Familias de máquinas con optimización de memoria:
Familias de máquinas optimizadas para el almacenamiento:
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los Google Cloud servicios y las APIs. 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:
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
- Set a default region and zone.
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 proporciones a gcloud CLI.
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
-
Roles requeridos
Para obtener los permisos que necesitas para administrar el mantenimiento de VM, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1
) en el 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 administrar el mantenimiento de las VM. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para administrar el mantenimiento de las VM:
-
Para obtener información sobre una instancia de procesamiento, haz lo siguiente:
compute.instances.get
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Inicia manualmente un evento de mantenimiento del host
Compute Engine envía notificaciones sobre los próximos eventos de mantenimiento a través de varios métodos. Con la información de las notificaciones, puedes determinar el período en el que puedes iniciar manualmente un evento de mantenimiento.
Verifica la información de la notificación
Puedes encontrar las notificaciones de eventos de mantenimiento de una de las siguientes maneras:
Si la notificación sobre un evento de mantenimiento del host contiene canReschedule=True
y maintenanceStatus=Pending
, tienes la opción de iniciar el mantenimiento en el momento que elijas o esperar a que se realice el evento de mantenimiento en el momento especificado por windowStartTime
.
Si no hay una notificación y, luego, intentas iniciar manualmente un evento de mantenimiento, se mostrará el siguiente mensaje:
There is no reschedulable upcoming maintenance.
Este mensaje indica que no se programó ningún evento de mantenimiento y que no es necesario realizar ninguna acción.
Inicia el evento de mantenimiento
Puedes iniciar el mantenimiento del host en el momento que elijas, en lugar de esperar a la hora programada. Usa Google Cloud CLI o REST para activar el evento de mantenimiento, que comenzará de inmediato.
gcloud
Para iniciar un evento de mantenimiento, usa el comando compute instances perform-maintenance
.
El mantenimiento del host comienza inmediatamente después de ingresar el comando.
gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE
Reemplaza lo siguiente:
INSTANCE_NAME
: Es el nombre de la instancia de procesamiento.ZONE
: Es la zona en la que reside la instancia.
La respuesta es similar al ejemplo a continuación:
resourceStatus:
upcomingMaintenance:
canReschedule: false
latestWindowStartTime: '2025-01-15T19:57:17Z'
maintenanceStatus: ONGOING
type: SCHEDULED
windowEndTime: '2025-01-15T23:57:11Z'
windowStartTime: '2025-01-15T19:57:16Z'
En la respuesta, canReschedule
se establece en false
y maintenanceStatus
se establece en ONGOING
, lo que indica que la operación de mantenimiento del host está en curso.
REST
Para iniciar un evento de mantenimiento, crea una solicitud POST
con el método instances.performMaintenance
.
POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
Reemplaza lo siguiente:
PROJECT_NAME
: El nombre del proyectoZONE
: La zona en la que reside la instancia de procesamientoINSTANCE_NAME
: El nombre de la instancia
La respuesta es similar a la que se muestra a continuación:
upcomingMaintenance:{
"canReschedule":false
"latestWindowStartTime": "2023-12-01T19:00:01Z"
"maintenanceStatus":"ONGOING"
"type":"SCHEDULED"
"windowEndTime": "2023-12-01T22:00:00Z"
"windowStartTime": "2023-12-01T19:00:00Z"
}
En la respuesta, canReschedule
se establece en false
y maintenanceStatus
se establece en ONGOING
, lo que indica que la operación de mantenimiento del host está en curso.
¿Qué sigue?
- Aprende a simular un evento de mantenimiento de host.
- Obtén información para obtener avisos de migración en vivo.
- Obtén más información para configurar alertas para las notificaciones de mantenimiento del host.