Inhabilita el cierre elegante en una instancia de Compute Engine


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

Si habilitaste el cierre ordenado 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 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. 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.

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

Roles obligatorios

Para obtener el permiso que necesitas para inhabilitar el cierre ordenado en una instancia de Compute, 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 ordenado 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 necesidad de reiniciarla. Sin embargo, no puedes inhabilitar el cierre ordenado mientras la instancia está en proceso de cierre ordenado (PENDING_STOP).

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

Console

  1. En la Google Cloud consola, 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 ordenado 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 en versión beta:

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

    Reemplaza lo siguiente:

    • PROJECT_ID: Es 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. Ubica 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 en versión 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 actualiza la instancia.

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

¿Qué sigue?