Inhabilitar el cierre ordenado en una instancia de Compute Engine


En este documento se explica cómo inhabilitar el cierre ordenado en una instancia de Compute Engine. Para obtener más información sobre el cierre controlado, incluido cómo omitirlo en operaciones de detención o eliminación concretas, consulta el resumen del cierre controlado.

Si has habilitado el cierre gradual en una instancia, puedes inhabilitarlo para hacer lo siguiente:

  • Acelera las operaciones de detención o eliminación para evitar cargos innecesarios.

  • Actualiza las propiedades de la instancia que requieran un reinicio.

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

    1. 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.

    2. 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 el permiso que necesitas para inhabilitar el cierre gradual en una instancia de Compute, 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 el permiso compute.instances.update on the instance, que es necesario para inhabilitar el cierre ordenado en una instancia de proceso.

También puedes obtener este permiso con roles personalizados u otros roles predefinidos.

Inhabilitar el cierre suave en una instancia

Puedes inhabilitar el cierre ordenado en una instancia de proceso sin reiniciar la instancia. Sin embargo, no puedes inhabilitar el apagado suave mientras la instancia esté en proceso de apagado suave (PENDING_STOP).

Para inhabilitar el cierre ordenado en una instancia, selecciona una de las siguientes opciones:

Consola

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

    Ir a instancias de VM

  2. En la columna Nombre, haga clic en el nombre de la instancia para ver sus detalles.

    Se abre la página de detalles de la instancia y se selecciona la pestaña Detalles.

  3. Haz clic en Editar.

  4. En la sección Gestión, desmarca la casilla Apagar la VM correctamente.

  5. Haz clic en Guardar.

gcloud

Para inhabilitar el cierre suave en una instancia, usa el comando gcloud beta compute instances update con la marca --no-graceful-shutdown:

gcloud beta compute instances update INSTANCE_NAME \
    --no-graceful-shutdown \
    --zone=ZONE

Haz los cambios siguientes:

  • INSTANCE_NAME: el nombre de la instancia.

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

REST

  1. Crea un archivo JSON vacío.

  2. Para ver las propiedades de una instancia, envía una solicitud GET al método beta instances.get:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Haz los cambios siguientes:

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

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

    • INSTANCE_NAME: el nombre de una instancia.

  3. En el archivo JSON vacío que has creado en los pasos anteriores, haz lo siguiente:

    1. Introduzca las propiedades de la instancia de la salida de la solicitud GET.

    2. Busque el campo gracefulShutdown.enabled y cambie su valor a false:

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": false
          }
        },
        ...
      }
      
  4. Para actualizar la instancia, haz una solicitud PUT al método beta instances.update. Incluye lo siguiente:

    • En la URL de la solicitud, incluya el parámetro de consulta mostDisruptiveAllowedAction.

    • En el cuerpo de la solicitud, incluye las propiedades de la instancia del archivo JSON que creaste y actualizaste en los pasos anteriores.

    La solicitud PUT para actualizar la instancia es similar a la siguiente:

    PUT https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=ALLOWED_ACTION
    
    {
      ...
      "scheduling": {
        ...
        "gracefulShutdown": {
          "enabled": false
        }
      },
      ...
    }
    

    Sustituye ALLOWED_ACTION por uno de los siguientes valores:

    • NO_EFFECT: la solicitud comprueba si tu solicitud de actualización es válida y si los recursos están disponibles, pero no actualiza la instancia.

    • REFRESH: si las propiedades de la instancia modificada no requieren que se reinicie, Compute Engine actualiza la instancia.

Para obtener más información sobre cómo actualizar las propiedades de una instancia, consulta Actualizar propiedades de instancias.

Siguientes pasos