Cómo ver el cierre elegante en una instancia de Compute Engine


En este documento, se explica cómo ver la configuración y el progreso de un cierre ordenado en una instancia de Compute Engine. Para obtener más información sobre el cierre ordenado, consulta Descripción general del cierre ordenado.

Cuando ves los detalles de una instancia, puedes hacer lo siguiente:

  • Ver la configuración de cierre ordenado Puedes verificar si el cierre ordenado está habilitado y cuánto dura.

  • Supervisa el cierre ordenado. Cuando se está realizando un apagado correcto, puedes verificar lo siguiente:

    • Cuando se agota el tiempo de espera del proceso de cierre ordenado.

    • Indica si hay en curso una operación de detención o eliminación.

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 ver el cierre ordenado de 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.get on the project, que se requiere para ver el cierre ordenado de una instancia de procesamiento.

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

Cómo ver la configuración de cierre ordenado

Para ver la configuración de apagado ordenado en una instancia de procesamiento, 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 tu instancia.

    Se abrirá la página de detalles de la instancia en la pestaña Detalles.

  3. Para verificar la configuración de cierre ordenado, en la sección Políticas de disponibilidad, verifica el valor del campo Duración máxima del cierre ordenado. En este campo, se muestra el período de cierre ordenado. Si se muestra un guion (-), el cierre ordenado está inhabilitado.

gcloud

Para ver la configuración de cierre ordenado en una instancia, usa el comando gcloud beta compute instances describe:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_NAME: El nombre de la instancia.

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

Si el cierre ordenado está habilitado, el resultado es similar al siguiente:

...
scheduling:
  ...
  gracefulShutdown:
    enabled: true
    maxDuration:
      seconds: 'MAX_DURATION'
  ...
...

El resultado incluye el valor de MAX_DURATION. Este valor indica la duración del período de cierre ordenado en segundos. Si no especificaste un período de apagado personalizado cuando habilitaste el apagado correcto en la instancia, Compute Engine omitirá el campo maxDuration y establecerá el período de apagado correcto en 10 minutos.

REST

Para ver la configuración de apagado correcto en una instancia, 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 creaste la instancia.

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

  • INSTANCE_NAME: El nombre de la instancia.

Si el cierre ordenado está habilitado, el resultado es similar al siguiente:

{
  ...
  "scheduling": {
    ...
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  },
  ...
}

El resultado incluye el valor de MAX_DURATION. Este valor indica la duración del período de cierre ordenado en segundos. Si no especificaste un período de apagado personalizado cuando habilitaste el apagado correcto en la instancia, Compute Engine omitirá el campo maxDuration y establecerá el período de apagado correcto en 10 minutos.

Supervisa el cierre ordenado

Para supervisar un cierre ordenado en curso en una instancia de procesamiento, 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 tu instancia.

    Se abrirá la página de detalles de la instancia en la pestaña Detalles.

  3. Si hay un apagado correcto en curso, en la sección Información básica, verifica los siguientes campos:

    • Estado: Este campo muestra el estado de tu instancia. Durante un cierre ordenado, este campo muestra Detención pendiente y un temporizador de cuenta regresiva. El temporizador realiza una cuenta regresiva hasta el momento en que finaliza el cierre ordenado.

    • Estado de destino: Este campo muestra si Compute Engine está deteniendo (Detenida) o borrando (Borrada) la instancia.

gcloud

Para supervisar un cierre ordenado en curso en una instancia, usa el comando gcloud beta compute instances describe:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_NAME: El nombre de la instancia.

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

Si hay un cierre ordenado en curso, el resultado es similar al siguiente:

...
resourceStatus:
  ...
  shutdownDetails:
    maxDuration:
      seconds: 'MAX_DURATION'
    requestTimestamp: 'REQUEST_TIMESTAMP'
    stopState: STOP_STATE
    targetState: TARGET_STATE
...
status: PENDING_STOP
...

En esta salida, se incluyen los siguientes valores:

  • MAX_DURATION: Es la duración del período de cierre ordenado en segundos. Después de que Compute Engine establece STOP_STATE en STOPPING, borra el campo maxDuration.

  • REQUEST_TIMESTAMP: Es la marca de tiempo en la que comenzó el STOP_STATE.

  • STOP_STATE: Es la fase de detención de la instancia. El valor puede ser uno de los siguientes:

    • PENDING_STOP: Compute Engine inició el cierre ordenado. La instancia permanece en este estado hasta que finalizas manualmente el cierre ordenado o se agota el tiempo de espera del período de cierre ordenado.

    • STOPPING: Finalizó el cierre ordenado y Compute Engine continúa con la operación de detención o eliminación.

  • TARGET_STATE: Indica si Compute Engine está deteniendo (STOPPED) o borrando (DELETED) la instancia.

Si se está ejecutando una operación de detención, después de que Compute Engine establece el campo status en TERMINATE, borra el campo shutdownDetails.

REST

Para supervisar un apagado correcto en curso en una instancia, 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: Es el ID del proyecto en el que creaste la instancia.

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

  • INSTANCE_NAME: El nombre de la instancia.

Si hay un cierre ordenado en curso, el resultado es similar al siguiente:

{
  ...
  "resourceStatus": {
    ...
    "shutdownDetails": {
      "maxDuration": {
        "seconds": "MAX_DURATION"
      },
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
  },
  ...
  "status": "PENDING_STOP",
  ...
}

En esta salida, se incluyen los siguientes valores:

  • MAX_DURATION: Es la duración del período de cierre ordenado en segundos. Después de que Compute Engine establece STOP_STATE en STOPPING, borra el campo maxDuration.

  • REQUEST_TIMESTAMP: Es la marca de tiempo en la que comenzó el STOP_STATE.

  • STOP_STATE: Es la fase de detención de la instancia. El valor puede ser uno de los siguientes:

    • PENDING_STOP: Compute Engine inició el cierre ordenado. La instancia permanece en este estado hasta que finalizas manualmente el cierre ordenado o se agota el tiempo de espera del período de cierre ordenado.

    • STOPPING: Finalizó el cierre ordenado y Compute Engine continúa con la operación de detención o eliminación.

  • TARGET_STATE: Indica si Compute Engine está deteniendo (STOPPED) o borrando (DELETED) la instancia.

Si se está ejecutando una operación de detención, después de que Compute Engine establece el campo status en TERMINATE, borra el campo shutdownDetails.

Servidor de metadatos

  1. Conéctate a la instancia.

  2. Consulta el servidor de metadatos:

    curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"
    

    Si hay un cierre ordenado en curso, el resultado es similar al siguiente:

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    El resultado incluye los siguientes valores:

    • MAX_DURATION: Es la duración del período de cierre ordenado en segundos. Después de que Compute Engine establece STOP_STATE en STOPPING, borra el campo maxDuration.

    • REQUEST_TIMESTAMP: Es la marca de tiempo en la que comenzó el STOP_STATE.

    • STOP_STATE: Es la fase de detención de la instancia. El valor puede ser uno de los siguientes:

      • PENDING_STOP: Compute Engine inició el cierre ordenado. La instancia permanece en este estado hasta que finalizas manualmente el apagado ordenado o se agota el tiempo de espera del período de apagado ordenado.

      • STOPPING: Finalizó el cierre ordenado y Compute Engine continúa con la operación de detención o eliminación.

    • TARGET_STATE: Indica si Compute Engine está deteniendo (STOPPED) o borrando (DELETED) la instancia.

¿Qué sigue?