Acerca de la reparación de máquinas virtuales para alta disponibilidad


Este documento describe cómo un grupo de instancias administrado (MIG) proporciona alta disponibilidad de su aplicación mediante la reparación de máquinas virtuales fallidas y en mal estado del grupo.

Un MIG mantiene su aplicación activa y disponible manteniendo proactivamente la cantidad de máquinas virtuales en ejecución en el grupo. Si una máquina virtual del grupo deja de funcionar, el MIG la repara recreándola de las siguientes maneras para que la máquina virtual vuelva a estar en servicio:

  • Reparar automáticamente una máquina virtual fallida : si una máquina virtual falla o se elimina mediante una acción no iniciada por el MIG, el MIG repara automáticamente la máquina virtual fallida. En este documento, consulte Reparar automáticamente una máquina virtual fallida .
  • Reparar una máquina virtual basándose en una verificación del estado de la aplicación : una forma opcional de mejorar aún más la alta disponibilidad mediante la reparación de máquinas virtuales en mal estado . Si configura una verificación de estado basada en aplicaciones y su aplicación no pasa la verificación de estado, entonces el MIG marca esa VM como en mal estado y la repara. La reparación de una máquina virtual basada en una verificación del estado de la aplicación también se denomina reparación automática . En este documento, consulte Reparar una máquina virtual según una verificación del estado de la aplicación .

Reparar automáticamente una VM fallida

Si una VM en un MIG falla, el MIG repara automáticamente la VM fallida recreándola. Una máquina virtual puede fallar por los siguientes motivos:

Si el MIG detiene intencionalmente una VM (por ejemplo, cuando un escalador automático elimina una VM), entonces el MIG no repara esa VM.

Reparar una VM basándose en una verificación del estado de la aplicación

Además de la reparación automática de máquinas virtuales fallidas, es posible que desee reparar una máquina virtual si la aplicación que se ejecuta en la máquina virtual se congela, falla o se queda sin memoria. Para asegurarse de que la aplicación responda como se esperaba, puede configurar una verificación de estado basada en la aplicación.

Una verificación de estado basada en aplicaciones verifica periódicamente que su aplicación en cada VM en un MIG esté respondiendo como se esperaba. Si la aplicación en una VM no responde, entonces el MIG marca esa VM como en mal estado. Luego, el MIG repara la máquina virtual en mal estado. La reparación de una máquina virtual basada en una verificación del estado de la aplicación se denomina reparación automática.

Para garantizar que MIG siga ejecutando un subconjunto de sus máquinas virtuales, el grupo nunca repara automáticamente todas sus máquinas virtuales al mismo tiempo. Esto es útil si, por ejemplo, una verificación de estado incorrecta desencadena reparaciones innecesarias, una regla de firewall mal configurada impide que una verificación de estado sondee la máquina virtual o hay problemas de infraestructura o conectividad de red que identifican erróneamente una máquina virtual en buen estado como en mal estado. Sin embargo, si un MIG zonal tiene solo una VM, o un MIG regional tiene solo una VM por zona, un MIG repara automáticamente estas VM cuando dejan de estar en buen estado.

Política de reparación automática

Cada MIG tiene una política de reparación automática en la que puede configurar una verificación de estado y también establecer un retraso inicial. El retraso inicial es el tiempo que tarda una nueva máquina virtual en inicializarse y ejecutar su script de inicio. El temporizador de retraso inicial comienza cuando el MIG cambia el campo currentAction de la VM a VERIFYING . Durante el período de retraso inicial de una VM, el MIG ignora las comprobaciones de estado fallidas porque la VM podría estar en el proceso de inicio. Esto evita que el MIG vuelva a crear una máquina virtual prematuramente. Si la verificación de estado recibe una respuesta saludable durante el retraso inicial, indica que el proceso de inicio está completo y la VM está lista.

Para obtener más información sobre cómo configurar una política de reparación automática, consulte Configurar una comprobación del estado de la aplicación y reparación automática .

Supervisar los cambios en el estado de salud de la aplicación

Si ha configurado una verificación de estado basada en aplicaciones en su MIG, puede verificar el estado de cada VM en el MIG. Para obtener más información, consulte Comprobar si las máquinas virtuales están en buen estado .

También puede monitorear los cambios en el estado de salud de una VM. Para obtener más información, consulte Supervisar los cambios en el estado de salud .

Precios

Cuando configuras una verificación de estado basada en aplicaciones, de forma predeterminada, Compute Engine escribe una entrada de registro cada vez que cambia el estado de salud de una instancia administrada.Cloud Logging proporciona una asignación gratuita por mes después de la cual el precio del registro se fija según el volumen de datos. Para evitar costos, puede desactivar los registros de cambios de estado de salud.

Comportamiento durante una reparación

Las siguientes secciones explican el comportamiento durante las reparaciones automáticas y las reparaciones basadas en la verificación del estado de la aplicación.

Actualización sobre reparación

De forma predeterminada, durante una reparación, un MIG recrea una VM utilizando la plantilla de instancia original que se usó para crear la VM. Por ejemplo, si se creó una máquina virtual usando instance-template-a y luego actualiza el MIG para usar instance-template-b en modo OPPORTUNISTIC , el MIG aún usa instance-template-a para recrear la máquina virtual.

Si desea que su MIG utilice la plantilla de instancia más reciente y las configuraciones por instancia durante la reparación de VM, puede configurar el grupo para aplicar actualizaciones de configuración durante las reparaciones .

Manejo de disco

Durante una reparación, al recrear una VM según su plantilla, el MIG maneja diferentes tipos de discos de manera diferente. Algunas configuraciones de disco pueden provocar que falle la reparación al intentar recrear una máquina virtual.

tipo de disco autodelete Comportamiento durante una reparación
Nuevo disco persistente true El disco se recrea según lo especificado en la plantilla de instancia. Cualquier dato escrito en ese disco se pierde cuando se recrean el disco y su VM.
Nuevo disco persistente false El disco se conserva y se vuelve a conectar cuando MIG recrea la VM.
Disco persistente existente true Se elimina el disco antiguo. La operación de recreación de VM falla porque Compute Engine no puede volver a conectar un disco eliminado a la VM. Sin embargo, para los discos de lectura/escritura existentes, un MIG solo puede tener hasta una VM porque un único disco persistente no se puede conectar a varias VM en modo de lectura/escritura.
Disco persistente existente false El disco antiguo se vuelve a conectar según lo especificado en la plantilla de instancia. Los datos del disco se conservan. Sin embargo, para los discos de lectura/escritura existentes, un MIG solo puede tener hasta una VM porque un único disco persistente no se puede conectar a varias VM en modo de lectura/escritura.
Nuevo SSD local N / A El disco se recrea según lo especificado en la plantilla de instancia. Los datos de un SSD local se pierden cuando se recrea o elimina una VM.

MIG no vuelve a conectar discos que no estén especificados en la plantilla de instancia o en las configuraciones por instancia, como los discos que adjuntó a una VM manualmente después de que se creó la VM.

Para conservar datos importantes escritos en el disco, tome precauciones como las siguientes:

Si sus máquinas virtuales tienen configuraciones importantes que desea conservar, Google también recomienda que utilice una imagen personalizada en su plantilla de instancia. Una imagen personalizada contiene cualquier configuración personalizada que necesite. Cuando especifica una imagen personalizada en su plantilla de instancia, MIG recrea las máquinas virtuales utilizando la imagen personalizada que contiene la configuración personalizada que necesita.

Desactivar reparaciones

Puede desactivar las reparaciones que realiza automáticamente un MIG. Cuando desactiva las reparaciones, se desactivan la reparación de máquinas virtuales fallidas y la reparación basada en una verificación del estado de la aplicación.

Es posible que desee desactivar las reparaciones en un MIG en escenarios como los siguientes:

  • Para investigar o depurar una máquina virtual fallida sin interrumpir la reparación automática.
  • Para reparar máquinas virtuales manualmente o implementar su propia lógica de reparación.
  • Para evitar el registro de nuevas máquinas virtuales mientras hay un trabajo por lotes en curso.
  • Para observar los estados de salud de las aplicaciones sin reparar una máquina virtual en mal estado.
  • Para ajustar la configuración de verificación de estado sin reparaciones que activen falsamente.

Cuando desactiva las reparaciones, el MIG no realiza ninguna acción si una máquina virtual del grupo falla o deja de funcionar. Las máquinas virtuales fallidas y en mal estado siguen estando en el grupo y el número objetivo de máquinas virtuales en ejecución en el MIG ( targetSize ) sigue siendo el mismo.

Si el tipo de actualización del MIG está configurado como proactive y hay una nueva plantilla de instancia disponible, entonces el MIG intenta actualizar las máquinas virtuales fallidas y en mal estado.

Si ha configurado una verificación de estado basada en aplicaciones, desactivar las reparaciones no afecta el funcionamiento de la verificación de estado. La verificación de estado continúa sondeando la aplicación y proporcionando los estados de salud de la VM. Esto le permite monitorear el estado de salud de las aplicaciones y al mismo tiempo evitar que MIG repare las máquinas virtuales en mal estado.

Si el MIG es parte de un servicio backend de un balanceador de carga y desactiva las reparaciones en el MIG, cualquier máquina virtual fallida y en mal estado no reparada no responde a la verificación de estado del balanceador de carga. Si aumenta la cantidad de estas máquinas virtuales fallidas o en mal estado en el MIG, el equilibrador de carga podría reducir el tráfico a ese MIG o cambiar a otro backend, si está configurado. Cuando las máquinas virtuales fallidas vuelven a estar disponibles, el equilibrador de carga reanuda el tráfico hacia el MIG.

Para obtener más información, consulte Desactivar reparaciones en un MIG .

¿Qué sigue?