Em um grupo gerenciado de instâncias (MIG) regional, para manter um número igual de instâncias de máquina virtual (VM) nas zonas selecionadas na região, use redistribuição proativa de instâncias. Essa configuração maximiza a disponibilidade do aplicativo no caso de uma falha no nível da zona.
A redistribuição proativa de instâncias é ativada por padrão para MIGs regionais. Quando a redistribuição proativa de instâncias é desativada, o grupo não tenta redistribuir proativamente as VMs entre as zonas. Isso é útil quando caso seja necessário necessário:
- Excluir ou abandonar VMs do grupo sem afetar outras VMs em execução. Por exemplo, é possível excluir uma VM de worker em lote após a conclusão do job sem afetar outros workers.
- Proteger VMs com cargas de trabalho com estado contra exclusão automática indesejada devido à redistribuição proativa.
- Defina o formato de distribuição de destino do MIG como
BALANCEDouANY_SINGLE_ZONE.
É possível desativar a redistribuição proativa de instâncias ao criar um MIG regional. Também é possível ativá-lo ou desativá-lo para um MIG regional existente.
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 amostras 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.
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 .
Como criar um grupo com a redistribuição proativa de instâncias desativada
Para criar um MIG regional com a redistribuição proativa de instâncias desativada, use o Google Cloud console, a CLI gcloud, Terraform ou REST.
Console
- No Google Cloud console, acesse a página Grupos de instâncias.
- Clique em Criar grupo de instâncias para criar um novo grupo.
- Atribua um nome e, se quiser, uma descrição ao grupo de instâncias.
- Selecione um modelo de instância para o grupo ou crie um modelo novo.
- Especifique o número de VMs para este grupo. Para cargas de trabalho altamente disponíveis, lembre-se de provisionar VMs suficientes para fazer com que o aplicativo continue a funcionar se uma zona falhar.
- Em Local, selecione Várias zonas.
- Escolha uma região e selecione as zonas que você quer usar.
- Para desativar a redistribuição proativa de instâncias, em Redistribuição de instâncias, desmarque a caixa de seleção Permitir redistribuição de instâncias.
- Continue com o restante do processo de criação do MIG.
gcloud
Para criar um novo MIG regional sem redistribuição proativa de instâncias,
use o comando
gcloud compute instance-groups managed create
com a sinalização --instance-redistribution-type definida como NONE.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--template INSTANCE_TEMPLATE_NAME \
--size TARGET_SIZE \
--zones ZONES \
--instance-redistribution-type NONESubstitua:
INSTANCE_GROUP_NAME: o nome do MIG;INSTANCE_TEMPLATE_NAME: o nome do modelo de instância a ser usado para o grupo;TARGET_SIZE: o tamanho de destino do grupo;ZONES: a lista de zonas em uma única região em que você quer implantar VMs
Exemplo:
gcloud compute instance-groups managed create example-rmig \
--template example-template \
--size 30 \
--zones us-east1-b,us-east1-c \
--instance-redistribution-type NONETerraform
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 regional, use o
google_compute_region_instance_group_manager recurso.
Para desativar a redistribuição proativa de instâncias em um MIG regional, inclua o bloco update_policy e defina o campo instance_redistribution_type como NONE.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
REST
Para criar um MIG regional, sem escalonamento automático e sem redistribuição proativa de instâncias,
faça uma solicitação POST ao método regionInstanceGroupManagers.insert. No corpo da solicitação, inclua a propriedade updatePolicy e defina o respectivo campo
instanceRedistributionType como NONE.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"name": "INSTANCE_GROUP_NAME",
"instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
"targetSize": TARGET_SIZE,
"distributionPolicy": {
"zones": [
{"zone": "zones/ZONE"},
{"zone": "zones/ZONE"}
]
},
"updatePolicy": {
"instanceRedistributionType": "NONE"
}
}Substitua:
PROJECT_ID: o ID do projeto desta solicitação;REGION: a região do grupo de instâncias;INSTANCE_GROUP_NAME: o nome do MIG;INSTANCE_TEMPLATE_NAME: o nome do modelo de instância a ser usado para o grupo;TARGET_SIZE: o tamanho de destino do grupo de instâncias;ZONE: o nome de uma zona na única região em que você quer implantar as VMs
Como desativar a redistribuição proativa de instâncias
Para desativar ou reativar a redistribuição proativa de instâncias, use o Google Cloud console, a CLI gcloud ou REST.
Console
- No Google Cloud console, acesse a página Grupos de instâncias.
- Na coluna Nome da lista, clique no nome do grupo de instâncias que você quer modificar.
- Clique em Editar para modificar o grupo gerenciado de instâncias.
- Clique em Local para expandir a seção.
- Na seção Redistribuição de instâncias, desmarque a caixa de seleção Permitir redistribuição de instâncias.
- Clique em Salvar.
gcloud
Para desativar a redistribuição proativa de instâncias, use o
compute instance-groups managed update comando
e defina a --instance-redistribution-type sinalização como NONE da seguinte maneira:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
--instance-redistribution-type NONE \
--region REGION
Substitua:
INSTANCE_GROUP_NAME: o nome do MIG.REGION: a região do grupo de instâncias.
REST
Para desativar a redistribuição proativa de instâncias, use o
regionInstanceGroupManagers.patch método
e defina o campo instanceRedistributionType como NONE da seguinte maneira:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"updatePolicy": {
"instanceRedistributionType": "NONE"
}
}
Substitua:
PROJECT_ID: o ID do projeto desta solicitação;REGION: a região do grupo de instâncias;INSTANCE_GROUP_NAME: o nome do MIG.
Como ativar a redistribuição proativa de instâncias
Para ativar a redistribuição proativa de instâncias, use um comando semelhante ao visto em
Como desativar a redistribuição proativa de instâncias,
mas defina o tipo de redistribuição de instâncias como PROACTIVE.
Se você tiver excluído ou abandonado manualmente algumas instâncias gerenciadas que resultam em uma distribuição desigual de VMs na região, antes de reativar a redistribuição proativa de instâncias, será necessário reequilibrar manualmente o grupo. A diferença no número de VMs entre duas zonas não pode exceder uma VM.
Um MIG regional não permite ativar a redistribuição proativa de instâncias quando as VMs são distribuídas de maneira uniforme entre as zonas (a diferença no número de VMs entre duas zonas é de duas ou mais VMs). Isso evita uma exclusão automática não intencional de VMs de zonas com mais VMs, o que seria acionado para atingir a distribuição uniforme.
A seguir
- Saiba mais sobre Como visualizar informações sobre MIGs e as respectivas VMs.
- Saiba mais sobre como trabalhar com VMs em um MIG, incluindo como adicionar, recriar e remover instâncias.