Cómo iniciar un evento de mantenimiento del host de forma manual


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 la instancia. Esto es útil para cargas de trabajo que podrían verse afectadas por un rendimiento degradado o un tiempo de inactividad, para lo que necesitas que el período de mantenimiento comience en un momento específico.

Cuando inicias un evento de mantenimiento de forma manual, 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 a la hora indicada en la notificación de mantenimiento próximo.

Si primero deseas 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 instancias que usen los siguientes tipos de máquinas:

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 API 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:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas 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 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, sigue estos pasos: compute.instances.get

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

Cómo iniciar un evento de mantenimiento del host de forma manual

Compute Engine envía notificaciones sobre los próximos eventos de mantenimiento mediante varios métodos. Con la información de las notificaciones, puedes determinar el período en el que puedes iniciar un evento de mantenimiento de forma manual.

Verifica la información de la notificación

Para encontrar las notificaciones de eventos de mantenimiento, sigue estos pasos:

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 un evento de mantenimiento de forma manual, se mostrará el siguiente mensaje:

There is no reschedulable upcoming maintenance.

Esto 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 se iniciará 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:

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.

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: Es el nombre del proyecto.
  • ZONE: Es la zona en la que reside la instancia de procesamiento.
  • INSTANCE_NAME: Es 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?