Este documento describe cómo configurar una verificación de estado basada en aplicaciones para reparar automáticamente las máquinas virtuales en un grupo de instancias administrado (MIG). También describe cómo hacer lo siguiente: usar una verificación de estado sin reparación automática, eliminar una verificación de estado, ver la política de reparación automática y verificar el estado de cada VM.
Puede configurar una verificación de estado basada en la aplicación para verificar que su aplicación en una VM esté respondiendo como se esperaba. Si la verificación de estado que configura detecta que su aplicación en una VM no responde, entonces el MIG marca esa VM como en mal estado y la repara. La reparación de una máquina virtual basándose en una verificación de estado basada en la aplicación se denomina reparación automática .
También puede desactivar las reparaciones en un MIG para poder utilizar una verificación de estado sin activar la reparación automática.
Para obtener más información sobre las reparaciones en un MIG, consulte Acerca de la reparación de máquinas virtuales para alta disponibilidad .
Antes de comenzar
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Cree un control de salud , si aún no lo ha hecho.
- Configure una política de reparación automática en el MIG para aplicar la verificación de estado.
Cree una verificación de estado para la reparación automática que sea más conservadora que una verificación de estado de equilibrio de carga .
Por ejemplo, cree una comprobación de estado que busque una respuesta en el puerto
80
y que pueda tolerar algún error antes de marcar las máquinas virtuales comoUNHEALTHY
y provocar que se vuelvan a crear. En este ejemplo, una máquina virtual se marca como saludable si la verificación de estado se realiza correctamente una vez. La máquina virtual se marca como en mal estado si la verificación de estado no se realiza correctamente3
veces consecutivas.En la consola de Google Cloud, vaya a la página Crear una verificación de estado .
Asigne un nombre a la comprobación de estado, como
example-check
.Seleccione un alcance . Puede seleccionar Regional o Global . Para este ejemplo, seleccione Global .
Para Protocolo , asegúrese de que HTTP esté seleccionado.
Para Puerto , ingrese
80
.En la sección Criterios de salud , proporcione los siguientes valores:
- Para Comprobar intervalo , ingrese
5
. - Para Tiempo de espera , ingrese
5
. - Establezca un umbral de estado saludable para determinar cuántas comprobaciones de estado exitosas consecutivas se deben devolver antes de que una máquina virtual en mal estado se marque como saludable. Introduzca
1
para este ejemplo. - Establezca un umbral en mal estado para determinar cuántas comprobaciones de estado fallidas consecutivas se deben devolver antes de que una máquina virtual en buen estado se marque como en mal estado. Introduzca
3
para este ejemplo.
- Para Comprobar intervalo , ingrese
Haga clic en Crear para crear la verificación de estado.
Cree una regla de firewall para permitir que las sondas de verificación de estado se conecten a su aplicación.
Las sondas de verificación de estado provienen de direcciones en los rangos
130.211.0.0/22
y35.191.0.0/16
, así que asegúrese de que las reglas del firewall de su red permitan que se conecte la verificación de estado. Para este ejemplo, el MIG utiliza la reddefault
y sus máquinas virtuales escuchan en el puerto80
. Si el puerto80
aún no está abierto en la red predeterminada, cree una regla de firewall.En la consola de Google Cloud, vaya a la página de políticas de Firewall .
Haga clic en Crear regla de firewall .
Ingrese un nombre para la regla de firewall. Por ejemplo,
allow-health-check
.Para Red , seleccione la red
default
.Para Destinos , seleccione
All instances in the network
.Para Filtro de origen , seleccione
IPv4 ranges
.Para rangos de IPv4 de origen , ingrese
130.211.0.0/22
y35.191.0.0/16
.En Protocolos y puertos , seleccione Protocolos y puertos especificados y haga lo siguiente:
- Seleccione TCP .
- En el campo Puertos , ingrese
80
.
Haga clic en Crear .
Cree una verificación de estado para la reparación automática que sea más conservadora que una verificación de estado de equilibrio de carga .
Por ejemplo, cree una comprobación de estado que busque una respuesta en el puerto
80
y que pueda tolerar algún error antes de marcar las máquinas virtuales comoUNHEALTHY
y provocar que se vuelvan a crear. En este ejemplo, la VM se marca como saludable si regresa exitosamente una vez. La máquina virtual se marca como en mal estado si regresa sin éxito3
veces consecutivas. El siguiente comando crea una verificación de estado global.gcloud compute health-checks create http example-check --port 80 \ --check-interval 30s \ --healthy-threshold 1 \ --timeout 10s \ --unhealthy-threshold 3 \ --global
Cree una regla de firewall para permitir que las sondas de verificación de estado se conecten a su aplicación.
Las sondas de verificación de estado provienen de direcciones en los rangos
130.211.0.0/22
y35.191.0.0/16
, así que asegúrese de que las reglas de su firewall permitan que se conecte la verificación de estado. Para este ejemplo, el MIG utiliza la reddefault
y sus máquinas virtuales escuchan en el puerto80
. Si el puerto80
aún no está abierto en la red predeterminada, cree una regla de firewall.gcloud compute firewall-rules create allow-health-check \ --allow tcp:80 \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --network default
Cree una verificación de estado utilizando el recurso
google_compute_http_health_check
.Por ejemplo, cree una comprobación de estado que busque una respuesta en el puerto
80
y que pueda tolerar algún error antes de marcar las máquinas virtuales comoUNHEALTHY
y provocar que se vuelvan a crear. En este ejemplo, una máquina virtual se marca como saludable si regresa exitosamente una vez. La máquina virtual se marca como en mal estado si regresa sin éxito3
veces consecutivas. La siguiente solicitud crea una verificación de estado global.Cree un firewall utilizando el recurso
google_compute_firewall
.Las sondas de verificación de estado provienen de direcciones en los rangos
130.211.0.0/22
y35.191.0.0/16
, así que asegúrese de que las reglas de su firewall permitan que se conecte la verificación de estado. Para este ejemplo, el MIG utiliza la reddefault
y sus máquinas virtuales escuchan en el puerto80
. Si el puerto80
aún no está abierto en la red predeterminada, cree una regla de firewall.Cree una verificación de estado para la reparación automática que sea más conservadora que una verificación de estado de equilibrio de carga.
Por ejemplo, cree una comprobación de estado que busque una respuesta en el puerto
80
y que pueda tolerar algún error antes de marcar las máquinas virtuales comoUNHEALTHY
y provocar que se vuelvan a crear. En este ejemplo, una máquina virtual se marca como saludable si regresa exitosamente una vez. La máquina virtual se marca como en mal estado si regresa sin éxito3
veces consecutivas. La siguiente solicitud crea una verificación de estado global.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks { "name": "example-check", "type": "http", "port": 80, "checkIntervalSec": 30, "healthyThreshold": 1, "timeoutSec": 10, "unhealthyThreshold": 3 }
Cree una regla de firewall para permitir que las sondas de verificación de estado se conecten a su aplicación.
Las sondas de verificación de estado provienen de direcciones en los rangos
130.211.0.0/22
y35.191.0.0/16
, así que asegúrese de que las reglas de su firewall permitan que se conecte la verificación de estado. Para este ejemplo, el MIG utiliza la reddefault
y sus máquinas virtuales escuchan en el puerto80
. Si el puerto80
aún no está abierto en la red predeterminada, cree una regla de firewall.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "allow-health-check", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default", "sourceRanges": [ "130.211.0.0/22", "35.191.0.0/16" ], "allowed": [ { "ports": [ "80" ], "IPProtocol": "tcp" } ] }
Reemplace
PROJECT_ID
con el ID de su proyecto .- Si aún no tiene un control de estado, cree uno .
- Si desea evitar la activación falsa de la reparación automática mientras configura una nueva verificación de estado, primero debe desactivar las reparaciones en el MIG y luego configurar la política de reparación automática.
En la consola de Google Cloud, vaya a la página de grupos de instancias .
En la columna Nombre de la lista, haga clic en el nombre del MIG en el que desea aplicar la verificación de estado.
Haga clic en Editar para modificar este MIG.
En la sección Ciclo de vida de la instancia de VM , en Reparación automática , seleccione una verificación de estado global o regional.
Cambie o mantenga la configuración de retardo inicial .
El retraso inicial es la cantidad de segundos que tarda una nueva VM en inicializarse y ejecutar su script de inicio. 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. El temporizador de retraso inicial comienza cuando el campo
currentAction
de la VM cambia aVERIFYING
. El valor del retraso inicial debe estar entre 0 y 3600 segundos. En la consola, el valor predeterminado es 300 segundos.Haga clic en Guardar para aplicar sus cambios.
-
MIG_NAME
: el nombre del MIG en el que desea configurar la reparación automática. -
SIZE
: La cantidad de máquinas virtuales en el grupo. -
INSTANCE_TEMPLATE_URL
: la URL parcial de la plantilla de instancia que desea utilizar para crear las máquinas virtuales en el grupo. Por ejemplo:- Plantilla de instancia regional:
projects/example-project/regions/us-central1/instanceTemplates/example-template
. - Plantilla de instancia global:
projects/example-project/global/instanceTemplates/example-template
.
- Plantilla de instancia regional:
-
HEALTH_CHECK_URL
: la URL parcial de la verificación de estado que desea configurar para la reparación automática. Si desea utilizar una verificación de salud regional, debe proporcionar la URL parcial de la verificación de salud regional. Por ejemplo:- Verificación de salud regional:
projects/example-project/regions/us-central1/healthChecks/example-health-check
. - Comprobación de salud global:
projects/example-project/global/healthChecks/example-health-check
.
- Verificación de salud regional:
-
INITIAL_DELAY
: la cantidad de segundos que tarda una nueva VM en inicializarse y ejecutar su script de inicio. 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. El temporizador de retraso inicial comienza cuando el campocurrentAction
de la VM cambia aVERIFYING
. El valor del retraso inicial debe estar entre0
y3600
segundos. El valor predeterminado es0
. -
ZONE
: La zona donde se encuentra el MIG. Para un MIG regional, utilice la bandera--region
. - Para un MIG zonal, utilice el método
instanceGroupManager.patch
. - Para un MIG regional, utilice el método
regionInstanceGroupManager.patch
. - Para un MIG zonal, utilice el método
instanceGroupManager.insert
. - Para un MIG regional, utilice el método
regionInstanceGroupManager.insert
. -
PROJECT_ID
: Su ID de proyecto . -
MIG_NAME
: el nombre del MIG en el que desea configurar la reparación automática. -
SIZE
: La cantidad de máquinas virtuales en el grupo. -
INSTANCE_TEMPLATE_URL
: la URL parcial de la plantilla de instancia que desea utilizar para crear las máquinas virtuales en el grupo. Por ejemplo:- Plantilla de instancia regional:
projects/example-project/regions/us-central1/instanceTemplates/example-template
. - Plantilla de instancia global:
projects/example-project/global/instanceTemplates/example-template
.
- Plantilla de instancia regional:
-
HEALTH_CHECK_URL
: la URL parcial de la verificación de estado que desea configurar para la reparación automática. Por ejemplo:- Verificación de salud regional:
projects/example-project/regions/us-central1/healthChecks/example-health-check
. - Comprobación de estado global:
projects/example-project/global/healthChecks/example-health-check
.
- Verificación de salud regional:
-
INITIAL_DELAY
: la cantidad de segundos que tarda una nueva VM en inicializarse y ejecutar su script de inicio. 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. El temporizador de retraso inicial comienza cuando el campocurrentAction
de la VM cambia aVERIFYING
. El valor del retraso inicial debe estar entre0
y3600
segundos. El valor predeterminado es0
. -
ZONE
: La zona donde se encuentra el MIG. Para un MIG regional, utiliceregions/ REGION
en la URL. - Retraso de 10 minutos antes de que la reparación automática comience a monitorear las máquinas virtuales en el grupo
- + 5 minutos para el retraso inicial configurado
- + 1 minuto para el intervalo de control * umbral saludable (60 s * 1)
- = 16 minutos antes de que la máquina virtual se marque como saludable o se vuelva a crear
En la consola de Google Cloud, vaya a la página de grupos de instancias .
- Haga clic en el nombre del MIG del que desea eliminar la verificación de estado.
- Haga clic en Editar para modificar este MIG.
- En la sección Ciclo de vida de la instancia de VM , en Reparación automática , seleccione Sin verificación de estado .
- Haga clic en Guardar para aplicar los cambios.
- Para un MIG zonal, utilice el método
instanceGroupManagers.patch
- Para un MIG regional, utilice el método
regionInstanceGroupManagers.patch
-
PROJECT_ID
: Su ID de proyecto . -
MIG_NAME
: el nombre del MIG en el que desea configurar la reparación automática. -
ZONE
: La zona donde se encuentra el MIG. Para un MIG regional, utiliceregions/ REGION
. En la consola de Google Cloud, vaya a la página de grupos de instancias .
Haga clic en el nombre del MIG del que desea ver la política de reparación automática.
Vaya a la pestaña Detalles .
En la sección Ciclo de vida de la instancia de VM , el campo Reparación automática muestra la verificación de estado y el retraso inicial configurado en la política de reparación automática.
- Para un MIG zonal, utilice el método
instanceGroupManagers.get
- Para un MIG regional, utilice el método
regionInstanceGroupManagers.get
-
PROJECT_ID
: Su ID de proyecto . -
MIG_NAME
: el nombre del MIG en el que desea configurar la reparación automática. -
ZONE
: La zona donde se encuentra el MIG. Para un MIG regional, utiliceregions/ REGION
. - Comprobar si las máquinas virtuales están en buen estado
- Verifique las acciones actuales en las VM
- Compruebe si el MIG es estable
- Identifique las máquinas virtuales en mal estado que no se están reparando. Es posible que una máquina virtual no se repare inmediatamente incluso si se le ha diagnosticado que no está en buen estado en las siguientes situaciones:
- La máquina virtual todavía se está iniciando y su retraso inicial no ha pasado.
- Se está reparando una parte importante de los casos en mal estado. El MIG retrasa aún más la reparación automática para garantizar que el grupo siga ejecutando un subconjunto de instancias.
- Detectar errores de configuración de verificación de estado. Por ejemplo, puede detectar reglas de firewall mal configuradas o un punto final de verificación del estado de la aplicación no válido si la instancia informa un estado de
TIMEOUT
. - Determine el valor de retraso inicial a configurar midiendo la cantidad de tiempo entre el momento en que la máquina virtual pasa a un estado
RUNNING
y el momento en que la máquina virtual pasa a un estado de saludHEALTHY
. Puede medir esta brecha sondeando el métodolist-instances
u observando el tiempo entre la operacióninstances.insert
y la primera señal saludable recibida. En la consola de Google Cloud, vaya a la página de grupos de instancias .
En la columna Nombre de la lista, haga clic en el nombre del MIG que desea examinar. Se abre una página con las propiedades del grupo de instancias y una lista de máquinas virtuales que están incluidas en el grupo.
Si una máquina virtual no está en buen estado, puede ver su estado en la columna Estado de verificación de estado .
-
HEALTHY
: Se puede acceder a la máquina virtual, se puede establecer una conexión con el punto final de verificación de estado de la aplicación y la respuesta se ajusta a los requisitos definidos por la verificación de estado. -
DRAINING
: La máquina virtual se está drenando. Las conexiones existentes a la máquina virtual tienen tiempo de completarse, pero se rechazan las nuevas conexiones. -
UNHEALTHY
: Se puede acceder a la máquina virtual, pero no cumple con los requisitos definidos por la verificación de estado. -
TIMEOUT
: no se puede acceder a la máquina virtual, no se puede establecer una conexión con el punto final de verificación del estado de la aplicación o el servidor de una máquina virtual no responde dentro del tiempo de espera especificado. Por ejemplo, esto puede deberse a reglas de firewall mal configuradas o a una aplicación de servidor sobrecargada en una máquina virtual. -
UNKNOWN
: El sistema de verificación de estado no conoce la máquina virtual o no se conoce su estado en este momento. El inicio del monitoreo de nuevas máquinas virtuales en un MIG puede demorar 10 minutos. - Si una VM tiene un estado de salud
UNHEALTHY
oTIMEOUT
y ha pasado su período de inicialización, el MIG intenta repararla inmediatamente. - Si una VM tiene un estado de salud
UNKNOWN
, entonces el MIG no la repara de inmediato. Esto es para evitar una reparación innecesaria de una máquina virtual para la cual la señal de verificación de estado no está disponible temporalmente. - Una máquina virtual permanece en mal estado después de varias reparaciones consecutivas.
- En el grupo existe una proporción general significativa de máquinas virtuales en mal estado.
-
unhealthy-threshold
. Debe ser más de1
. Lo ideal es establecer este valor en3
o más. Esto protege contra fallas raras como la pérdida de un paquete de red. -
healthy-threshold
. Un valor de2
es suficiente para la mayoría de las aplicaciones. -
timeout
. Establezca este valor de tiempo en una cantidad generosa (cinco veces o más que el tiempo de respuesta esperado). Esto protege contra retrasos inesperados, como instancias ocupadas o una conexión de red lenta. -
check-interval
. Este valor debe estar entre 1 segundo y dos veces el tiempo de espera (ni demasiado largo ni demasiado corto). Cuando un valor es demasiado largo, una instancia fallida no se detecta lo suficientemente pronto. Cuando un valor es demasiado corto, las instancias y la red pueden estar considerablemente ocupadas, dada la gran cantidad de sondas de verificación de estado que se envían cada segundo. - Pruebe el tutorial Uso de la reparación automática para aplicaciones de alta disponibilidad .
- Supervise los cambios en el estado de salud de la máquina virtual .
- Aplicar actualizaciones de configuración durante las reparaciones .
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Precios
Cuando configuras una verificación de estado basada en aplicaciones, cada vez que cambia el estado de salud de una VM, Compute Engine escribe de manera predeterminada una entrada de registro en Cloud Logging .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.
Configurar una verificación de estado y reparación automática basada en aplicaciones
Para configurar una verificación de estado basada en aplicaciones y una reparación automática en un MIG, debe hacer lo siguiente:
Crear un control de salud
Puede aplicar un único control de salud a un máximo de 50 MIG. Si tiene más de 50 grupos, cree múltiples controles de estado.
El siguiente ejemplo muestra cómo crear una verificación de estado para la reparación automática. Puede crear una verificación de estado regional o global para la reparación automática en MIG. En este ejemplo, creará una verificación de estado global que busca una respuesta del servidor web en el puerto
80
. Para permitir que las sondas de verificación de estado lleguen al servidor web, configure una regla de firewall.Consola
nube de gcloud
Terraformar
Para aprender cómo aplicar o eliminar una configuración de Terraform, consulte Comandos básicos de Terraform .
DESCANSAR
Configurar una política de reparación automática en un MIG
En un MIG, puede configurar solo una política de reparación automática para aplicar una verificación de estado.
Puede utilizar una verificación de estado regional o global para la reparación automática en MIG. Los controles de estado regionales reducen las dependencias entre regiones y ayudan a lograr la residencia de los datos. Los controles de estado globales son convenientes si desea utilizar el mismo control de estado para MIG en varias regiones.
Antes de configurar una política de reparación automática:
Consola
nube de gcloud
Para configurar la política de reparación automática en un MIG existente, use el comando
update
.Por ejemplo, utilice el siguiente comando para configurar la política de reparación automática en un MIG zonal existente:
gcloud compute instance-groups managed update MIG_NAME \ --health-check HEALTH_CHECK_URL \ --initial-delay INITIAL_DELAY \ --zone ZONE
Para configurar la política de reparación automática al crear un MIG, utilice el comando
create
.Por ejemplo, utilice el siguiente comando para configurar la política de reparación automática al crear un MIG zonal:
gcloud compute instance-groups managed create MIG_NAME \ --size SIZE \ --template INSTANCE_TEMPLATE_URL \ --health-check HEALTH_CHECK_URL \ --initial-delay INITIAL_DELAY \ --zone ZONE
Reemplace lo siguiente:
Terraformar
Para configurar una política de reparación automática en un MIG, utilice el bloque
auto_healing_policies
.El siguiente ejemplo configura la política de reparación automática en un MIG zonal. Para obtener más información sobre el recurso utilizado en el ejemplo, consulte
google_compute_instance_group_manager
. Para un MIG regional, utilice el recursogoogle_compute_region_instance_group_manager
.Para aprender cómo aplicar o eliminar una configuración de Terraform, consulte Comandos básicos de Terraform .
DESCANSAR
Para configurar la política de reparación automática en un MIG existente, utilice el método
patch
de la siguiente manera:Por ejemplo, realice la siguiente llamada para configurar la reparación automática en un MIG zonal existente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "autoHealingPolicies": [ { "healthCheck": "HEALTH_CHECK_URL", "initialDelaySec": INITIAL_DELAY } ] }
Para configurar la política de reparación automática al crear un MIG, utilice el método
insert
de la siguiente manera:Por ejemplo, realice la siguiente llamada para configurar la política de reparación automática al crear un MIG zonal:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "MIG_NAME", "targetSize": SIZE, "instanceTemplate": "INSTANCE_TEMPLATE_URL" "autoHealingPolicies": [ { "healthCheck": "HEALTH_CHECK_URL", "initialDelaySec": INITIAL_DELAY } ], }
Reemplace lo siguiente:
Una vez completada la configuración de reparación automática, pueden pasar 10 minutos antes de que la reparación automática comience a monitorear las máquinas virtuales del grupo. Una vez que comienza la supervisión, Compute Engine comienza a marcar las máquinas virtuales como en buen estado (o las recrea) según su configuración de reparación automática. Por ejemplo, si configura un retraso inicial de 5 minutos, un intervalo de verificación de estado de 1 minuto y un umbral de estado de 1 verificación, la línea de tiempo se verá así:
Si desactivó las reparaciones en el MIG antes de configurar la política de reparación automática, puede monitorear los estados de salud de la VM para confirmar que la verificación de estado funciona como se esperaba y luego configurar el MIG nuevamente para reparar las VM .
Utilice un control de salud sin recuperación automática
Puede utilizar la verificación de estado configurada en un MIG sin reparación automática desactivando las reparaciones en el MIG . Esto es útil en escenarios en los que desea utilizar la verificación de estado solo para monitorear el estado de su aplicación o cuando desea implementar su propia lógica de reparación basada en la verificación de estado.
Para volver a configurar el MIG para que repare máquinas virtuales en mal estado, consulte Configurar un MIG para reparar máquinas virtuales fallidas y en mal estado .
Eliminar un control de salud
Puede eliminar una verificación de estado configurada en una política de reparación automática de la siguiente manera:
Consola
nube de gcloud
Para eliminar la configuración de verificación de estado en una política de reparación automática, en el comando
update
use el indicador--clear-autohealing
de la siguiente manera:gcloud compute instance-groups managed update MIG_NAME \ --clear-autohealing
Reemplace
MIG_NAME
con el nombre de un MIG.DESCANSAR
Para eliminar la configuración de verificación de estado en una política de reparación automática, establezca la política de reparación automática en un valor vacío.
Por ejemplo, para eliminar la verificación de estado en un MIG zonal, realice la siguiente solicitud:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "autoHealingPolicies": [ {} ] }
Reemplace lo siguiente:
Ver la política de reparación automática en un MIG
Puede ver la política de reparación automática de un MIG de la siguiente manera:
Consola
nube de gcloud
Para ver la política de reparación automática en un MIG, utilice el siguiente comando:
gcloud compute instance-groups managed describe MIG_NAME \ --format="(autoHealingPolicies)"
Reemplace
MIG_NAME
con el nombre de un MIG.El siguiente es un resultado de muestra:
autoHealingPolicies: healthCheck: https://www.googleapis.com/compute/v1/projects/example-project/global/healthChecks/example-health-check initialDelaySec: 300
DESCANSAR
Para ver la política de reparación automática en un MIG, utilice los métodos REST de la siguiente manera:
Por ejemplo, realice la siguiente solicitud para ver la política de reparación automática en un MIG zonal:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
En el cuerpo de la respuesta, busque el objeto
autoHealingPolicies[]
.La siguiente es una respuesta de muestra:
{ ... "autoHealingPolicies": [ { "healthCheck": "https://www.googleapis.com/compute/v1/projects/example-project/global/healthChecks/example-health-check", "initialDelaySec": 300 } ], ... }
Reemplace lo siguiente:
comprobar el estado
Después de configurar una verificación de estado basada en aplicaciones en un MIG, puede verificar que una VM se esté ejecutando y que su aplicación esté respondiendo de las siguientes maneras:
Comprobar si las máquinas virtuales están en buen estado
Si ha configurado una verificación de estado basada en aplicaciones en su MIG, puede revisar el estado de cada instancia administrada .
Inspeccione los estados de salud de su instancia administrada para:
Usa la consola , la herramienta de línea de comandos
gcloud
o REST para ver los estados de salud.Consola
nube de gcloud
Utilice el subcomando
list-instances
.gcloud compute instance-groups managed list-instances instance-group NAME ZONE STATUS HEALTH_STATE ACTION INSTANCE_TEMPLATE VERSION_NAME LAST_ERROR igm-with-hc-fvz6 europe-west1 RUNNING HEALTHY NONE my-template igm-with-hc-gtz3 europe-west1 RUNNING HEALTHY NONE my-template
La columna
HEALTH_STATE
muestra el estado de salud de cada VM.DESCANSAR
Para un MIG regional, cree una solicitud
POST
para el métodolistManagedInstances
:POST https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers/instance-group/listManagedInstances
Para un MIG zonal, utilice el método
listManagedInstances
de MIG zonal:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group/listManagedInstances
La solicitud devuelve una respuesta similar a la siguiente, que incluye un campo de
instanceHealth
para cada instancia administrada.{ "managedInstances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/example-group-5485", "instanceStatus": "RUNNING", "currentAction": "NONE", "lastAttempt": { }, "id": "6159431761228150698", "instanceTemplate": "https://www.googleapis.com/compute/v1/projects/project-id/global/instanceTemplates/example-template", "version": { "instanceTemplate": "https://www.googleapis.com/compute/v1/projects/project-id/global/instanceTemplates/example-template" }, "instanceHealth": [ { "healthCheck": "https://www.googleapis.com/compute/v1/projects/project-id/global/healthChecks/http-basic-check", "detailedHealthState": "HEALTHY" } ] }, { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/example-group-sfdp", "instanceStatus": "STOPPING", "currentAction": "DELETING", "lastAttempt": { }, "id": "6622324799312181783", "instanceHealth": [ { "healthCheck": "https://www.googleapis.com/compute/v1/projects/project-id/global/healthChecks/http-basic-check", "detailedHealthState": "TIMEOUT" } ] } ] }
Estados de salud
Están disponibles los siguientes estados de mantenimiento de la máquina virtual:
Las nuevas máquinas virtuales devuelven un estado
UNHEALTHY
hasta que sean verificadas por el sistema de verificación de estado.La reparación de una máquina virtual depende de su estado de salud:
Los intentos de reparación automática se pueden retrasar si:
Queremos conocer sus casos de uso, desafíos o comentarios sobre los valores del estado de salud de las máquinas virtuales. Puede compartir sus comentarios con nuestro equipo en mig-discuss@google.com .
Verifique las acciones actuales en las máquinas virtuales
Cuando un MIG está en el proceso de crear una instancia de VM, el MIG establece el campo
currentAction
de solo lectura de esa instancia enCREATING
. Si se adjunta una política de reparación automática al grupo, después de crear y ejecutar la VM, el MIG establece la acción actual de la instancia enVERIFYING
y el verificador de estado comienza a sondear la aplicación de la VM. Si la aplicación pasa esta verificación de estado inicial dentro del tiempo que tarda en iniciarse, entonces se verifica la VM y el MIG cambia el campocurrentAction
de la VM aNONE
.Para comprobar las acciones actuales en las máquinas virtuales, consulte Ver acciones actuales en las máquinas virtuales .
Compruebe si el MIG es estable
A nivel de grupo, Compute Engine completa un campo de solo lectura llamado
status
que contiene un indicadorisStable
.Si todas las máquinas virtuales del grupo están en ejecución y en buen estado (es decir, el campo
currentAction
para cada instancia administrada está configurado enNONE
), entonces el MIG establece el campostatus.isStable
entrue
. Recuerde que la estabilidad de un MIG depende de las configuraciones del grupo más allá de la política de reparación automática; por ejemplo, si su grupo tiene escalamiento automático y se está ampliando o reduciendo, entonces el MIG establece el campostatus.isStable
enfalse
debido a la operación del escalador automático.Para verificar los valores del campo
status.isStable
de su MIG, consulte Comprobar si un MIG es estable .Ver operaciones históricas de reparación automática
Puedes usar la CLI de gcloud o REST para ver eventos de reparación automática anteriores.
nube de gcloud
Usa el comando
gcloud compute operations list
con un filtro para ver solo los eventos de reparación automática en tu proyecto.gcloud compute operations list --filter='operationType~compute.instances.repair.*'
Para obtener más información sobre una operación de reparación específica, utilice el comando
describe
. Por ejemplo:gcloud compute operations describe repair-1539070348818-577c6bd6cf650-9752b3f3-1d6945e5 --zone us-east1-b
DESCANSAR
Para MIG regionales, envíe una solicitud
GET
al recursoregionOperations
e incluya un filtro para limitar la lista de salida a eventoscompute.instances.repair.*
.GET https://compute.googleapis.com/compute/v1/projects/project-id/region/region/operations?filter=operationType+%3D+%22compute.instances.repair.*%22
Para MIG zonales, utilice el recurso
zoneOperations
.GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/operations?filter=operationType+%3D+%22compute.instances.repair.*%22
Para obtener más información sobre una operación de reparación específica, envíe una solicitud
GET
para esa operación específica. Por ejemplo:GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/operations/repair-1539070348818-577c6bd6cf650-9752b3f3-1d6945e5
¿Qué hace que un chequeo de salud con recuperación automática sea bueno?
Las comprobaciones de estado utilizadas para la reparación automática deben ser conservadoras para que no eliminen ni vuelvan a crear de forma preventiva sus instancias. Cuando una verificación de estado del autoreparador es demasiado agresiva, el autoreparador puede confundir instancias ocupadas con instancias fallidas y reiniciarlas innecesariamente, lo que reduce la disponibilidad.
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-