Este documento descreve como configurar uma verificação de integridade baseada em aplicativo para recuperação automática de VMs em um grupo gerenciado de instâncias (MIG). Ele também descreve como fazer o seguinte: usar uma verificação de integridade sem recuperação automática, remover uma verificação de integridade, visualizar a política de recuperação automática e verificar o estado de integridade de cada VM.
Você pode configurar uma verificação de integridade baseada em aplicativo para verificar se seu aplicativo em uma VM está respondendo conforme esperado. Se a verificação de integridade configurada detectar que seu aplicativo em uma VM não está respondendo, o MIG marcará essa VM como não íntegra e a reparará. O reparo de uma VM com base em uma verificação de integridade baseada em aplicativo é chamado de recuperação automática .
Você também pode desativar os reparos em um MIG para poder usar uma verificação de integridade sem acionar a recuperação automática.
Para saber mais sobre reparos em um MIG, consulte Sobre o reparo de VMs para alta disponibilidade .
Antes de começar
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
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.
- Crie uma verificação de integridade , se ainda não o fez.
- Configure uma política de recuperação automática no MIG para aplicar a verificação de integridade.
Crie uma verificação de integridade para recuperação automática que seja mais conservadora do que uma verificação de integridade de balanceamento de carga .
Por exemplo, crie uma verificação de integridade que procure uma resposta na porta
80
e que possa tolerar alguma falha antes de marcar as VMs comoUNHEALTHY
e fazer com que elas sejam recriadas. Neste exemplo, uma VM será marcada como íntegra se a verificação de integridade retornar com êxito uma vez. A VM será marcada como não íntegra se a verificação de integridade retornar sem êxito3
vezes consecutivas.No console do Google Cloud, acesse a página Criar uma verificação de integridade .
Dê um nome à verificação de integridade, como
example-check
.Selecione um escopo . Você pode selecionar Regional ou Global . Para este exemplo, selecione Global .
Para Protocolo , certifique-se de que HTTP esteja selecionado.
Para Porta , insira
80
.Na seção Critérios de integridade , forneça os seguintes valores:
- Para Intervalo de verificação , insira
5
. - Para Tempo limite , insira
5
. - Defina um limite íntegro para determinar quantas verificações de integridade consecutivas bem-sucedidas devem ser retornadas antes que uma VM não íntegra seja marcada como íntegra. Insira
1
para este exemplo. - Defina um limite não íntegro para determinar quantas verificações de integridade malsucedidas consecutivas devem ser retornadas antes que uma VM íntegra seja marcada como não íntegra. Insira
3
para este exemplo.
- Para Intervalo de verificação , insira
Clique em Criar para criar a verificação de funcionamento.
Crie uma regra de firewall para permitir que sondagens de verificação de integridade se conectem ao seu aplicativo.
As sondagens de verificação de integridade vêm de endereços nos intervalos
130.211.0.0/22
e35.191.0.0/16
, portanto, certifique-se de que as regras de firewall da sua rede permitam a conexão da verificação de integridade. Neste exemplo, o MIG usa a rededefault
e suas VMs estão escutando na porta80
. Se a porta80
ainda não estiver aberta na rede padrão, crie uma regra de firewall.No console do Google Cloud, acesse a página Políticas de firewall .
Clique em Criar regra de firewall .
Insira um nome para a regra de firewall. Por exemplo,
allow-health-check
.Para Rede , selecione a rede
default
.Para Destinos , selecione
All instances in the network
.Em Filtro de origem , selecione
IPv4 ranges
.Para intervalos IPv4 de origem , insira
130.211.0.0/22
e35.191.0.0/16
.Em Protocolos e portas , selecione Protocolos e portas especificados e faça o seguinte:
- Selecione TCP .
- No campo Portas , insira
80
.
Clique em Criar .
Crie uma verificação de integridade para recuperação automática que seja mais conservadora do que uma verificação de integridade de balanceamento de carga .
Por exemplo, crie uma verificação de integridade que procure uma resposta na porta
80
e que possa tolerar alguma falha antes de marcar as VMs comoUNHEALTHY
e fazer com que elas sejam recriadas. Neste exemplo, a VM será marcada como íntegra se retornar com êxito uma vez. A VM será marcada como não íntegra se retornar sem êxito3
vezes consecutivas. O comando a seguir cria uma verificação de integridade global.gcloud compute health-checks create http example-check --port 80 \ --check-interval 30s \ --healthy-threshold 1 \ --timeout 10s \ --unhealthy-threshold 3 \ --global
Crie uma regra de firewall para permitir que sondagens de verificação de integridade se conectem ao seu aplicativo.
As sondagens de verificação de integridade vêm de endereços nos intervalos
130.211.0.0/22
e35.191.0.0/16
, portanto, certifique-se de que suas regras de firewall permitam a conexão da verificação de integridade. Neste exemplo, o MIG usa a rededefault
e suas VMs escutam na porta80
. Se a porta80
ainda não estiver aberta na rede padrão, crie uma regra 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
Crie uma verificação de integridade usando o recurso
google_compute_http_health_check
.Por exemplo, crie uma verificação de integridade que procure uma resposta na porta
80
e que possa tolerar alguma falha antes de marcar as VMs comoUNHEALTHY
e fazer com que elas sejam recriadas. Neste exemplo, uma VM será marcada como íntegra se retornar com êxito uma vez. A VM será marcada como não íntegra se retornar sem êxito3
vezes consecutivas. A solicitação a seguir cria uma verificação de integridade global.Crie um firewall usando o recurso
google_compute_firewall
.As sondagens de verificação de integridade vêm de endereços nos intervalos
130.211.0.0/22
e35.191.0.0/16
, portanto, certifique-se de que suas regras de firewall permitam a conexão da verificação de integridade. Neste exemplo, o MIG usa a rededefault
e suas VMs estão escutando na porta80
. Se a porta80
ainda não estiver aberta na rede padrão, crie uma regra de firewall.Crie uma verificação de integridade para recuperação automática que seja mais conservadora do que uma verificação de integridade de balanceamento de carga.
Por exemplo, crie uma verificação de integridade que procure uma resposta na porta
80
e que possa tolerar alguma falha antes de marcar as VMs comoUNHEALTHY
e fazer com que elas sejam recriadas. Neste exemplo, uma VM será marcada como íntegra se retornar com êxito uma vez. A VM será marcada como não íntegra se retornar sem êxito3
vezes consecutivas. A solicitação a seguir cria uma verificação de integridade 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 }
Crie uma regra de firewall para permitir que sondagens de verificação de integridade se conectem ao seu aplicativo.
As sondagens de verificação de integridade vêm de endereços nos intervalos
130.211.0.0/22
e35.191.0.0/16
, portanto, certifique-se de que suas regras de firewall permitam a conexão da verificação de integridade. Neste exemplo, o MIG usa a rededefault
e suas VMs estão escutando na porta80
. Se a porta80
ainda não estiver aberta na rede padrão, crie uma regra 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" } ] }
Substitua
PROJECT_ID
pelo ID do seu projeto .- Se você ainda não tiver uma verificação de integridade, crie uma .
- Se você quiser evitar o falso acionamento da recuperação automática ao configurar uma nova verificação de integridade, primeiro desative os reparos no MIG e, em seguida, configure a política de recuperação automática.
No console do Google Cloud, acesse a página Grupos de instâncias .
Na coluna Nome da lista, clique no nome do MIG no qual deseja aplicar a verificação de integridade.
Clique em Editar para modificar este MIG.
Na seção Ciclo de vida da instância de VM , em Autohealing , selecione uma verificação de integridade global ou regional.
Altere ou mantenha a configuração do atraso inicial .
O atraso inicial é o número de segundos que uma nova VM leva para inicializar e executar seu script de inicialização. Durante o período de atraso inicial de uma VM, o MIG ignora verificações de integridade malsucedidas porque a VM pode estar no processo de inicialização. Isso evita que o MIG recrie uma VM prematuramente. Se a verificação de integridade receber uma resposta íntegra durante o atraso inicial, isso indicará que o processo de inicialização foi concluído e a VM está pronta. O temporizador de atraso inicial começa quando o campo
currentAction
da VM muda paraVERIFYING
. O valor do atraso inicial deve estar entre 0 e 3600 segundos. No console, o valor padrão é 300 segundos.Clique em Salvar para aplicar suas alterações.
-
MIG_NAME
: o nome do MIG no qual você deseja configurar a recuperação automática. -
SIZE
: o número de VMs no grupo. -
INSTANCE_TEMPLATE_URL
: o URL parcial do modelo de instância que você deseja usar para criar as VMs no grupo. Por exemplo:- Modelo de instância regional:
projects/example-project/regions/us-central1/instanceTemplates/example-template
. - Modelo de instância global:
projects/example-project/global/instanceTemplates/example-template
.
- Modelo de instância regional:
-
HEALTH_CHECK_URL
: o URL parcial da verificação de integridade que você deseja configurar para recuperação automática. Se quiser usar uma verificação de funcionamento regional, você deverá fornecer o URL parcial da verificação de funcionamento regional. Por exemplo:- Verificação de saúde regional:
projects/example-project/regions/us-central1/healthChecks/example-health-check
. - Verificação de integridade global:
projects/example-project/global/healthChecks/example-health-check
.
- Verificação de saúde regional:
-
INITIAL_DELAY
: o número de segundos que uma nova VM leva para inicializar e executar seu script de inicialização. Durante o período de atraso inicial de uma VM, o MIG ignora verificações de integridade malsucedidas porque a VM pode estar no processo de inicialização. Isso evita que o MIG recrie uma VM prematuramente. Se a verificação de integridade receber uma resposta íntegra durante o atraso inicial, isso indicará que o processo de inicialização foi concluído e a VM está pronta. O temporizador de atraso inicial começa quando o campocurrentAction
da VM muda paraVERIFYING
. O valor do atraso inicial deve estar entre0
e3600
segundos. O valor padrão é0
. -
ZONE
: A zona onde o MIG está localizado. Para um MIG regional, use o sinalizador--region
. - Para um MIG zonal, use o método
instanceGroupManager.patch
. - Para um MIG regional, use o método
regionInstanceGroupManager.patch
. - Para um MIG zonal, use o método
instanceGroupManager.insert
. - Para um MIG regional, use o método
regionInstanceGroupManager.insert
. -
PROJECT_ID
: o ID do seu projeto . -
MIG_NAME
: o nome do MIG no qual você deseja configurar a recuperação automática. -
SIZE
: o número de VMs no grupo. -
INSTANCE_TEMPLATE_URL
: o URL parcial do modelo de instância que você deseja usar para criar as VMs no grupo. Por exemplo:- Modelo de instância regional:
projects/example-project/regions/us-central1/instanceTemplates/example-template
. - Modelo de instância global:
projects/example-project/global/instanceTemplates/example-template
.
- Modelo de instância regional:
-
HEALTH_CHECK_URL
: o URL parcial da verificação de integridade que você deseja configurar para recuperação automática. Por exemplo:- Verificação de saúde regional:
projects/example-project/regions/us-central1/healthChecks/example-health-check
. - Verificação de integridade global:
projects/example-project/global/healthChecks/example-health-check
.
- Verificação de saúde regional:
-
INITIAL_DELAY
: o número de segundos que uma nova VM leva para inicializar e executar seu script de inicialização. Durante o período de atraso inicial de uma VM, o MIG ignora verificações de integridade malsucedidas porque a VM pode estar no processo de inicialização. Isso evita que o MIG recrie uma VM prematuramente. Se a verificação de integridade receber uma resposta íntegra durante o atraso inicial, isso indicará que o processo de inicialização foi concluído e a VM está pronta. O temporizador de atraso inicial começa quando o campocurrentAction
da VM muda paraVERIFYING
. O valor do atraso inicial deve estar entre0
e3600
segundos. O valor padrão é0
. -
ZONE
: A zona onde o MIG está localizado. Para um MIG regional, useregions/ REGION
na URL. - Atraso de 10 minutos antes que a recuperação automática comece a monitorar VMs no grupo
- + 5 minutos para o atraso inicial configurado
- + 1 minuto para o intervalo de verificação * limite íntegro (60s * 1)
- = 16 minutos antes da VM ser marcada como íntegra ou ser recriada
No console do Google Cloud, acesse a página Grupos de instâncias .
- Clique no nome do MIG do qual deseja remover a verificação de integridade.
- Clique em Editar para modificar este MIG.
- Na seção Ciclo de vida da instância de VM , em Autohealing , selecione No health check .
- Clique em Salvar para aplicar as alterações.
- Para um MIG zonal, use o método
instanceGroupManagers.patch
- Para um MIG regional, use o método
regionInstanceGroupManagers.patch
-
PROJECT_ID
: o ID do seu projeto . -
MIG_NAME
: o nome do MIG no qual você deseja configurar a recuperação automática. -
ZONE
: A zona onde o MIG está localizado. Para um MIG regional, useregions/ REGION
. No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome do MIG cujo você deseja visualizar a política de recuperação automática.
Vá para a guia Detalhes .
Na seção Ciclo de vida da instância de VM , o campo Autohealing exibe a verificação de integridade e o atraso inicial configurado na política de autohealing.
- Para um MIG zonal, use o método
instanceGroupManagers.get
- Para um MIG regional, use o método
regionInstanceGroupManagers.get
-
PROJECT_ID
: o ID do seu projeto . -
MIG_NAME
: o nome do MIG no qual você deseja configurar a recuperação automática. -
ZONE
: A zona onde o MIG está localizado. Para um MIG regional, useregions/ REGION
. - Verifique se as VMs estão íntegras
- Verifique as ações atuais nas VMs
- Verifique se o MIG está estável
- Identifique VMs não íntegras que não estão sendo reparadas. Uma VM pode não ser reparada imediatamente, mesmo que tenha sido diagnosticada como não íntegra nas seguintes situações:
- A VM ainda está inicializando e seu atraso inicial ainda não passou.
- Uma parcela significativa de instâncias não saudáveis está sendo reparada. O MIG atrasa ainda mais a recuperação automática para garantir que o grupo continue executando um subconjunto de instâncias.
- Detecte erros de configuração de verificação de integridade. Por exemplo, você poderá detectar regras de firewall mal configuradas ou um endpoint de verificação de integridade do aplicativo inválido se a instância relatar um estado de integridade de
TIMEOUT
. - Determine o valor de atraso inicial a ser configurado medindo a quantidade de tempo entre o momento em que a VM faz a transição para um status
RUNNING
e o momento em que a VM faz a transição para um estado de integridadeHEALTHY
. Você pode medir essa lacuna pesquisando o métodolist-instances
ou observando o tempo entre a operaçãoinstances.insert
e o primeiro sinal íntegro recebido. No console do Google Cloud, acesse a página Grupos de instâncias .
Na coluna Nome da lista, clique no nome do MIG que você deseja examinar. Uma página é aberta com as propriedades do grupo de instâncias e uma lista de VMs incluídas no grupo.
Se uma VM não estiver íntegra, você poderá ver seu estado de integridade na coluna Status da verificação de integridade .
-
HEALTHY
: A VM está acessível, uma conexão com o endpoint de verificação de integridade do aplicativo pode ser estabelecida e a resposta está em conformidade com os requisitos definidos pela verificação de integridade. -
DRAINING
: A VM está sendo drenada. As conexões existentes com a VM têm tempo para serem concluídas, mas novas conexões estão sendo recusadas. -
UNHEALTHY
: A VM está acessível, mas não está em conformidade com os requisitos definidos pela verificação de integridade. -
TIMEOUT
: A VM está inacessível, uma conexão com o endpoint de verificação de integridade do aplicativo não pode ser estabelecida ou o servidor em uma VM não responde dentro do tempo limite especificado. Por exemplo, isso pode ser causado por regras de firewall mal configuradas ou por um aplicativo de servidor sobrecarregado em uma VM. -
UNKNOWN
: O sistema de verificação de integridade não tem conhecimento da VM ou sua integridade não é conhecida no momento. Pode levar 10 minutos para que o monitoramento comece em novas VMs em um MIG. - Se uma VM tiver um estado de integridade
UNHEALTHY
ouTIMEOUT
e tiver passado o período de inicialização, o MIG tentará repará-la imediatamente. - Se uma VM tiver um estado de integridade
UNKNOWN
, o MIG não a reparará imediatamente. Isto evita uma reparação desnecessária de uma VM para a qual o sinal de verificação de funcionamento está temporariamente indisponível. - Uma VM permanece não íntegra após vários reparos consecutivos.
- Existe uma parcela global significativa de VMs não íntegras no grupo.
-
unhealthy-threshold
. Deve ser maior que1
. O ideal é definir esse valor como3
ou mais. Isso protege contra falhas raras, como perda de pacotes de rede. -
healthy-threshold
. Um valor2
é suficiente para a maioria dos aplicativos. -
timeout
. Defina esse valor de tempo para um valor generoso (cinco vezes ou mais que o tempo de resposta esperado). Isso protege contra atrasos inesperados, como instâncias ocupadas ou conexão de rede lenta. -
check-interval
. Este valor deve estar entre 1 segundo e duas vezes o tempo limite (nem muito longo nem muito curto). Quando um valor é muito longo, uma instância com falha não é detectada com rapidez suficiente. Quando um valor é muito curto, as instâncias e a rede podem ficar mensuravelmente ocupadas, devido ao grande número de sondagens de verificação de integridade enviadas a cada segundo. - Experimente o tutorial Usando a recuperação automática para aplicativos altamente disponíveis .
- Monitore as alterações do estado de integridade da VM .
- Aplique atualizações de configuração durante os reparos .
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
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 mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Preços
Quando você configura uma verificação de integridade baseada em aplicativo, sempre que o estado de integridade de uma VM muda, por padrão, o Compute Engine grava uma entrada de registro no Cloud Logging .O Cloud Logging oferece uma cota gratuita por mês, após a qual o registro é cobrado por volume de dados. Para evitar custos, você pode desabilitar os logs de alterações do estado de integridade.
Configure uma verificação de integridade e recuperação automática baseada em aplicativo
Para configurar uma verificação de integridade e recuperação automática baseada em aplicativo em um MIG, você deve fazer o seguinte:
Crie uma verificação de integridade
Você pode aplicar uma única verificação de integridade a no máximo 50 MIGs. Se você tiver mais de 50 grupos, crie diversas verificações de integridade.
O exemplo a seguir mostra como criar uma verificação de integridade para recuperação automática. Você pode criar uma verificação de integridade regional ou global para recuperação automática em MIGs. Neste exemplo, você cria uma verificação de integridade global que procura uma resposta do servidor web na porta
80
. Para permitir que as sondagens de verificação de integridade cheguem ao servidor web, configure uma regra de firewall.Console
gcloud
Terraforma
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
DESCANSAR
Configurar uma política de recuperação automática em um MIG
Em um MIG, você pode configurar apenas uma política de recuperação automática para aplicar uma verificação de integridade.
Você pode usar uma verificação de integridade regional ou global para recuperação automática em MIGs. As verificações de saúde regionais reduzem as dependências entre regiões e ajudam a alcançar a residência dos dados. As verificações de integridade globais são convenientes se você quiser usar a mesma verificação de integridade para MIGs em diversas regiões.
Antes de configurar uma política de recuperação automática:
Console
gcloud
Para configurar a política de recuperação automática em um MIG existente, use o comando
update
.Por exemplo, use o seguinte comando para configurar a política de recuperação automática em um MIG zonal existente:
gcloud compute instance-groups managed update MIG_NAME \ --health-check HEALTH_CHECK_URL \ --initial-delay INITIAL_DELAY \ --zone ZONE
Para configurar a política de recuperação automática ao criar um MIG, use o comando
create
.Por exemplo, use o seguinte comando para configurar a política de recuperação automática ao criar um 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
Substitua o seguinte:
Terraforma
Para configurar uma política de recuperação automática em um MIG, use o bloco
auto_healing_policies
.O exemplo a seguir configura a política de recuperação automática em um MIG zonal. Para obter mais informações sobre o recurso usado no exemplo, consulte
google_compute_instance_group_manager
. Para um MIG regional, use o recursogoogle_compute_region_instance_group_manager
.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
DESCANSAR
Para configurar a política de recuperação automática em um MIG existente, use o método
patch
da seguinte maneira:Por exemplo, faça a seguinte chamada para configurar a recuperação automática em um 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 a política de recuperação automática ao criar um MIG, use o método
insert
da seguinte maneira:Por exemplo, faça a seguinte chamada para configurar a política de recuperação automática ao criar um 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 } ], }
Substitua o seguinte:
Depois que a configuração da recuperação automática for concluída, poderá levar 10 minutos até que a recuperação automática comece a monitorar as VMs no grupo. Após o início do monitoramento, o Compute Engine começa a marcar as VMs como íntegras (ou então as recria) com base na configuração de recuperação automática. Por exemplo, se você configurar um atraso inicial de 5 minutos, um intervalo de verificação de integridade de 1 minuto e um limite de integridade de 1 verificação, a linha do tempo terá a seguinte aparência:
Se você desativou os reparos no MIG antes de configurar a política de recuperação automática, poderá monitorar os estados de integridade da VM para confirmar se a verificação de integridade está funcionando conforme o esperado e, em seguida, configurar o MIG novamente para reparar VMs .
Use uma verificação de integridade sem recuperação automática
Você pode usar a verificação de integridade configurada em um MIG sem recuperação automática desativando os reparos no MIG . Isso é útil em cenários em que você deseja usar a verificação de funcionamento apenas para monitorar o funcionamento do seu aplicativo ou quando deseja implementar sua própria lógica de reparo com base na verificação de funcionamento.
Para fazer com que o MIG volte a reparar VMs não íntegras, consulte Definir um MIG para reparar VMs com falha e não íntegras .
Remover uma verificação de integridade
Você pode remover uma verificação de integridade configurada em uma política de recuperação automática da seguinte maneira:
Console
gcloud
Para remover a configuração de verificação de integridade em uma política de recuperação automática, no comando
update
use o sinalizador--clear-autohealing
da seguinte maneira:gcloud compute instance-groups managed update MIG_NAME \ --clear-autohealing
Substitua
MIG_NAME
pelo nome de um MIG.DESCANSAR
Para remover a configuração da verificação de integridade em uma política de recuperação automática, defina a política de recuperação automática com um valor vazio.
Por exemplo, para remover a verificação de integridade em um MIG zonal, faça a seguinte solicitação:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "autoHealingPolicies": [ {} ] }
Substitua o seguinte:
Ver a política de recuperação automática em um MIG
Você pode visualizar a política de recuperação automática de um MIG da seguinte maneira:
Console
gcloud
Para visualizar a política de recuperação automática em um MIG, use o seguinte comando:
gcloud compute instance-groups managed describe MIG_NAME \ --format="(autoHealingPolicies)"
Substitua
MIG_NAME
pelo nome de um MIG.A seguir está um exemplo de saída:
autoHealingPolicies: healthCheck: https://www.googleapis.com/compute/v1/projects/example-project/global/healthChecks/example-health-check initialDelaySec: 300
DESCANSAR
Para visualizar a política de recuperação automática em um MIG, use os métodos REST da seguinte forma:
Por exemplo, faça a seguinte solicitação para visualizar a política de recuperação automática em um MIG zonal:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
No corpo da resposta, verifique o objeto
autoHealingPolicies[]
.A seguir está um exemplo de resposta:
{ ... "autoHealingPolicies": [ { "healthCheck": "https://www.googleapis.com/compute/v1/projects/example-project/global/healthChecks/example-health-check", "initialDelaySec": 300 } ], ... }
Substitua o seguinte:
Verifique o status
Depois de configurar uma verificação de integridade baseada em aplicativo em um MIG, você poderá verificar se uma VM está em execução e se seu aplicativo está respondendo das seguintes maneiras:
Verifique se as VMs estão íntegras
Se você configurou uma verificação de integridade baseada em aplicativo em seu MIG, poderá revisar o estado de integridade de cada instância gerenciada .
Inspecione os estados de integridade da sua instância gerenciada para:
Use o console , a ferramenta de linha de comando
gcloud
ou REST para visualizar os estados de integridade.Console
gcloud
Use o 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
A coluna
HEALTH_STATE
mostra o estado de integridade de cada VM.DESCANSAR
Para um MIG regional, construa uma solicitação
POST
para o métodolistManagedInstances
:POST https://compute.googleapis.com/compute/v1/projects/project-id/regions/region/instanceGroupManagers/instance-group/listManagedInstances
Para um MIG zonal, use o método
listManagedInstances
do MIG zonal:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group/listManagedInstances
A solicitação retorna uma resposta semelhante à seguinte, que inclui um campo
instanceHealth
para cada instância gerenciada.{ "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 saúde
Os seguintes estados de integridade da VM estão disponíveis:
Novas VMs retornam um estado
UNHEALTHY
até serem verificadas pelo sistema de verificação de integridade.Se uma VM será reparada dependerá do seu estado de integridade:
As tentativas de recuperação automática podem ser atrasadas se:
Queremos saber mais sobre seus casos de uso, desafios ou comentários sobre os valores do estado de integridade da VM. Você pode compartilhar seus comentários com nossa equipe em mig-discuss@google.com .
Verifique as ações atuais nas VMs
Quando um MIG está no processo de criação de uma instância de VM, o MIG define o campo
currentAction
somente leitura dessa instância comoCREATING
. Se uma política de recuperação automática estiver anexada ao grupo, depois que a VM for criada e executada, o MIG definirá a ação atual da instância comoVERIFYING
e o verificador de integridade começará a investigar o aplicativo da VM. Se o aplicativo passar nessa verificação de integridade inicial dentro do tempo necessário para iniciar o aplicativo, a VM será verificada e o MIG alterará o campocurrentAction
da VM paraNONE
.Para verificar as ações atuais nas VMs, consulte Visualizar as ações atuais nas VMs .
Verifique se o MIG está estável
No nível do grupo, o Compute Engine preenche um campo somente leitura chamado
status
que contém uma sinalizaçãoisStable
.Se todas as VMs do grupo estiverem em execução e íntegras (ou seja, o campo
currentAction
para cada instância gerenciada estiver definido comoNONE
), o MIG definirá o campostatus.isStable
comotrue
. Lembre-se que a estabilidade de um MIG depende de configurações de grupo além da política de autocura; por exemplo, se o seu grupo for dimensionado automaticamente e estiver sendo ampliado ou reduzido, o MIG definirá o campostatus.isStable
comofalse
devido à operação do dimensionador automático.Para verificar os valores do campo
status.isStable
do seu MIG, consulte Verificar se um MIG é estável .Ver o histórico de operações de recuperação automática
Você pode usar a CLI gcloud ou o REST para visualizar eventos de recuperação automática anteriores.
gcloud
Use o comando
gcloud compute operations list
com um filtro para ver apenas os eventos de reparo de recuperação automática no seu projeto.gcloud compute operations list --filter='operationType~compute.instances.repair.*'
Para obter mais informações sobre uma operação de reparo específica, use o comando
describe
. Por exemplo:gcloud compute operations describe repair-1539070348818-577c6bd6cf650-9752b3f3-1d6945e5 --zone us-east1-b
DESCANSAR
Para MIGs regionais, envie uma solicitação
GET
para o recursoregionOperations
e inclua um filtro para definir o escopo da lista de saída para eventoscompute.instances.repair.*
.GET https://compute.googleapis.com/compute/v1/projects/project-id/region/region/operations?filter=operationType+%3D+%22compute.instances.repair.*%22
Para MIGs zonais, use o recurso
zoneOperations
.GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/operations?filter=operationType+%3D+%22compute.instances.repair.*%22
Para obter mais informações sobre uma operação de reparo específica, envie uma solicitação
GET
para essa operação específica. Por exemplo:GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/operations/repair-1539070348818-577c6bd6cf650-9752b3f3-1d6945e5
O que constitui uma boa verificação de integridade de autocura
As verificações de integridade usadas para recuperação automática devem ser conservadoras para que não excluam e recriem preventivamente suas instâncias. Quando uma verificação de integridade do autohealer é muito agressiva, o autohealer pode confundir instâncias ocupadas com instâncias com falha e reiniciá-las desnecessariamente, reduzindo a disponibilidade.
O que vem a seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-17 UTC.
-