Neste documento, você verá como criar um grupo gerenciado de instâncias (MIG, na sigla em inglês) com as VMs espalhadas por várias zonas em uma região. A distribuição da carga de aplicativos entre várias zonas protege a carga de trabalho contra falhas zonais. Se ocorrer uma falha na zona, o aplicativo poderá continuar a exibição de instâncias em execução nas zonas disponíveis restantes na mesma região.
Esse tipo de MIG também é conhecido como MIG regional. Para mais informações, consulte Sobre MIGs regionais.
Você também pode ler sobre outros cenários básicos para criar um MIG.
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.
- Crie um modelo de instância, que é necessário para criar um grupo de instâncias gerenciadas.
Limitações
Para ver a lista completa de limitações do MIG, que varia de acordo com a configuração usada, consulte Limitações do MIG.
Criar um MIG com VMs em várias zonas em uma região
Use o Console do Cloud, a CLI gcloud ou a API Compute Engine.
Console
- No Console do Cloud, acesse a página Grupos de instâncias.
- Clique em Criar grupo de instâncias para criar um novo grupo.
- Selecione uma das opções do novo grupo de instâncias gerenciadas: sem estado (padrão) ou com estado.
- 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. Lembre-se de provisionar VMs suficientes para dar suporte ao aplicativo se ocorrer uma falha de zona.
- Em Local, selecione Várias zonas.
- Escolha uma região e selecione as zonas que você quer usar.
- Em Forma de distribuição de destino, selecione Uniforme. Se você quiser selecionar uma forma diferente, consulte Definir uma forma de distribuição de destino para VMs em um MIG regional.
- Se você quiser desativar a redistribuição proativa de instâncias, siga estas etapas:
- Verifique se o Modo de escalonamento automático está definido como Desativado: não fazer escalonamento automático.
- Em Redistribuição da instância, desmarque a caixa de seleção Ativar redistribuição de instâncias.
- Continue com o restante do processo de criação do MIG.
gcloud
Todos os MIGs exigem um modelo de instância. Caso ainda não tenha um, crie um modelo de instância. Por exemplo, o comando a seguir cria um modelo básico de instância com propriedades padrão:
gcloud compute instance-templates create example-template
Em seguida, use o
comando instance-groups managed create
com a sinalização --region
. Por exemplo, o comando a seguir cria um
MIG regional em três zonas dentro da região us-east1
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --region us-east1
Para selecionar zonas específicas
que o grupo usará, especifique a sinalização --zones
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c
Para desativar a redistribuição proativa de instâncias,
defina a sinalização --instance-redistribution-type
como NONE
. Não é possível desativar
a redistribuição proativa de instâncias se o escalonamento automático estiver ativado.
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --instance-redistribution-type NONE \ --region us-east1
API
Todos os MIGs exigem um modelo de instância. Caso ainda não tenha um, crie um modelo de instância.
Em seguida, crie uma solicitação POST
para o
método regionInstanceGroupManagers.insert
.
No corpo da solicitação, especifique o nome e o tamanho do grupo e o URL
do modelo de instância. Opcionalmente, especifique outros campos, como o nome de base
das instâncias no grupo.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE" }
Substitua:
PROJECT_ID
: o ID do projeto desta solicitação;REGION
: a região do grupo;BASE_INSTANCE_NAME
: o nome da instância de cada instância de VM criada como parte do grupo. Por exemplo, o nome de instância de baseexample-instance
cria instâncias com nomes comoexample-instance-[RANDOM_STRING]
, em que[RANDOM_STRING]
é gerado pelo servidor;INSTANCE_TEMPLATE_NAME
: o modelo de instância a ser usado;INSTANCE_GROUP_NAME
: o nome do MIG;TARGET_SIZE
: o número pretendido de VMs para o grupo.
Se você quiser
selecionar zonas específicas
ou criar VMs em uma região com menos ou mais de três
zonas, inclua a propriedade distributionPolicy
na solicitação e forneça uma
lista de zonas. Substitua ZONE
pelo nome de uma
zona onde criar VMs.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE", "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] } }
Por exemplo, o seguinte cria um MIG regional chamado example-rmig
com 10 instâncias gerenciadas distribuídas entre as zonas us-east1-b
e us-east1-c
:
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-east1/instanceGroupManagers { "instanceTemplate": "global/instanceTemplates/example-instance", "name": "example-rmig", "targetSize": 10, "distributionPolicy": { "zones": [ {"zone": "zones/us-east1-b"}, {"zone": "zones/us-east1-c"} ] } }
Dependendo de como você configura e age em um MIG, várias políticas e ações podem afetar as instâncias no grupo. Para determinar quais instâncias gerenciadas estão em execução, consulte Como verificar o status de instâncias gerenciadas.
Se não houver capacidade suficiente em cada zona para aceitar as VMs do grupo, o Compute Engine criará o máximo de VMs possível e continuará a criar as outras restantes quando houver capacidade extra disponível.
Por padrão, se você não especificar explicitamente zonas individuais na solicitação, o Compute Engine escolherá automaticamente três zonas para criar VMs. Se precisar criar VMs em mais de ou menos de três zonas ou se quiser escolher quais zonas serão usadas, forneça uma lista de zonas em sua solicitação. Para mais informações, consulte Seleção de zona.
Distribuição de VMs entre zonas
Por padrão, um MIG regional distribui VMs de maneira uniforme nas zonas selecionadas. Como você está criando um MIG regional, lembre-se de que determinados recursos são zonais, como GPUs e discos permanentes atuais. Se o modelo de instância do MIG especificar recursos zonais, você terá de garantir que todos esses recursos estejam presentes em todas as zonas selecionadas para que possam ser anexados às VMs criadas pelo MIG regional. Como alternativa, se quiser que o grupo verifique a existência de recursos zonais, defina o formato de distribuição de destino do MIG para criar instâncias somente em zonas que contenham esses recursos.
Para mais informações, consulte estes documentos:
Definir um formato de distribuição de destino para VMs entre zonas
Redistribuição proativa de instâncias
A redistribuição proativa de instâncias
é ativada por padrão. Se você precisar gerenciar manualmente o número de VMs em cada
zona ou definir o formato de distribuição de destino do MIG como BALANCED
,
desative a redistribuição proativa de instâncias.
Para mais informações, consulte os documentos a seguir:
A seguir
- Configure a recuperação automática baseada em aplicativo, que verifica periodicamente se o aplicativo responde conforme o esperado em cada uma das VMs do MIG e recria automaticamente as VMs que não respondem.
- Ative o escalonamento automático para adicionar ou excluir VMs automaticamente do seu MIG com base em aumentos ou reduções de carga.
- Saiba como aplicar uma nova configuração a todas ou a um subconjunto das VMs em um MIG definindo e aplicando um novo modelo de instância ou configuração por instância.
- Preserve discos, metadados e endereços IP em eventos que causam interrupções, como recriação de VM, recuperação automática e atualizações por meio da configuração com estado.
- Saiba como trabalhar com instâncias gerenciadas, por exemplo, para excluir, abandonar e recriar VMs em um MIG.
- Veja informações sobre MIGs e as respectivas VMs.
- Simular uma falha de zona em um MIG regional