Iniciar manualmente un evento de mantenimiento del host


Esta página explica cómo iniciar manualmente un evento de mantenimiento del host en instancias compatibles de Compute Engine. Esta característica le permite iniciar un evento de mantenimiento para controlar el momento del mantenimiento de su instancia. Esto es útil para cargas de trabajo que podrían verse afectadas por un rendimiento degradado o tiempo de inactividad, para las cuales necesita que la ventana de mantenimiento comience en un momento específico.

Cuando inicia manualmente un evento de mantenimiento, el mantenimiento del host comienza inmediatamente. No puede especificar una fecha u hora para que comience el evento de mantenimiento. Si no utiliza esta función, el evento de mantenimiento se producirá a la hora indicada en la próxima notificación de mantenimiento .

Si desea probar primero cómo sus aplicaciones manejarán un evento de mantenimiento, puede simular un evento de mantenimiento .

Limitaciones

Puede iniciar manualmente un evento de mantenimiento del host para instancias que utilizan los siguientes tipos de máquinas:

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    gcloud

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

      gcloud init

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

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

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

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

        gcloud init

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

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

Roles requeridos

Para obtener los permisos que necesita para administrar el mantenimiento de la máquina virtual, solicite a su administrador que le otorgue el rol de IAM de Administrador de instancia informática (v1) ( roles/compute.instanceAdmin.v1 ) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Esta función predefinida contiene los permisos necesarios para gestionar el mantenimiento de la máquina virtual. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para administrar el mantenimiento de VM:

  • Para obtener información sobre una instancia informática: compute.instances.get

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

Iniciar manualmente un evento de mantenimiento del host

Compute Engine envía notificaciones sobre próximos eventos de mantenimiento mediante múltiples métodos. Utilizando la información de las notificaciones, puede determinar el período de tiempo durante el cual puede iniciar manualmente un evento de mantenimiento.

Consulta la información de notificación.

Puede encontrar las notificaciones de eventos de mantenimiento de la siguiente manera:

Si la notificación sobre un evento de mantenimiento del host contiene canReschedule=True y maintenanceStatus=Pending , entonces tiene la opción de iniciar el mantenimiento en el momento que elija o esperar a que el evento de mantenimiento tenga lugar a la hora especificada por windowStartTime .

Si no hay ninguna notificación e intenta iniciar manualmente un evento de mantenimiento, se muestra el siguiente mensaje:

There is no reschedulable upcoming maintenance.

Esto indica que no se ha programado ningún evento de mantenimiento y que no es necesario tomar ninguna medida.

Iniciar el evento de mantenimiento

Puede iniciar el mantenimiento del host en el momento que elija, en lugar de esperar la hora programada. Utilice Google Cloud CLI o REST para activar el evento de mantenimiento, que luego comienza inmediatamente.

nube de gcloud

Para iniciar un evento de mantenimiento, utilice 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

Reemplace lo siguiente:

  • INSTANCE_NAME : el nombre de la instancia informática.
  • ZONE : La zona donde reside la instancia.

La respuesta es similar a la siguiente:

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.

DESCANSAR

Para iniciar un evento de mantenimiento, cree una solicitud POST utilizando el método instances.performMaintenance .

POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME/performMaintenance

Reemplace lo siguiente:

  • PROJECT_NAME : El nombre del proyecto.
  • ZONE : La zona donde reside la instancia informática.
  • INSTANCE_NAME : El nombre de la instancia.

La respuesta se ve así:

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?