Ciclo de vida de las instancias de VM

En este documento, se describe el ciclo de vida de una sola instancia de máquina virtual (VM), desde su creación hasta su posible eliminación.

Una instancia de VM puede pasar por muchos estados como parte de su ciclo de vida. Cuando creas una VM, Compute Engine aprovisiona recursos para iniciarla. Luego, la VM pasa a la etapa de pruebas, en la que se prepara para el primer inicio. Durante y después del inicio, se considera que una VM está en ejecución. Durante su vida útil, una instancia en ejecución se puede detener y reiniciar o suspender y reanudar varias veces.

Una VM puede estar en uno de los siguientes estados:

  • PROVISIONING: se asignan los recursos para la VM. La VM aún no se está ejecutando.
  • STAGING: se adquieren los recursos y la VM se prepara para el primer inicio.
  • RUNNING. La instancia se está iniciando o ejecutando.
  • STOPPING: la VM se detiene. Solicitaste una parada o se produjo un error. Este es un estado temporal después del cual la VM ingresa en el estado TERMINATED.
  • REPAIRING: la VM se está reparando. La reparación se produce cuando la VM experimenta un error interno o la máquina subyacente no está disponible debido al mantenimiento. Durante este momento, la instancia no se puede usar. Si la reparación se realiza con éxito, la VM vuelve a uno de los estados anteriores.
  • TERMINATED: la VM se detiene. Detuviste la VM, o esta encontró una falla. Puedes reiniciar o borrar la VM.
  • SUSPENDING: la VM está en proceso de suspensión. Suspendiste la VM.
  • SUSPENDED: la VM está en estado suspendido. Puedes reanudar la VM o borrarla.

En el siguiente diagrama, se muestra la transición entre cada estado de la VM:

Ciclo de vida de las instancias de VM.

Detén, suspende o restablece una VM

Puedes detener o suspender una VM si ya no la necesitas, pero deseas conservarla para usarla en el futuro. Tu decisión de detener o suspender una VM depende de si necesitas conservar su memoria del SO invitado y su estado de aplicación.

Cuando suspendas o detengas una VM, considera lo siguiente:

  • No se generan costos por una VM suspendida o detenida.
  • Pagas por los recursos que aún están conectados a una VM suspendida o detenida, como IP estáticas y datos de disco persistente.
  • Las direcciones IP externas efímeras se liberan de la VM. Cuando reinicias o reanudas la VM, Google asigna nuevas direcciones IP externas efímeras. Si dependes de que una dirección IP externa efímera permanezca igual durante los reinicios, debes promover la IP externa efímera.
  • Se conservan direcciones IP externas estáticas.

Detén una VM

Si se detiene una VM, Compute Engine envía la señal de apagado de ACPI a la VM. Los sistemas operativos invitados modernos están configurados para realizar un cierre ordenado antes de apagarse en respuesta a la señal de apagado. Compute Engine espera a que el sistema invitado finalice el cierre y, luego, pasa la VM al estado TERMINATED.

Es posible que quieras detener una VM por varias razones:

  • Ya no necesitas la VM, pero quieres los recursos conectados a ella, como sus IP internas, direcciones MAC y discos persistentes.
  • No necesitas mantener la memoria del SO invitado, el estado del dispositivo ni el estado de la aplicación.
  • Deseas modificar algunas propiedades de la VM que requieren que primero detengas la VM.

Puedes reiniciar una VM finalizada cuando necesites usarla de nuevo.

Suspende una VM

La suspensión de una VM envía una señal de suspensión A3 de ACPI al sistema operativo de la VM. Suspender una VM es análogo a cerrar la tapa de tu laptop o poner la VM en un estado suspendido. Cuando suspendes una VM, pasa al estado SUSPENDED.

Es posible que quieras suspender una VM por las siguientes razones:

  • En este momento, no necesitas la VM, pero quieres ser capaz de volver a ponerla en marcha rápidamente con su SO y el estado de las aplicaciones ya inicializados.
  • No tiene que pagar por Google para conservar el estado de su VM.

Puedes reanudar una VM suspendida cuando necesites usarla de nuevo.

Restablece una VM

De forma alternativa, puedes restablecer una VM para limpiar el contenido de la memoria de la VM y restablecer la VM a su estado inicial. Cuando restableces una VM, se produce un reinicio forzado inmediato de la VM. La VM no cierra correctamente el SO invitado. Sin embargo, la VM conserva todos los datos de discos persistentes y no cambia ninguna de las propiedades de la VM. La VM permanece en el estado RUNNING durante el restablecimiento.

Tabla de comparación

En la siguiente tabla, se muestra cómo detener, suspender y restablecer una VM afecta la VM y sus recursos:

Detención Suspensión Restablecimiento
Facturación Google no cobra por los recursos de VM mientras están en estado TERMINATED. Google cobra por almacenar el estado conservado de las VM suspendidas. Debido a que la VM permanece en el estado RUNNING cuando se restablece, Google cobra por las VM según los precios de VM estándar.
Estado de la VM TERMINATED SUSPENDED RUNNING
Discos persistentes Los discos persistentes se conservan, incluso cuando están marcados para la eliminación automática.

Se te cobra por un disco persistente asociado con una VM detenida, de la misma manera que se te cobra por un disco persistente que no está asociado con una VM.
Los discos persistentes se conservan, incluso cuando están marcados para la eliminación automática.

Se te cobra por un disco persistente asociado con una VM detenida, de la misma manera que se te cobra por un disco persistente que no está asociado con una VM.
Los discos persistentes se conservan, incluso cuando están marcados para la eliminación automática.

Se te cobrará por los discos persistentes siempre que la VM permanezca en un estado RUNNING.
Estado de la VM y RAM Se restablece al estado de encendido, no se guardan datos. El SO invitado y el estado de la aplicación se conservan y se restablecen cuando se reanuda la VM.
Se te cobra una tarifa específica por almacenar datos conservados. Para obtener más información, consulta Facturación de instancias suspendidas.
Se restablece al estado de encendido, no se guardan datos.
GPU No se cobra por GPU cuando la VM se detiene.

Una GPU conectada a una VM TERMINATED no cuenta para la cuota de tu proyecto.
No compatible.

Si una GPU está vinculada a una VM, no puedes suspenderla.
Se te cobrarán los precios de GPU estándar.
SSD locales No compatible.

No puedes detener una VM que tenga una SSD local adjunto.
No compatible.

Puedes suspender una VM que tenga un SSD local, pero debes descartar los datos de SSD locales en el proceso de forma explícita.
Los SSD locales se conservan.
IP efímeras externas Las IP efímeras se liberan cuando se detiene una VM, pero se adquiere una dirección IP efímera nueva cuando la VM se reinicia. Las IP efímeras se liberan cuando se suspende una VM, pero se adquiere una dirección IP efímera nueva cuando la VM se reinicia. Las IP efímeras se liberan cuando la VM se restablece, pero se adquiere una dirección IP efímera nueva cuando la VM se reinicia.
IP estáticas externas Las IP estáticas externas se conservan.

Las IP estáticas que se asignan a las VM en el estado TERMINATED se cobran como si no estuvieran conectadas a ninguna VM. Para obtener más información, consulta Precios.
Las IP estáticas externas se conservan.

Las IP estáticas asignadas a las VM en el estado TERMINATED se cobran como si no estuvieran conectadas a ninguna VM. Para obtener más información, consulta Precios.
Las IP estáticas externas se conservan.
IP internas o direcciones MAC Las IP internas y las direcciones MAC se conservan. Las IP internas y las direcciones MAC se conservan. Las IP internas se liberan cuando se borra una VM.

Las direcciones MAC se generan en función de la IP interna. Si deseas volver a usar la dirección MAC, establece la misma dirección IP interna o usa una IP interna reservada.
Metadatos de VM Los metadatos de VM se conservan. Los metadatos de VM se conservan. Los metadatos de VM se conservan.

Verifica el estado de una VM

Cada VM informa su estado como parte de las propiedades de la VM. Verifica el estado de una VM en las siguientes circunstancias:

  • Tienes problemas con la VM.
  • Acaba de iniciar la VM y quiere confirmar que la VM está en ejecución.
  • Deseas confirmar que la VM se suspendió o se detuvo (es decir, en el estado TERMINATED).

Para enumerar todas las VM y sus estados, usa el siguiente comando:

gcloud compute instances list

Para describir el estado de una sola instancia, usa este comando:

gcloud compute instances describe example-instance

¿Qué sigue?