Acerca de la reparación de las VM para alta disponibilidad


En este documento, se describe cómo un grupo de instancias administrado (MIG) proporciona alta disponibilidad de tu aplicación a través de la reparación de las VMs con errores y en mal estado del grupo.

Un MIG mantiene tu aplicación en funcionamiento y disponible a través del mantenimiento proactivo de la cantidad de VMs en ejecución en el grupo. Si una VM del grupo deja de funcionar, el MIG repara la VM recreándola de las siguientes maneras para que vuelva a estar en servicio:

  • Reparación automática de una VM con errores: Si una VM falla o se borra a través de una acción que no inició el MIG, el MIG repara automáticamente la VM con errores. En este documento, consulta Repara una VM con errores automáticamente.
  • Repara una VM según una verificación de estado de la aplicación: Una forma opcional de mejorar aún más la alta disponibilidad a través de la reparación de las VMs en mal estado. Si configuras una verificación de estado basada en la aplicación y esta falla, el MIG marca esa VM como en mal estado y la repara. La reparación de una VM basada en una verificación de estado de la aplicación también se denomina reparación automática. En este documento, consulta Repara una VM según una verificación de estado de la aplicación.

Repara automáticamente una VM con errores

Si una VM de un MIG falla, este repara la VM con errores automáticamente a través de su recreación. Una VM puede fallar por los siguientes motivos:

Si el MIG detiene una VM de forma intencional (por ejemplo, cuando un escalador automático borra una VM), el MIG no la repara.

Repara automáticamente una VM según una verificación de estado de la aplicación

Además de la reparación automática de las VMs con errores, es posible que desees reparar una VM si la aplicación que se ejecuta en la VM se congela, falla o se queda sin memoria. Para asegurarte de que la aplicación responda como se espera, puedes configurar una verificación de estado basada en la aplicación.

Una verificación de estado basada en la aplicación verifica de forma periódica que la aplicación en cada VM de un MIG responda como se espera. Si la aplicación en una VM no responde, el MIG marca esa VM como en mal estado. Luego, el MIG repara la VM en mal estado. La reparación de una VM basada en la verificación de estado de la aplicación se denomina reparación automática.

Para garantizar que el MIG siga ejecutando un subconjunto de sus VMs, el grupo nunca repara automáticamente todas sus instancias. Esto es útil, por ejemplo, si una verificación de estado incorrecta activa reparaciones innecesarias, una regla de firewall mal configurada impide que una verificación de estado sondee la VM o haya problemas de infraestructura o conectividad de red que identifiquen de forma errónea que una VM en buen estado está en mal estado. Sin embargo, si un MIG zonal tiene solo una VM o un MIG regional tiene solo una VM por zona, el MIG vuelve a crear estas VMs cuando están en mal estado.

Política de reparación automática

Cada MIG tiene una política de reparación automática en la que puedes configurar una verificación de estado y también un retraso inicial. El retraso inicial es el tiempo que tarda una VM nueva en inicializar y ejecutar su secuencia de comandos 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 verificaciones de estado fallidas porque la VM puede estar en el proceso de inicio. Esto evita que MIG vuelva a crear una VM de forma prematura. Si la verificación de estado recibe una respuesta en buen estado durante el retraso inicial, indica que el proceso de inicio está completo y que la VM está lista.

Para obtener más información sobre cómo configurar una política de reparación automática, consulta Configura la verificación de estado y la reparación automática de una aplicación.

Supervisa los cambios de estado de la aplicación

Si configuraste una verificación de estado basada en la aplicación para tu MIG, puedes verificar el estado de cada VM en el MIG. Para obtener más información, consulta Verifica si las VMs están en buen estado.

También puedes supervisar los cambios en el estado de una VM. Para obtener más información, consulta Supervisa los cambios de estado de la 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 una instancia administrada. Cloud Logging proporciona una asignación gratuita por mes, después de la cual el precio de los registros se calcula según el volumen de datos. Para evitar costos, puedes inhabilitar los registros de cambios de estado.

Comportamiento durante una reparación

En las siguientes secciones, se explica el comportamiento durante las reparaciones automáticas y las reparaciones basadas en la verificación de estado de la aplicación.

Actualización en la reparación

De forma predeterminada, durante una reparación, un MIG recrea una VM con la plantilla de instancia original que se usó para crearla. Por ejemplo, si se creó una VM con instance-template-a y, luego, actualizas el MIG para usar instance-template-b en modo OPPORTUNISTIC, el MIG aún usa instance-template-a para volver a crear la VM.

Si deseas que el MIG use la plantilla de instancias más reciente y la configuración por instancia durante la reparación de la VM, puedes configurar el grupo para Aplicar actualizaciones de configuración durante las reparaciones.

Manipulación de los discos

Durante una reparación, cuando se vuelve a crear una VM en función de su plantilla, el MIG maneja los distintos tipos de discos de manera diferente. Algunos parámetros de configuración de disco pueden causar una falla en la reparación cuando se intenta volver a crear una VM.

Tipo de disco autodelete Comportamiento durante una reparación
Disco persistente nuevo true Se vuelve a crear el disco según lo especificado en la plantilla de la instancia. Se perderá cualquier dato escrito en ese disco cuando se vuelva a crear el disco y su VM.
Disco persistente nuevo false Se conserva el disco y se lo vuelve a conectar cuando el MIG vuelve a crear la VM.
Disco persistente existente true Se borra el disco antiguo. La operación de recreación de VM falla porque Compute Engine no puede volver a conectar un disco borrado en la VM. Sin embargo, para los discos de lectura y escritura existentes, un MIG puede tener solo una VM porque no se puede conectar un disco persistente a varias VM en modo de lectura y escritura.
Disco persistente existente false Se vuelve a conectar el disco anterior según lo especificado en la plantilla de instancias. Se conservan los datos en el disco. Sin embargo, para los discos de lectura y escritura existentes, un MIG puede tener solo una VM porque no se puede conectar un disco persistente a varias VM en modo de lectura y escritura.
Disco SSD local nuevo N/A Se vuelve a crear el disco según lo especificado en la plantilla de la instancia. Los datos en un SSD local se pierden cuando se vuelve a crear o se borra una VM.

El MIG no vuelve a conectar los discos que no se especificaron en la plantilla de la instancia ni en las configuraciones por instancia, como los discos que conectaste a una VM de forma manual después de que se creó.

Para conservar los datos importantes escritos en un disco, toma las siguientes precauciones:

Si tus VM tienen parámetros de configuración importantes que deseas conservar, Google también recomienda que uses una imagen personalizada en tu plantilla de instancia. Una imagen personalizada contiene cualquier configuración personalizada que necesites. Cuando especificas una imagen personalizada en tu plantilla de instancia, el MIG vuelve a crear las VMs con la imagen personalizada que contiene la configuración personalizada que necesitas.

Desactiva las reparaciones

Puedes desactivar las reparaciones que realiza un MIG automáticamente. Cuando desactivas las reparaciones, se desactivan las reparaciones de las VMs con errores y las reparaciones basadas en una verificación de estado de la aplicación.

Es posible que desees desactivar las reparaciones en un MIG en situaciones como las siguientes:

  • Para investigar o depurar una VM con errores sin interrupciones de la reparación automática.
  • Para reparar las VMs de forma manual o implementar tu propia lógica de reparación.
  • Para evitar registrar nuevas VMs mientras un trabajo por lotes está en curso.
  • Para observar los estados de la aplicación sin reparar una VM en mal estado.
  • Para ajustar la configuración de la verificación de estado sin activar reparaciones falsas.

Cuando desactivas las reparaciones, el MIG no realiza ninguna acción si una VM del grupo falla o se vuelve inestable. Las VMs con errores y en mal estado continúan en el grupo, y la cantidad objetivo de VM en ejecución en el MIG (targetSize) sigue siendo la misma.

Si el tipo de actualización del MIG está configurado como proactive y hay una plantilla de instancia nueva disponible, el MIG intenta actualizar las VMs con errores y en mal estado.

Si configuraste una verificación de estado basada en la aplicación, apagar las reparaciones no afecta el funcionamiento de la verificación de estado. La verificación de estado sigue sondeando la aplicación y proporciona los estados de la VM. Esto te permite supervisar los estados de la aplicación y, al mismo tiempo, evitar que el MIG repare las VMs en mal estado.

Si el MIG es parte de un servicio de backend de un balanceador de cargas y desactivas las reparaciones en el MIG, las VMs con errores y sin reparación no responden a la verificación de estado del balanceador de cargas. Si la cantidad de estas VMs con errores o en mal estado en el MIG aumenta, el balanceador de cargas puede reducir el tráfico a ese MIG o cambiar a otro backend, si está configurado. Cuando las VMs con errores vuelven a estar disponibles, el balanceador de cargas reanuda el tráfico hacia el MIG.

Para obtener más información, consulta Cómo desactivar las reparaciones en un MIG.

¿Qué sigue?