Neste documento, descrevemos como permitir que um grupo gerenciado de instâncias (MIG) regional corrija uma instância de máquina virtual (VM) em uma zona alternativa quando o MIG não puder corrigir a VM na zona original. Para saber mais sobre reparos em um MIG, consulte Como reparar VMs para alta disponibilidade.
Ao criar um MIG regional, você seleciona uma ou mais zonas em que o MIG distribui as VMs. Por padrão, se uma VM no MIG falhar, o MIG tentará corrigir essa VM na zona original. Opcionalmente, você pode permitir que o MIG corrija essa VM em uma das outras zonas selecionadas, o que é útil nos casos em que o MIG não pode corrigir a VM na zona original. O MIG escolhe a zona alternativa com base na capacidade e cota disponíveis.
Limitações
Ao configurar um MIG regional para corrigir uma VM em uma zona alternativa, as seguintes limitações se aplicam:
É necessário ativar a atualização no reparo.
MIGs regionais com a seguinte configuração não são aceitos:
MIGs com
EVENouANY_SINGLE_ZONEformatos de distribuição de destino.MIGs com configuração com estado.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar
código ou exemplos de um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com uma destas opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o Google Cloud console para acessar Google Cloud serviços e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- Defina uma região e uma zona padrão.
-
Instale a Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Terraform
Para usar os exemplos do Terraform desta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Permitir reparos em uma zona alternativa
Para permitir que um MIG corrija uma VM em uma zona alternativa, selecione uma das seguintes opções:
Console
No console, do Google Cloud , acesse a página Grupos de instâncias.
Se você já tiver um MIG, faça o seguinte:
- Clique no nome do MIG.
- Clique em Editar.
Se você ainda não tiver um MIG, faça o seguinte:
- Clique em Criar grupo de instâncias.
- Digite um Nome.
- Selecione um modelo de instância.
- Na seção Local, selecione Várias zonas e, em seguida, escolha uma região e as zonas.
No menu suspenso Forma de distribuição de destino, selecione Equilibrado ou Qualquer.
Se você selecionar Equilibrado, na caixa de diálogo exibida, clique em Desativar a redistribuição de instâncias.
Se você quiser selecionar Qualquer, primeiro exclua a configuração de escalonamento automático. Para excluir o escalonamento automático, no menu suspenso Modo de escalonamento automático, clique em Excluir configuração de escalonamento automático.
Na seção Ciclo de vida da instância de VM, verifique se os seguintes campos estão definidos da seguinte maneira:
A lista Ação padrão em caso de falha está definida como Reparar instância.
As Atualizações durante a correção da instância de VM estão definidas como Atualizar a configuração da instância.
Na seção Mudar a zona durante a correção da instância de VM, selecione a caixa de seleção Permitir a correção de VMs em uma zona alternativa.
Para as outras configurações, é possível usar os valores padrão ou modificar os campos.
Depois de terminar, clique em Salvar para um MIG atual ou em Criar para um novo.
gcloud
Para configurar um MIG atual para corrigir a VM em uma zona alternativa, use o
update comando:
gcloud compute instance-groups managed update MIG_NAME \
--on-repair-allow-changing-zone=YES \
--force-update-on-repair \
--region=REGION
Para criar um MIG que possa corrigir a VM em uma zona alternativa, use o
create comando:
gcloud compute instance-groups managed create MIG_NAME \
--template=INSTANCE_TEMPLATE_URL \
--size=SIZE \
--zones=ZONES \
--target-distribution-shape=SHAPE \
--instance-redistribution-type=none \
--on-repair-allow-changing-zone=YES \
--force-update-on-repair
Substitua:
MIG_NAME: o nome do MIG;INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID. - Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
SIZE: o tamanho de destino do MIG;ZONES: a lista de zonas em uma região em que você quer criar as VMs no MIG;SHAPE: o formato de distribuição de destino. Esse valor pode serbalancedouany.REGION: a região em que o MIG está localizado.
Terraform
Se você ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM que você quer para cada VM no MIG, crie um modelo de instância.
Para criar um MIG que possa corrigir a VM em uma zona alternativa, use o
google_compute_region_instance_group_manager recurso.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
REST
Para configurar um MIG atual para corrigir a VM em uma zona alternativa, use o
regionInstanceGroupManagers.patch método:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy": {
"onRepair": {
"allowChangingZone": "YES"
},
"forceUpdateOnRepair": "YES"
}
}
Para criar um MIG que possa corrigir a VM em uma zona alternativa, use o
regionInstanceGroupManagers.insert método:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
{
"name": "MIG_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"targetSize": SIZE,
"distributionPolicy": {
"targetShape": "SHAPE"
}
"updatePolicy": {
"instanceRedistributionType": none
}
"instanceLifecyclePolicy": {
"forceUpdateOnRepair": "YES",
"onRepair": {
"allowChangingZone": "YES"
}
}
}
Substitua:
PROJECT_ID: o ID do projeto .REGION: a região em que o MIG está localizado;MIG_NAME: o nome do MIG;INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar instâncias no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID. - Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
SIZE: o tamanho de destino do MIG;SHAPE: o formato de distribuição de destino. Esse valor pode serBALANCEDouANY.
Não permitir reparos em uma zona alternativa
Se você configurou um MIG para corrigir a VM em uma zona alternativa, poderá restaurar a configuração padrão em que o MIG corrige a VM na zona original.
Para não permitir reparos em uma zona alternativa, selecione uma das seguintes opções:
Console
No console, do Google Cloud , acesse a página Grupos de instâncias.
Clique no nome do MIG.
Clique em Editar.
Acesse a seção Ciclo de vida da instância de VM.
Na seção Mudar a zona durante a correção da instância de VM, desmarque a caixa de seleção Permitir a correção de VMs em uma zona alternativa.
Clique em Salvar.
gcloud
Para não permitir reparos em uma zona alternativa, use o
update comando:
gcloud compute instance-groups managed update MIG_NAME \
--on-repair-allow-changing-zone=NO \
--region=REGION
Substitua:
MIG_NAME: o nome do MIG;REGION: a região em que o MIG está localizado.
REST
Para não permitir reparos em uma zona alternativa, use o
regionInstanceGroupManagers.patch método:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy": {
"onRepair": {
"allowChangingZone": "NO"
}
}
}
Substitua:
A seguir
- Verificar a configuração de reparo em um MIG
- Verificar a zona de uma VM listando as instâncias gerenciadas