Acerca de la suspensión y la detención de las VM en un MIG


En este documento, se describen las acciones de suspensión y detenimiento en instancias de máquina virtual (VM) en un grupo de instancias administrado (MIG). También se describe cómo suspender y detener las VMs en un MIG puede ayudarte a ahorrar costos y reducir el tiempo de espera cuando necesitas más VM en el grupo.

Los MIG te permiten suspender y detener las VMs para lograr lo siguiente:

  • Pausa una aplicación o un servicio que no uses para ahorrar costos al no pagar por los recursos de procesamiento.
  • Acelera el escalamiento horizontal de MIG al iniciar las VMs inicializadas con antelación desde el grupo en espera de VM detenidas y suspendidas.

Casos de uso

En las siguientes secciones, se describen casos prácticos típicos del grupo en espera de un MIG.

Pausa una aplicación o un servicio

Puedes suspender o detener las VM en un MIG para pausar tu aplicación y reanudarla cuando sea necesario, según tu procesamiento, horario laboral, hora máxima y restricciones de presupuesto. Puedes mantener los resultados de los cálculos actuales en discos persistentes o, en el caso de VM suspendidas, en la memoria.

Por ejemplo, es posible que desees suspender o detener las VM en un MIG en las siguientes situaciones:

  • Tienes cargas de trabajo pesadas durante los días de semana y quieres suspender las VMs los fines de semana para ahorrar costos.
  • Tienes un entorno de pruebas necesario durante los cambios de implementación y deseas detenerlo cuando no estés desarrollando de forma activa.

Acelera el escalamiento horizontal de los MIG

Puedes mantener un grupo de instancias de VMs inicializadas con anterioridad que estarán listas para empezar cuando el MIG cambia de tamaño. En lugar de crear VMs nuevas y esperar a que tu aplicación inicie y esté lista para ejecutarse, el MIG inicia o reanuda las VMs desde el grupo en espera. En ese caso, la inicialización de la VM se completa con anticipación, no en un momento crítico de aumento de la carga.

Los grupos en espera son útiles para las aplicaciones que tardan mucho en inicializarse, por ejemplo, en las siguientes situaciones:

  • Aplicaciones que necesitan descargar contenido actualizado en discos persistentes.
  • Aplicaciones que necesitan almacenar en caché contenido adicional en la memoria (a través de descargas desde el almacenamiento externo, desde procesamiento local o una combinación de ambas).
  • Aplicaciones que necesitan instalar software nuevo durante la inicialización, como los nodos de Kubernetes

Recursos preservados

En la siguiente tabla, se pueden ver los recursos que se conservan cuando suspendes y detienes las VMs en un MIG.

Se conservan VM suspendida VM detenida
Nombre de VM
IP interna
IP externa: (efímera)
IP externa (estática*)
Discos
Metadatos
Memoria

*Si deseas conservar una IP externa cuando detienes o suspendes una VM en un MIG, usa la configuración de MIG con estado para ascender la IP externa a una IP estática.

Si una VM tiene discos SSD locales conectados, cuando detengas o suspendas la VM, no se conservarán los datos de los discos SSD locales.

Comportamiento y configuración

El grupo en espera se forma mediante grupos detenidos y suspendidos de VM. Todas las VMs detenidas se convierten en parte del grupo detenido y todas las VM suspendidas se convierten en parte del grupo suspendido. Si configuraste el ajuste de escala automático en un MIG, después de suspender o detener una VM, a través de este MIG de inmediato se crean VMs nuevas para mantener el tamaño recomendado del MIG.

Tamaños de destino de los grupos suspendidos y detenidos

Al igual que el tamaño de destino del MIG, los grupos detenidos y suspendidos tienen sus propios tamaños de destino. Puedes controlar el tamaño objetivo del grupo en espera de las siguientes maneras:

  • Configura los valores de los tamaños de destino detenidos y suspendidos.
  • Cuando detienes y suspendes las VMs de forma manual, lo que cambia de forma automática los tamaños de destino.

Cuando cambias los tamaños de destino de los grupos detenidos o suspendidos, el MIG se comporta de la siguiente manera:

  • Cuando aumentas el tamaño de los grupos suspendidos o detenidos, a través del MIG se crean VMs nuevas. Espera hasta que inicien y luego suspende o detiene las VMs según corresponda. Para los MIG regionales, las VM se crean de acuerdo con la forma de distribución objetivo configurada.
  • Cuando disminuyes el tamaño de los grupos suspendidos o detenidos, se produce una selección arbitraria a través del MIG en la que se marcan las VMs suspendidas o detenidas para borrar.
  • Cuando cambias el tamaño objetivo del MIG y el tamaño del grupo suspendido o detenido de forma simultánea, con el MIG se intenta minimizar la cantidad de operaciones necesarias para aplicar los cambios. Esto significa que el mediante el MIG se pueden reanudar o iniciar las VMs del grupo en espera, o suspender o detener algunas VMs en ejecución.

Política en espera

La política en espera define el comportamiento del grupo en espera según los siguientes parámetros que especifiques:

  • Modo: Es el modo en el que el MIG usa las VMs suspendidas y detenidas. Puede ser de modo manual o scale-out-pool.
  • Retraso inicial: el tiempo durante el cual en el MIG se ejecuta una VM recién creada antes de suspenderla o detenerla. Configura el retraso inicial a fin de que la app tenga tiempo suficiente para iniciar y estar lista para ejecutarse cuando se inicie o reanude la VM.

Modo

Puedes elegir cómo administrar grupos de reserva mediante la configuración del modo de operación. Hay dos opciones posibles: modo manual y modo scale-out-pool.

Modo manual (predeterminado)

En el modo manual, tienes control total sobre qué VMs se detienen y se suspenden en el MIG. El modo manual es el modo predeterminado del grupo en espera.

El modo manual es útil en los siguientes casos:

  • Para pausar la carga de trabajo y ahorrar en costos de las VMs inactivas en ejecución.
  • Para integrar el MIG con escaladores automáticos de terceros que requieren la administración avanzada de VMs individuales.
  • Detener las VMs elegidas con fines de depuración.

Con el modo manual, no se aplica ninguna automatización con el MIG al grupo en espera:

  • Cuando tú o el escalador automático aumentan el tamaño objetivo del MIG, este no inicia ni reanuda las VMs de forma automática, pero se crean otras nuevas.
  • Cuando tú o el escalador automático disminuyen el tamaño de destino del MIG, este no detiene ni suspende automáticamente las VM, pero se borran.

Modo de grupo de escalamiento horizontal

En el modo de escalamiento horizontal del grupo, el MIG usa las VMs de los grupos en espera para acelerar el escalamiento horizontal cuando se reanuda o inicia. Luego, con el MIG hay un reabastecimiento automático del grupo en espera con VMs nuevas para mantener los tamaños de destino.

El modo de grupo de escalamiento horizontal es útil para acelerar el escalamiento horizontal del MIG en los siguientes casos:

  • Si usas el escalador automático de Compute Engine.
  • Si usas escaladores automáticos de terceros y deseas conservar cualquier integración existente.
  • Si aumentas de forma manual el tamaño objetivo de las VM en ejecución.

En el modo de escalamiento horizontal de grupo, el MIG se comporta de la siguiente manera:

  • Cuando tú o el escalador automático aumentan el tamaño de destino de las VMs en ejecución en el MIG, a través de este último se toman medidas en el siguiente orden:

    1. El MIG reanuda las VMs suspendidas en caso de que haya alguna disponible en las zonas en las que el MIG escala horizontalmente.
    2. Después de reanudar las VMs suspendidas, si el tamaño objetivo del MIG aún no se alcanzó, a través de este se inician las VMs detenidas, si hay alguna disponible en las zonas en las que el MIG escala horizontalmente.
    3. Después de iniciar las VMs, si el tamaño objetivo del MIG aún no se alcanza, se crean VMs nuevas desde cero.

    Después de usar el grupo en espera para acelerar el escalamiento horizontal, el MIG hace lo siguiente:

    1. Se crean VMs nuevas para reabastecer los grupos suspendidos y detenidos en función de sus tamaños de destino y de acuerdo con la forma de distribución objetivo en caso de un MIG regional.
    2. Coloca las VMs nuevas en el estado en ejecución.
    3. Suspende o detiene las VMs nuevas después de que se pase el retraso inicial.
  • Cuando tú o el escalador automático disminuyen el tamaño de destino del MIG, este no detiene ni suspende automáticamente las VMs, pero se borran.

Retraso inicial

Para asegurarte de que la VM se inicie de forma correcta, especifica el retraso inicial en la política en espera. El retraso inicial es el tiempo que las VMs esperan antes de detenerse o suspenderse después de su creación Esto le da a la secuencia de comandos de inicialización el tiempo para completarse.

El retraso inicial ocurre en los siguientes casos:

  • Se crea una VM nueva con el estado objetivo previsto de SUSPENDED o TERMINATED.
  • Una instancia existente con el estado RUNNING se suspende o detiene.

En ambos casos, la instancia puede iniciar antes de que se suspenda o se detenga.

Cuando quieras usar el grupo en espera para acelerar el escalamiento horizontal del MIG, se recomienda que midas el tiempo necesario para que la aplicación inicie en el tipo de máquina elegido para asegurarte de que sea suficiente para tu aplicación y esté completamente lista antes de suspender o detener. De lo contrario, reanudar o iniciar las VMs del grupo en espera puede llevar más tiempo que crear VM desde cero.

Estado objetivo para las VMs en MIG

Los MIG tienen una API declarativa. Esto significa que declaras el estado objetivo para las VMs en el MIG y que la solicitud a la API se realiza de forma correcta cuando se guarda el estado objetivo. Luego, a través del MIG se llevan a cabo las operaciones necesarias para alcanzar el estado objetivo. Puedes verificar la acción actual y el estado actual de todas las VMs usando la API.

La suspensión y la detención de las VMs en un MIG funcionan de la misma manera declarativa. Cuando envías una solicitud para suspender o detener las VMs, el MIG almacena la información sobre el estado de destino de cada VM y luego inicia las operaciones necesarias para alcanzarla.

Cuando enumeras las VMs administradas en un MIG, puedes ver el campo targetStatus. Describe el estado final de una VM, cuando el MIG es estable. El estado puede ser uno de los siguientes valores:

  • RUNNING
  • STOPPED
  • SUSPENDED

Las VMs en un MIG pueden tener los mismos estados de ciclo de vida de las VMs individuales. A continuación, se presentan ejemplos de operaciones posibles en un MIG y los valores asociados del campo targetStatus:

  • Se crea la VM nueva y se suspende después de la inicialización.
    • Estado del destino de la VM: SUSPENDED.
  • Reanuda una VM suspendida con anterioridad.
    • Estado del destino de la VM: RUNNING
  • Detén una VM que se esté ejecutando.
    • Estado del destino de la VM: STOPPED
  • Inicia una VM detenida con anterioridad.
    • Estado del destino de la VM: RUNNING

Limitaciones

  • Las siguientes limitaciones para suspender VMs independientes también se aplican a la suspensión de VMs en un MIG:
    • No puedes suspender una instancia que usa una GPU.
    • No puedes suspender una instancia de Bare Metal.
    • No puedes suspender una instancia mediante los procesos estándar integrados en el entorno invitado. Los comandos, como el comando systemctl suspend en Ubuntu 16.04 y versiones posteriores, no están disponibles. Se ignora la señal del invitado.
    • Solo puedes suspender una instancia durante un máximo de 60 días antes de que se detenga la VM de forma automática.
    • No puedes suspender instancias con más de 208 GB de memoria.
    • Puedes suspender instancias interrumpibles, pero es posible que se finalicen antes de suspenderse de forma correcta.
    • No puedes suspender una Confidential VM.
    • No puedes suspender una VM que tenga discos protegidos por CSEK adjuntos.
  • En un MIG regional con la forma de distribución objetivo EVEN y la redistribución de instancias habilitada, no puedes suspender, detener, reanudar ni iniciar VMs específicas en el grupo. Para administrar un grupo en espera, configura los tamaños de destino de los grupos suspendidos y detenidos.
  • No puedes usar el modo de grupo de escalamiento horizontal si configuraste una segunda plantilla de instancias para la actualización canary en el MIG.
  • No puedes suspender ni detener las VMs de un MIG si desactivaste las reparaciones en el MIG.
  • Solo puedes suspender una instancia durante un máximo de 60 días antes de que se detenga la VM de forma automática.

Precios

Cada VM detenida y suspendida se factura por los siguientes elementos:

  • Cualquier uso del disco persistente para el disco de arranque y cualquier disco adicional conectado a la VM Para obtener más información, consulta los precios de los discos persistentes.
  • Cualquier IP estática conectada a la VM Para obtener más información, consulta los Precios de IP.
  • En el caso de las VM suspendidas, la memoria de la VM y el estado del dispositivo. Para obtener más información, consulta los precios de instancias de VM.

¿Qué sigue?