Se usar um grupo de instâncias geridas (GIG) regional, pode definir a forma de distribuição de destino desse GIG para uma das seguintes opções:
- EVEN (predefinição): o grupo cria e elimina VMs para alcançar e manter o mesmo número de VMs nas zonas selecionadas. Numa distribuição
EVEN
, o número de VMs não difere em mais de 1 entre duas zonas. Recomendado para cargas de trabalho de publicação altamente disponíveis. - EQUILIBRADO: o grupo dá prioridade à criação de VMs em zonas onde os recursos estão disponíveis, ao mesmo tempo que distribui as VMs o mais uniformemente possível pelas zonas selecionadas para minimizar o impacto de uma falha zonal. Recomendado para o fornecimento altamente disponível ou cargas de trabalho em lote.
- ANY: o grupo escolhe zonas para criar instâncias de VM de modo a cumprir o número de VMs pedido dentro das restrições de recursos atuais e maximizar a utilização de reservas zonais não usadas. Recomendado para cargas de trabalho em lotes que não requerem alta disponibilidade.
- QUALQUER ZONA ÚNICA: o grupo cria todas as instâncias de VMs numa única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e quotas, e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instâncias compactas para cargas de trabalho que requerem uma comunicação extensiva entre VMs.
Para usar VMs reservadas num grupo de instâncias gerido regional, crie reservas idênticas com o mesmo nome em cada zona aplicável. Em seguida, segmente essas reservas por nome no modelo de instância do grupo.
Para ajudar a escolher uma forma, consulte a tabela de comparação, exemplos de utilização, e como funcionam as formas de distribuição.
Defina um formato de distribuição de destino quando criar o seu GIG regional ou atualizar o formato de destino de um GIG regional existente.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se 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
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
Terraform
Para usar os exemplos do Terraform nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud.
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Limitações
- Só pode selecionar zonas para o MIG quando o cria.
Se especificar recursos no modelo de instância ou na configuração com estado do MIG que não estão disponíveis em todas as zonas selecionadas, aplicam-se as seguintes limitações:
- Tem de definir o
formato de distribuição do alvo
como
BALANCED
,ANY
ouANY_SINGLE_ZONE
. - Tem de garantir que todos os recursos necessários para o MIG, por exemplo, discos existentes, tipos de máquinas ou GPUs, estão disponíveis em, pelo menos, uma das zonas selecionadas.
- Se quiser atualizar a configuração do MIG (por exemplo, o modelo de instância) para uma configuração que não pode ser instanciada em todas as zonas selecionadas, tem de remover as instâncias geridas de todas as zonas não suportadas antes de definir a nova configuração.
- Tem de definir o
formato de distribuição do alvo
como
Para definir o formato de distribuição alvo como
BALANCED
ouANY_SINGLE_ZONE
, tem de desativar a redistribuição proativa de instâncias.- Se quiser dimensionar automaticamente um MIG regional, tem de definir a
forma de distribuição de destino do grupo como
BALANCED
ouEVEN
. Se definir o formato de distribuição alvo como
BALANCED
,ANY
ouANY_SINGLE_ZONE
, aplicam-se as seguintes limitações:- As atualizações do Canary com duas versões não são suportadas.
- No caso de disponibilidade limitada dos recursos pedidos em toda a região, o grupo pode agendar a criação de instâncias de VM numa zona onde os recursos já estão indisponíveis. Pode tentar diminuir e aumentar o tamanho do grupo para obter os recursos pedidos noutras zonas.
- As atualizações implementadas que usam o
SUBSTITUTE
método de substituição tentam criar as novas instâncias atualizadas na mesma zona que as máquinas obsoletas, mesmo que a zona não tenha recursos para satisfazer os requisitos da nova versão. Para mediar este comportamento, pode eliminar as VMs desatualizadas da zona restrita e, em seguida, aumentar o tamanho do grupo pelo número de VMs eliminadas. O grupo cria instâncias a partir do modelo mais recente em zonas onde a capacidade está disponível. - Se quiser atualizar o modelo de instância do grupo para um modelo que especifique recursos que não estão disponíveis em todas as zonas selecionadas, tem de remover as instâncias geridas de zonas não suportadas antes de definir o novo modelo.
Se definir o formato de distribuição de destino como
ANY_SINGLE_ZONE
e o grupo tiver VMs existentes numa única zona, só pode criar VMs adicionais nessa zona. Se quiser usar uma zona diferente, primeiro tem de reduzir o grupo para zero VMs.Se precisar de aprovisionar um grupo de VMs de inquilino único, tem de definir o formato de distribuição de destino do GIG como
EVEN
. Crie os seus grupos de nós nas mesmas zonas que as zonas do GMG e defina as afinidades de nós do GMG no modelo de instância do GMG.
Criar um grupo com um formato de distribuição alvo
Para criar o seu grupo, selecione as respetivas zonas e defina a forma de distribuição do alvo. Use o Google Cloud console, a CLI gcloud, o Terraform ou o REST.
Consola
- Na Google Cloud consola, aceda à página Grupos de instâncias.
- Clique em Criar grupo de instâncias para criar um novo grupo de instâncias.
- Selecione uma das Novas opções de grupo de instâncias gerido: sem estado (predefinição) ou com estado.
- Atribua um nome e, opcionalmente, uma descrição ao grupo de instâncias.
- Escolha um modelo de instância para o grupo de instâncias ou crie um novo.
- Especifique o número de VMs para este grupo. Para cargas de trabalho de elevada disponibilidade, lembre-se de aprovisionar VMs suficientes para suportar a sua aplicação se ocorrer uma falha de zona.
- Em Localização, selecione Várias zonas.
Escolha uma região e selecione as zonas que quer usar.
- Se quiser que o MIG possa usar todas as zonas na região, selecione todas as zonas disponíveis.
- Tenha em atenção que não pode atualizar um MIG regional para usar zonas diferentes depois de o criar.
Escolha uma forma de distribuição alvo.
- Se quiser selecionar Qualquer ou Qualquer zona única, na secção Ajuste automático, clique em Modo de ajuste automático e escolha Eliminar configuração do ajuste automático.
- Se quiser selecionar Qualquer zona única ou Equilibrado, na secção Redistribuição de instâncias, não selecione Permitir redistribuição de instâncias.
Continue com o resto do processo de criação do MIG.
gcloud
Use o comando
gcloud compute instance-groups managed create
e inclua a flag--target-distribution-shape
.gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template TEMPLATE \ --size SIZE \ --region REGION \ --zones ZONES \ --target-distribution-shape SHAPE
Substitua o seguinte:
INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.TEMPLATE
: o nome do modelo de instância a usar para o grupo.SIZE
: o tamanho de destino do grupo de instâncias.REGION
: a região onde quer o seu grupo.ZONES
(opcional): uma lista de zonas na região onde quer implementar instâncias de VM. Por predefinição, o Compute Engine seleciona três zonas para si.Se quiser que o MIG possa usar todas as zonas na região, especifique todas as zonas disponíveis. Pode obter uma lista de zonas na região com o seguinte comando:
gcloud compute zones list --filter=region:
REGION
--format='list(NAME)'Tenha em atenção que não pode atualizar um MIG regional para usar zonas diferentes depois de o criar.
SHAPE
: a forma de distribuição alvo. Pode ter um dos seguintes valores:even
(predefinição): o grupo cria e elimina VMs para alcançar e manter o mesmo número de VMs nas zonas selecionadas. Numa distribuiçãoEVEN
, o número de VMs não difere em mais de 1 entre duas zonas. Recomendado para cargas de trabalho de publicação altamente disponíveis.balanced
: o grupo dá prioridade à criação de VMs em zonas onde os recursos estão disponíveis, ao mesmo tempo que distribui as VMs o mais uniformemente possível pelas zonas selecionadas para minimizar o impacto de uma falha zonal. Recomendado para o fornecimento altamente disponível ou cargas de trabalho em lote.any
: o grupo seleciona zonas para criar instâncias de VM de modo a cumprir o número pedido de VMs dentro das restrições de recursos atuais e maximizar a utilização de reservas zonais não usadas. Recomendado para cargas de trabalho em lotes que não requerem alta disponibilidade.any-single-zone
: o grupo cria todas as instâncias de VM numa única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e quotas, e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instâncias compactas para cargas de trabalho que requerem uma comunicação extensiva entre VMs.
Por exemplo, para criar um GIG regional com um formato de distribuição de destino equilibrado, defina a flag
--target-distribution-shape
comobalanced
.gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --target-distribution-shape balanced \ --instance-redistribution-type none
Terraform
Se ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de arranque, a rede e outras propriedades da VM que quer para cada VM no MIG, crie um modelo de instância.
Para criar um GIG regional, use o
google_compute_region_instance_group_manager
recurso.O exemplo seguinte cria um GIG regional com o formato de distribuição de destino
BALANCED
.Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
REST
Chame o método
regionInstanceGroupManagers.insert
. No corpo do pedido, inclua a propriedadedistributionPolicy
e defina o respetivo campotargetShape
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": INSTANCE_GROUP_NAME, "instanceTemplate": "global/instanceTemplates/TEMPLATE", "targetSize": SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE1"}, {"zone": "zones/ZONE2"}, {"zone": "zones/ZONE3"}, ], "targetShape": "SHAPE" } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto para este pedido.REGION
: a região do grupo de instâncias.INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.TEMPLATE
: o nome do modelo de instância a usar para o grupo de instâncias.SIZE
: o tamanho de destino do grupo de instâncias.ZONE
: o nome de uma zona na região onde quer implementar instâncias de VM.- Se quiser que o MIG possa usar todas as zonas na região,
especifique todas as zonas disponíveis. Pode obter uma lista de zonas na região chamando o método
regions.get
. - Tenha em atenção que não pode atualizar um MIG regional para usar zonas diferentes depois de o criar.
- Se quiser que o MIG possa usar todas as zonas na região,
especifique todas as zonas disponíveis. Pode obter uma lista de zonas na região chamando o método
SHAPE
: a forma de distribuição alvo. Pode ser um dos seguintes valores:EVEN
(predefinição): o grupo cria e elimina VMs para alcançar e manter o mesmo número de VMs nas zonas selecionadas. Numa distribuiçãoEVEN
, o número de VMs não difere em mais de 1 entre duas zonas. Recomendado para cargas de trabalho de publicação altamente disponíveis.BALANCED
: o grupo dá prioridade à criação de VMs em zonas onde os recursos estão disponíveis, ao mesmo tempo que distribui as VMs o mais uniformemente possível pelas zonas selecionadas para minimizar o impacto de uma falha zonal. Recomendado para o fornecimento altamente disponível ou cargas de trabalho em lote.ANY
: o grupo seleciona zonas para criar instâncias de VM de modo a cumprir o número pedido de VMs dentro das restrições de recursos atuais e maximizar a utilização de reservas zonais não usadas. Recomendado para cargas de trabalho em lotes que não requerem alta disponibilidade.ANY_SINGLE_ZONE
: o grupo cria todas as instâncias de VM numa única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e quotas, e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instâncias compactas para cargas de trabalho que requerem uma comunicação extensiva entre VMs.
Alterar a forma de distribuição de alvos de um grupo existente
Pode alterar o formato de distribuição alvo num GIG regional existente, mas com as seguintes limitações:
- Se quiser alterar o formato de distribuição alvo para
BALANCED
ouANY_SINGLE_ZONE
, primeiro tem de desativar a redistribuição proativa. - Se quiser alterar o formato de distribuição alvo para
EVEN
e se a distribuição atual de instâncias for desigual, tem de desativar primeiro a redistribuição proativa. - Se alterar a forma para
EVEN
e quiser reativar a redistribuição proativa, tem primeiro de reequilibrar manualmente o grupo. - Se quiser alterar o formato de distribuição de destino para
EVEN
, mas o modelo de instância especificar recursos que não são suportados em todas as zonas selecionadas, tem de atualizar primeiro o modelo de instância do grupo para um que seja suportado em todas as zonas selecionadas.
Consola
- Na Google Cloud consola, aceda à página Grupos de instâncias.
- Na coluna Nome da lista, clique no nome do grupo de instâncias onde quer alterar o formato de distribuição de destino.
- Clique em Editar para modificar este grupo de instâncias gerido.
- Clique em Localização para expandir a secção.
- Na lista Formato de distribuição de destino, selecione o formato que pretende.
- Clique em Guardar para aplicar as alterações.
gcloud
Use o comando
gcloud compute instance-groups managed update
e inclua a flag--target-distribution-shape
.gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --target-distribution-shape SHAPE
Substitua o seguinte:
INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.SHAPE
: a forma de distribuição alvo. Pode ser um dos seguintes valores:even
(predefinição): o grupo cria e elimina VMs para alcançar e manter o mesmo número de VMs nas zonas selecionadas. Numa distribuiçãoEVEN
, o número de VMs não difere em mais de 1 entre duas zonas. Recomendado para cargas de trabalho de publicação altamente disponíveis.balanced
: o grupo dá prioridade à criação de VMs em zonas onde os recursos estão disponíveis, ao mesmo tempo que distribui as VMs o mais uniformemente possível pelas zonas selecionadas para minimizar o impacto de uma falha zonal. Recomendado para o fornecimento altamente disponível ou cargas de trabalho em lote.any
: o grupo seleciona zonas para criar instâncias de VM de modo a cumprir o número pedido de VMs dentro das restrições de recursos atuais e maximizar a utilização de reservas zonais não usadas. Recomendado para cargas de trabalho em lotes que não requerem alta disponibilidade.any-single-zone
: o grupo cria todas as instâncias de VM numa única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e quotas, e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instâncias compactas para cargas de trabalho que requerem uma comunicação extensiva entre VMs.
REST
Chame o método
regionInstanceGroupManagers.patch
. No corpo do pedido, inclua a propriedadedistributionPolicy
e defina o respetivo campotargetShape
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "distributionPolicy": { "targetShape": "SHAPE" } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto para este pedido.REGION
: a região do grupo de instâncias.INSTANCE_GROUP_NAME
: o nome do grupo de instâncias.SHAPE
: a forma de distribuição alvo. Pode ser um dos seguintes valores:EVEN
(predefinição): o grupo cria e elimina VMs para alcançar e manter o mesmo número de VMs nas zonas selecionadas. Numa distribuiçãoEVEN
, o número de VMs não difere em mais de 1 entre duas zonas. Recomendado para cargas de trabalho de publicação altamente disponíveis.BALANCED
: o grupo dá prioridade à criação de VMs em zonas onde os recursos estão disponíveis, ao mesmo tempo que distribui as VMs o mais uniformemente possível pelas zonas selecionadas para minimizar o impacto de uma falha zonal. Recomendado para o fornecimento altamente disponível ou cargas de trabalho em lote.ANY
: o grupo seleciona zonas para criar instâncias de VM de modo a cumprir o número pedido de VMs dentro das restrições de recursos atuais e maximizar a utilização de reservas zonais não usadas. Recomendado para cargas de trabalho em lotes que não requerem alta disponibilidade.ANY_SINGLE_ZONE
: o grupo cria todas as instâncias de VM numa única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e quotas, e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instâncias compactas para cargas de trabalho que requerem uma comunicação extensiva entre VMs.
Ver a política de distribuição de instâncias configurada
Consola
- Na Google Cloud consola, aceda à página Grupos de instâncias. Se tiver grupos de instâncias existentes, a página apresenta esses grupos.
- Clique no nome do grupo de instâncias que quer examinar. É aberta uma página com as propriedades do grupo de instâncias e uma lista de instâncias incluídas no grupo.
- Clique em Detalhes.
- Na secção Localização, procure Forma de distribuição do alvo.
gcloud
Execute o comando
gcloud compute instance-groups managed describe
.gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \ --region REGION
O comando devolve os detalhes do grupo, incluindo o campo
distributionPolicy.targetShape
:... distributionPolicy: targetShape: BALANCED zones: - zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f ... name: my-group region: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1 ...
REST
Construa um pedido
GET
para o métodoregionInstanceGroupManagers.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Substitua o seguinte:
PROJECT_ID
: o ID do projeto para este pedidoREGION
: a região do grupo de instânciasINSTANCE_GROUP_NAME
: o nome do grupo de instâncias
A forma da distribuição alvo é devolvida no campo
distributionPolicy.targetShape
. Por exemplo:{ "name": "my-instance-group", "distributionPolicy": { "targetShape": "BALANCED", }, "targetSize": 50, ... }
O que se segue?
- Saiba mais sobre a visualização de informações sobre os MIGs e as respetivas VMs.
- Saiba como trabalhar com VMs num MIG, incluindo adicionar, recriar e remover VMs, bem como atualizar a configuração das VMs.
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-09-30 UTC.
-