Esta página explica como você pode configurar as instâncias de máquina virtual (VM) em um grupo de instâncias gerenciadas (MIG) e os métodos que você pode usar para aplicar a configuração às VMs existentes no grupo.
Você especifica a configuração pretendida para as VMs em um MIG usando os seguintes componentes de configuração de VM:
- Obrigatório: modelo de instância
- Opcional: configuração de todas as instâncias
- Opcional: configuração com estado
Sempre que você atualizar a configuração pretendida usando esses componentes, o Compute Engine aplicará automaticamente a configuração atualizada às novas VMs adicionadas ao grupo.
Para aplicar uma configuração atualizada às VMs existentes, use os métodos descritos nesta página:
- Lançamentos automáticos com orçamento disruptivo e atualizações canário opcionais de novos modelos
- Atualizações seletivas e manuais apenas para VMs específicas, para minimizar interrupções
- Recriação de VMs específicas
Você também pode configurar seu MIG para aplicar a configuração mais recente disponível às VMs durante os reparos de VMs. Para obter mais informações, consulte Aplicar atualizações de configuração durante reparos .
Se você precisar apenas redimensionar um MIG, consulte a documentação sobre como adicionar ou remover VMs em um MIG . Se você quiser saber mais sobre como configurar recursos MIG, consulte a documentação sobre escalonamento automático , recuperação automática , balanceamento de carga e cargas de trabalho com estado .
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.
- Automático (proativo) : use este método se desejar que o MIG aplique automaticamente novas configurações a todas ou a um subconjunto de VMs existentes no grupo. O nível de interrupção nas VMs em execução depende da política de atualização que você configura. Você pode usar este método para atualizar novos modelos de instância. Para usar este método, defina o tipo de atualização do MIG como “proativo”.
- Seletivo (oportunista) : use este método se quiser aplicar a atualização manualmente ou se quiser atualizar todas as VMs existentes no grupo de uma só vez. Você direciona uma ou todas as VMs para serem atualizadas para a configuração mais recente. Para usar este método, defina o tipo de atualização do MIG como “oportunista”.
- Recriação de VMs : aplique novas configurações recriando VMs específicas.
- A implementação de uma atualização ocorre automaticamente de acordo com suas especificações, sem a necessidade de informações adicionais após a solicitação inicial. Você pode especificar a velocidade de implantação, o nível de interrupção do seu serviço e o escopo da atualização.
- Você pode automatizar implementações parciais, o que permite testes canário.
- Você pode selecionar as VMs que deseja atualizar.
- Você pode controlar o tempo e a sequência das atualizações.
- Você pode usar a CLI gcloud ou REST para atualizar todas as instâncias imediatamente.
Uma das VMs do seu MIG está inoperante e precisa ser reparada, mas você não quer que sua configuração seja alterada. Se você definir o tipo de atualização do MIG como oportunista e não aplicar atualizações à força durante os reparos , o Compute Engine reparará a VM usando a mesma configuração usada para criá-la, mesmo que o modelo de instância original não exista mais.
Você tem um MIG com escalonamento automático e deseja aplicar uma atualização não crítica sem qualquer urgência. Para garantir que o Compute Engine não destrua as VMs existentes para aplicar a atualização, defina o tipo de atualização do MIG como oportunista. Ao aumentar, o escalonador automático encerra preferencialmente as VMs com a configuração antiga. Quando o grupo aumenta, ele cria VMs com a configuração mais recente.
No console do Google Cloud, acesse a página Grupos de instâncias .
Selecione o MIG que você deseja atualizar.
Na parte superior da página, clique em Atualizar VMs .
Para definir um modelo diferente para o grupo, em Novo modelo , selecione o modelo de instância que deseja usar.
Em Configuração de atualização , escolha atualização automática ou seletiva.
-
INSTANCE_GROUP_NAME
: o nome do grupo -
NEW_TEMPLATE
: o nome do novo modelo para o grupo -
TYPE
: o tipo de atualização,opportunistic
ouproactive
-
PROJECT_ID
: o projeto no qual o MIG existe. -
REGION
: a região onde seu MIG está localizado. Para um MIG zonal, substituaregions/ REGION
porzones/ ZONE
. -
INSTANCE_GROUP_NAME
: o nome do grupo. -
NEW_TEMPLATE
: o nome do novo template do grupo. -
TYPE
: o tipo de atualização,OPPORTUNISTIC
ouPROACTIVE
. - Aplicar automaticamente atualizações de configuração de VM em um MIG
- Aplicar seletivamente atualizações de configuração de VM em um MIG
- VMs em execução, suspensas e interrompidas
- VMs com status
SUSPENDING
ouSTOPPING
- Exclui as VMs suspensas e interrompidas.
- Cria novas VMs com o novo modelo de instância.
- Executa o processo de inicialização.
- Suspende ou interrompe as VMs.
- Retoma ou inicia as VMs.
- Executa a atualização nas VMs quando elas estão em execução.
- Executa o processo de inicialização.
- Suspende ou interrompe as VMs.
- No modo de política de espera
manual
, o MIG atualiza apenas as VMs em execução com base no número ou porcentagem de VMs às quais você deseja aplicar a atualização. As VMs suspensas e paradas permanecem nas versões anteriores. - No modo de política de espera
scale-out-pool
, não é possível iniciar uma atualização canário no MIG. Você define ambos os campos com o mesmo valor.
Este é um pedido válido. Neste caso, não cria ambiguidade e o novo modelo de instância é aplicado ao MIG.
Por exemplo, na solicitação a seguir, o
instanceTemplate
de nível superior e o campoversions
especificam o mesmo modelo de instância que é diferente do modelo atual existente, de modo que o MIG é atualizado para o novo modelo de instância:{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Você define ambos os campos com valores que não correspondem, mas apenas um valor difere do modelo de instância atual no MIG.
Este é um pedido válido. O campo diferente da configuração atual é considerado o valor pretendido. Por exemplo, você chama o método
update()
e fornece ambos os campos, mas apenas um campo é atualizado:{ "instanceTemplate": "global/instanceTemplates/CURRENT_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Você define ambos os campos com valores que não correspondem e ambos os valores diferem do modelo de instância atual no MIG.
Esta configuração é inválida e retorna um erro porque não há uma intenção clara.
{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/A_DIFFERENT_NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
- Saiba mais sobre como implementar automaticamente um novo modelo de instância em um MIG .
- Saiba mais sobre como atualizar VMs seletivamente em um MIG .
- Visualize informações sobre seu MIG e suas VMs.
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.
Componentes de configuração para VMs em um MIG
Você configura as VMs em um MIG por meio dos seguintes componentes:
Componente Propriedades Caso de uso Modelo de instância Tipo de máquina, imagem do disco de inicialização, rótulos, script de inicialização e outras propriedades da VM Obrigatório : use um modelo de instância para definir propriedades de instância obrigatórias e opcionais para todas as VMs do grupo.
Opcional: se desejar testar canário uma segunda configuração de VM, você poderá adicionar um segundo modelo de instância ao grupo e aplicá-lo a um subconjunto de VMs no grupo.Configuração de todas as instâncias Rótulos e metadados Opcional: Use uma configuração de todas as instâncias para substituir rapidamente as propriedades do modelo de instância para todas as VMs do grupo. Configuração com estado Discos com estado, endereços IP e metadados Opcional: se você precisar oferecer suporte a uma carga de trabalho com estado , adicione configuração com estado às VMs do grupo. Se você atualizar qualquer configuração do grupo por meio desses componentes, deverá aplicar a configuração atualizada às VMs existentes no grupo para tornar a configuração atualizada efetiva.
Métodos para aplicar uma nova configuração a VMs existentes
Depois de atualizar a configuração de VM de um MIG, você poderá aplicar a nova configuração às VMs existentes no grupo usando os seguintes métodos:
Para obter mais informações sobre como configurar o tipo de atualização de um MIG, consulte Configurar uma atualização proativa ou oportunista .
Automático (proativo)
Um tipo de atualização automática também é conhecido como tipo de atualização proativa . Quando você define o tipo de atualização do MIG como proativo, o MIG aplica automaticamente configurações atualizadas às VMs conforme necessário.
Definir o tipo de atualização do MIG como proativo oferece duas vantagens principais:
Para saber como definir o tipo de atualização do MIG, consulte Configurar uma atualização proativa ou oportunista .
Para obter mais informações sobre implementações automáticas, consulte Aplicar automaticamente atualizações de configuração de VM em um MIG .
Seletivo (oportunista)
Um tipo de atualização seletiva também é conhecido como tipo de atualização oportunista . Quando você define o tipo de atualização do MIG como oportunista, o MIG aplica novas configurações às VMs existentes somente quando você direciona seletivamente VMs específicas a serem atualizadas.
Definir o tipo de atualização do MIG como oportunista oferece as seguintes vantagens:
Em determinados cenários, um tipo de atualização seletiva é útil porque você não deseja causar instabilidade ao sistema se isso puder ser evitado. Por exemplo, considere o seguinte:
Para saber como definir o tipo de atualização do MIG, consulte Configurar uma atualização proativa ou oportunista .
Para obter mais informações sobre a atualização seletiva de VMs, consulte Aplicar seletivamente atualizações de configuração de VM em um MIG .
Recriação de VMs
Você pode recriar qualquer VM em um MIG. Ao fazer isso, o MIG aplica qualquer configuração atualizada que ainda não tenha sido aplicada a essa VM. Para obter mais informações, consulte Recriando VMs em um MIG .
Configure uma atualização proativa ou oportunista
Para aplicar automaticamente novas configurações às VMs existentes, defina o tipo de atualização do MIG como "proativo". Para aplicar novas configurações a VMs existentes somente quando você seleciona uma VM a ser atualizada, defina o tipo de atualização do MIG como "oportunista".
Use o console do Google Cloud, a CLI do Google Cloud ou REST.
Console
gcloud
Use o comando
rolling-action start-update
e defina o sinalizador--type
comoopportunistic
ouproactive
.gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=NEW_TEMPLATE \ --type=TYPE
Você também pode usar o comando beta
update
e incluir o sinalizador--update-policy-type
.gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --update-policy-type=TYPE
Substitua o seguinte:
DESCANSAR
Chame o método
patch
em um recurso MIG zonal ou regional .PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "TYPE" # Choose an opportunistic or proactive update }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Substitua o seguinte:
Para saber mais sobre como configurar um novo modelo e depois aplicá-lo a VMs novas e existentes em um MIG, consulte as páginas a seguir:
Verifique o tipo de política de atualização do seu grupo
Você pode visualizar o tipo de política de atualização atualmente configurado do seu MIG ("oportunista" ou "proativo") e outras configurações de política de atualização usando a CLI gcloud ou REST.
gcloud
Use o comando
describe
e inclua o sinalizador--format
para listar apenas as configuraçõesupdatePolicy
.gcloud beta compute instance-groups managed describe INSTANCE_GROUP_NAME \ --format="(updatePolicy)"
DESCANSAR
Faça uma solicitação
GET
em um MIG zonal ou regional e verifique o campoupdatePolicy
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Para alterar o tipo de política, consulte Configurar uma atualização proativa ou oportunista .
Atualizações para VMs suspensas e interrompidas
Se você suspendeu e interrompeu pools de VMs em um MIG, poderá atualizar seletivamente (oportunistamente) as VMs suspensas ou interrompidas, assim como atualiza outras VMs em execução. Se você configurar atualizações automáticas (proativas), o MIG atualizará as VMs na seguinte ordem:
Para uma atualização automática, o MIG calcula o pico máximo e o máximo indisponível com base apenas no número alvo de VMs em execução e não considera as VMs no pool de espera.
Se a atualização automática exigir a substituição de VMs no grupo, o MIG fará o seguinte:
Se a atualização automática exigir apenas a atualização ou reinicialização das VMs do grupo, o MIG fará o seguinte:
Atualizações canário
Se você quiser iniciar atualizações canário em um MIG que suspendeu ou interrompeu VMs, aplica-se o seguinte:
Relacionamento entre
versions
e camposinstanceTemplate
Se você usar REST, recomendamos usar os campos
instanceGroupManagers.versions
eregionInstanceGroupManagers.versions
para configurar modelos de instância para MIGs zonais e regionais.O campo
instanceTemplate
herdado se sobrepõe em funcionalidade ao campoversions
porque ambos os campos permitem especificar qual modelo de instância o MIG usa para criar VMs. No entanto, apenas o campoversions
permite especificar uma configuração avançada de dois modelos (canário).Para compatibilidade com versões anteriores, os MIGs continuam a oferecer suporte à configuração do campo
instanceTemplate
de nível superior, embora recomendamos que você passe a usar apenas o campoversions
. Usar o campoinstanceTemplate
de nível superior e o campoversions
ao mesmo tempo pode causar ambiguidade e confusão.Se você especificar o campo
instanceTemplate
e o campoversions
ao chamar o métodoupdate()
oupatch()
, haverá três resultados possíveis:O campo
versions
, o campoinstanceTemplate
e o métodoget()
Se você especificar apenas um modelo de instância, por meio do campo
instanceTemplate
de nível superior ou por meio do campoversions
ou por meio de ambos, o métodoget()
retornará ambos os campos em sua resposta. Isso torna o campo de novasversions
compatível com versões anteriores. Contanto que você especifique um único modelo de instância em qualquer um desses campos, não haverá alteração no que o métodoget()
retorna no campoinstanceTemplate
.Se o campo
versions
tiver dois modelos de instância especificados, o métodoget()
retornará um campoinstanceTemplate
de nível superior vazio. Não há como expressar inequivocamente uma configuração de modelo canário de duas instâncias no campoinstanceTemplate
de nível superior, portanto, o campo não é usado durante uma atualização canário.O campo
versions
e o métodosetInstanceTemplate()
Para compatibilidade com versões anteriores, o método
setInstanceTemplate()
se comporta como antes, permitindo alterar o modelo que o MIG usa para criar VMs. Ao chamar esse método, o campoversions
é substituído pelo modelo de instância especificado pelo métodosetInstanceTemplate()
.O método
setInstanceTemplate()
também defineupdatePolicy
comoOPPORTUNISTIC
. Isso evita que o MIG implante ativamente um modelo de instância que não esteja explicitamente especificado no campoversions
.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.
-