Inhabilita el cierre elegante en una instancia de Compute Engine

En este documento, se explica cómo inhabilitar el cierre ordenado en una instancia de Compute Engine existente.

Para acelerar las operaciones de detención o eliminación y evitar cargos innecesarios, es posible inhabilitar el cierre ordenado de una instancia de procesamiento. Esta acción configura tus instancias de procesamiento para que pasen de inmediato al estado STOPPING después de que se inicie una operación de detención o eliminación. No tienes que esperar a que venza el temporizador de cierre ordenado ni finalizarlo de forma manual.

Para obtener más información sobre los requisitos y las limitaciones que se aplican cuando cierras de forma ordenada una instancia de procesamiento, consulta Acerca del cierre ordenado.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación 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:

    Selecciona la pestaña según cómo planeas usar las muestras de esta página:

    Console

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  • Configura una región y una zona predeterminadas.
  • REST

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

      Instala Google Cloud CLI.

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate 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 ordenado 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 en la instancia de procesamiento, 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 de procesamiento

Puedes inhabilitar el cierre ordenado en una instancia de procesamiento sin reiniciarla. Sin embargo, si la instancia de procesamiento se está cerrando de forma ordenada (PENDING_STOP), debes finalizar el cierre ordenado antes de poder inhabilitarla.

Para inhabilitar el cierre ordenado en una instancia de procesamiento, 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 tu instancia de procesamiento. Se abrirá la página de detalles de la instancia de procesamiento en 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 de procesamiento, usa el comando gcloud compute instances update con la marca --no-graceful-shutdown:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

  • ZONE: Es la zona en la que existe la instancia de procesamiento.

REST

  1. Crea un archivo JSON vacío.

  2. Para ver las propiedades de una instancia de procesamiento existente, realiza una solicitud GET al método instances.get:

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

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que existe la instancia de procesamiento.

    • ZONE: Es la zona en la que existe la instancia de procesamiento.

    • INSTANCE_NAME: Es el nombre de una instancia de procesamiento existente.

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

    1. Ingresa los detalles de configuración de la instancia de procesamiento 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 de procesamiento, realiza una solicitud PUT al método instances.update. 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 de procesamiento del archivo JSON que creaste y actualizaste en los pasos anteriores.

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

    PUT https://compute.googleapis.com/compute/v1/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 de procesamiento.

    • REFRESH: Si las propiedades modificadas no requieren que se reinicie la instancia de procesamiento, Compute Engine la actualiza.

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

¿Qué sigue?