Información sobre la suspensión y la detención de VMs en un MIG


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

Los MIGs te permiten suspender y detener VMs para conseguir lo siguiente:

  • Pausa una aplicación o un servicio que no estés usando para ahorrar costes al no pagar por los recursos de computación.
  • Acelera el escalado horizontal de los MIGs iniciando VMs preinicializadas desde el grupo de espera de VMs detenidas y suspendidas.

Casos prácticos

En las secciones siguientes se describen los casos prácticos habituales del grupo de espera de un MIG.

Pausar una aplicación o un servicio

Puedes suspender o detener las VMs de un MIG para pausar tu aplicación y reanudarla cuando sea necesario, según tus restricciones de cálculo, horas de trabajo, horas punta y presupuesto. Puedes conservar los resultados de tus cálculos actuales en discos persistentes o, en el caso de las VMs suspendidas, en la memoria.

Por ejemplo, puede que quieras suspender o detener las VMs de un MIG en los siguientes casos:

  • Tienes cargas de trabajo pesadas durante los días laborables y quieres suspender las VMs los fines de semana para ahorrar costes.
  • Tienes un entorno de pruebas que necesitas durante los cambios de implementación y quieres detenerlo cuando no estés desarrollando activamente.

Acelerar el escalado horizontal de MIGs

Puedes mantener un grupo de espera de VMs preinicializadas listas para iniciarse cuando la MIG aumente su tamaño. En lugar de crear máquinas virtuales y esperar a que tu aplicación se inicialice y esté lista para ejecutarse, el MIG inicia o reanuda las máquinas virtuales del grupo de espera. En ese caso, la inicialización de la VM se completa con antelación, no en un momento crítico de aumento de la carga.

Los grupos de espera son útiles para las aplicaciones que tardan mucho en inicializarse, como en los siguientes casos:

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

Recursos conservados

En la siguiente tabla se muestran los recursos que se conservan al suspender y detener las VMs de un MIG.

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

* Para conservar una IP externa cuando detengas o suspendas una VM en un MIG, usa la configuración de MIG con estado para convertir la IP externa en una IP estática.

Si una VM tiene algún disco SSD local conectado, cuando la detengas o la suspendas, los datos de los discos SSD locales no se conservarán.

Comportamiento y configuración

El grupo de espera está formado por grupos de VMs detenidos y suspendidos. Todas las VMs detenidas pasan a formar parte del grupo de VMs detenidas, y todas las VMs suspendidas pasan a formar parte del grupo de VMs suspendidas. Si has configurado el autoescalado en un MIG, después de suspender o detener una VM, el MIG creará inmediatamente nuevas VMs para mantener el tamaño recomendado del MIG.

Tamaños de los grupos suspendidos y detenidos

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

  • Configurando los valores de los tamaños de destino detenidos y suspendidos.
  • Deteniendo y suspendiendo manualmente las máquinas virtuales, lo que cambia automáticamente los tamaños de destino.

Cuando cambias los tamaños objetivo 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, el MIG crea nuevas VMs, espera hasta que se inicialicen y, a continuación, las suspende o detiene según corresponda. En el caso de las MIGs de región, las VMs se crean de acuerdo con la forma de distribución del destino configurada.
  • Cuando reduces el tamaño de los grupos suspendidos o detenidos, el MIG selecciona arbitrariamente las VMs suspendidas o detenidas que se van a eliminar.
  • Cuando cambias el tamaño de destino de un MIG y el tamaño de un grupo suspendido o detenido simultáneamente, el MIG intenta minimizar el número de operaciones necesarias para aplicar los cambios. Esto significa que el MIG puede reanudar o iniciar VMs del grupo de espera, o bien suspender o detener algunas VMs en ejecución.

Política de espera

La política de reserva define el comportamiento del grupo de reserva en función de los siguientes parámetros que especifiques:

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

Modo

Puedes elegir cómo gestionar los grupos de espera configurando el modo de funcionamiento. Hay dos opciones posibles: el modo manual y el 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 de espera.

El modo manual es útil en los siguientes casos:

  • Para pausar tu carga de trabajo y ahorrar costes de las máquinas virtuales que están en ejecución sin actividad.
  • Para integrar el MIG con autoescaladores de terceros que requieran una gestión avanzada de las VMs individuales.
  • Para detener las VMs seleccionadas con fines de depuración.

En el modo manual, MIG no aplica ninguna automatización al grupo de espera:

  • Cuando tú o el autoescalador aumentáis el tamaño objetivo del MIG, este no inicia ni reanuda automáticamente las VMs, sino que crea otras nuevas.
  • Cuando tú o el autoescalador reducís el tamaño objetivo del MIG, este no detiene ni suspende automáticamente las VMs en ejecución, sino que las elimina.

Modo de escalado horizontal del grupo

En el modo de grupo de escalado horizontal, el MIG usa las VMs de los grupos de espera para acelerar el escalado horizontal reanudándolas o iniciándolas. A continuación, el grupo de instancias gestionado repone automáticamente el grupo de espera con nuevas máquinas virtuales para mantener los tamaños objetivo.

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

  • Si usas el escalador automático de Compute Engine.
  • Si usas escaladores automáticos de terceros y quieres conservar alguna integración.
  • Si aumentas manualmente el tamaño de destino de las VMs en ejecución.

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

  • Cuando tú o el autoescalador aumentáis el tamaño objetivo de las VMs en ejecución del MIG, este toma medidas en el siguiente orden:

    1. El MIG reanuda las VMs suspendidas si hay alguna disponible en las zonas en las que se amplía el MIG.
    2. Después de reanudar las VMs suspendidas, si aún no se ha alcanzado el tamaño objetivo del MIG, este inicia las VMs detenidas, si hay alguna disponible en las zonas en las que se amplía el MIG.
    3. Después de iniciar las VMs, si no se alcanza el tamaño objetivo del MIG, se crean VMs desde cero.

    Una vez que se ha usado el grupo de espera para acelerar el escalado horizontal, la MIG hace lo siguiente:

    1. Crea máquinas virtuales para reponer los grupos suspendidos y detenidos en función de sus tamaños objetivo y de acuerdo con la forma de distribución objetivo en el caso de un MIG regional.
    2. Pone las nuevas VMs en estado de ejecución.
    3. Suspende o detiene las nuevas VMs una vez transcurrido el tiempo de espera inicial.
  • Cuando tú o el escalador automático reducís el tamaño objetivo del MIG, este no detiene ni suspende automáticamente las VMs en ejecución, sino que las elimina.

Retraso inicial

Para asegurarte de que la máquina virtual se inicializa correctamente, especifica el retraso inicial en la política de espera. El retraso inicial es el tiempo que esperan las VMs antes de detenerse o suspenderse después de crearse. De esta forma, la secuencia de comandos de inicialización tiene tiempo para completarse.

El retraso inicial se produce en los siguientes casos:

  • Se crea una VM con el estado de destino previsto SUSPENDED o TERMINATED.
  • Una instancia que ya existe en el estado RUNNING se suspende o se detiene.

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

Si quieres usar el grupo de espera para acelerar el escalado horizontal de un MIG, te recomendamos que midas el tiempo que tarda tu aplicación en inicializarse en el tipo de máquina seleccionado para asegurarte de que sea suficiente para que la aplicación esté totalmente lista antes de suspenderse o detenerse. De lo contrario, reanudar o iniciar máquinas virtuales desde el grupo de espera puede llevar más tiempo que crear máquinas virtuales desde cero.

Estado de las VMs de destino en los MIGs

Los MIGs tienen una API declarativa. Esto significa que declaras el estado de destino de las VMs del MIG y que la solicitud a la API se completa correctamente cuando se guarda el estado de destino. A continuación, la MIG realiza las operaciones necesarias para alcanzar el estado de destino. Puedes consultar la acción actual y el estado actual de todas las VMs mediante la API.

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

Cuando listar las VMs gestionadas en un MIG, puedes ver el campo targetStatus. Describe el estado final de una VM cuando el MIG es estable. Puede tener uno de los siguientes valores:

  • RUNNING
  • STOPPED
  • SUSPENDED

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

  • Crea la nueva VM y suspéndela después de la inicialización.
    • Estado de destino de la VM: SUSPENDED.
  • Reanudar una máquina virtual que se haya suspendido previamente.
    • Estado de destino de la VM: RUNNING
  • Detener una VM que se haya ejecutado anteriormente.
    • Estado de destino de la VM: STOPPED
  • Inicia una VM que se haya detenido anteriormente.
    • Estado de destino de la VM: RUNNING

Limitaciones

  • Las siguientes limitaciones para suspender VMs independientes también se aplican a las VMs de un MIG:
    • No puedes suspender una instancia que use 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. No se pueden usar comandos como el comando systemctl suspend en Ubuntu 16.04 y versiones posteriores. La señal del invitado se ignora.
    • Solo puedes suspender una instancia durante un máximo de 60 días antes de que la VM se detenga automáticamente.
    • No puedes suspender instancias con más de 208 GB de memoria.
    • Puedes suspender instancias de VM preempresa, pero es posible que se terminen antes de que se suspendan correctamente.
    • No puedes suspender una VM confidencial.
    • No puedes suspender una VM que tenga discos protegidos con CSEK vinculados.
  • En un MIG regional con la forma de distribución de destino EVEN y la redistribución de instancias habilitada, no puedes suspender, detener, reanudar ni iniciar máquinas virtuales específicas del grupo. Para gestionar un grupo de espera, define los tamaños objetivo de los grupos suspendidos y detenidos.
  • No puedes usar el modo de grupo de escalado horizontal si has configurado una segunda plantilla de instancia para la actualización Canary en el MIG.
  • No puedes suspender ni detener VMs en un MIG si has desactivado las reparaciones en el MIG.
  • Solo puedes suspender una instancia durante un máximo de 60 días antes de que la VM se detenga automáticamente.

Precios

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

Siguientes pasos