Em um grupo de instâncias gerenciadas (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
BALANCED
ouANY_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
- Para usar os exemplos da API deste guia, configure o acesso a ela.
- Para usar os exemplos de linha de comando deste guia, instale a Google Cloud CLI.
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 console do Google Cloud, a CLI gcloud ou a API Compute Engine.
Console
- No Console do Google Cloud, 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 NONE
Substitua:
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 NONE
API
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 console do Google Cloud, a CLI gcloud ou a API Compute Engine.
Console
- No Console do Google Cloud, 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.
- Em Redistribuição da instância, desmarque a caixa de seleção Permitir redistribuição de instâncias.
- Clique em Save.
gcloud
Para desativar a redistribuição proativa de instâncias, defina a sinalização --instance-redistribution-type
como NONE
usando um comando da seguinte maneira:
Para um MIG regional com escalonamento automático automático ou não, com o modo definido como
OFF
ouONLY_SCALE_OUT
, use ocompute instance-groups managed update
.Exemplo:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --instance-redistribution-type NONE \ --region REGION
Para um MIG regional com escalonamento automático e o modo definido como
ON
, use o comando Betacompute instance-groups managed update
.Exemplo:
gcloud beta 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.
API
Para desativar a redistribuição proativa de instâncias, defina o campo
instanceRedistributionType
como NONE
usando um método da seguinte maneira:
Para um MIG regional com escalonamento automático automático ou não, com o modo definido como
OFF
ouONLY_SCALE_OUT
, use oregionInstanceGroupManagers.patch
.Exemplo:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "instanceRedistributionType": "NONE" } }
Para um MIG regional com escalonamento automático e o modo definido como
ON
, use o método BetaregionInstanceGroupManagers.patch
.Exemplo:
PATCH https://compute.googleapis.com/compute/beta/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.