Inhabilita el cierre elegante en una instancia de Compute Engine


En este documento, se explica cómo inhabilitar el cierre elegante en una instancia existente de Compute Engine. Para obtener más información sobre el apagado elegante, incluido cómo omitir el apagado elegante para operaciones de detención o eliminación individuales, consulta Descripción general del apagado elegante.

Si habilitaste el cierre elegante 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 instancia que requieren un reinicio.

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

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

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

Roles obligatorios

Para obtener el permiso que necesitas para inhabilitar el cierre elegante en una instancia de procesamiento, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) en tu 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 el permiso compute.instances.update on the instance, que se requiere para inhabilitar el cierre elegante en una instancia de procesamiento.

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

Inhabilita el cierre ordenado en una instancia

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

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

Console

  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, haz clic en el nombre de la instancia para ver sus detalles.

    Se abrirá la página de detalles de la instancia y se seleccionará la pestaña Detalles.

  3. Haz clic en  Editar.

  4. En la sección Administración, desmarca la casilla de verificación Cerrar la VM de forma ordenada.

  5. Haz clic en Guardar.

gcloud

Para inhabilitar el cierre elegante 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

Reemplaza lo siguiente:

  • INSTANCE_NAME: El nombre de la instancia.

  • ZONE: Es 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 existente, realiza una solicitud GET al método instances.get beta:

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

    Reemplaza lo siguiente:

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

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

    • INSTANCE_NAME: Es el nombre de una instancia existente.

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

    1. Ingresa las propiedades de la instancia del resultado de la solicitud GET.

    2. Busca el campo gracefulShutdown.enabled y, luego, cambia su valor a false:

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

    • En la URL de la solicitud, incluye 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
        }
      },
      ...
    }
    

    Reemplaza ALLOWED_ACTION por uno de los siguientes valores:

    • NO_EFFECT: La solicitud verifica 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 modificadas no requieren que la instancia se reinicie, Compute Engine la actualiza.

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

¿Qué sigue?