Este documento descreve como criar um grupo de instâncias gerido (MIG) com as respetivas VMs distribuídas por várias zonas numa região. A distribuição da carga da aplicação por várias zonas protege a sua carga de trabalho contra falhas zonais. Se ocorrer uma falha zonal, a sua aplicação pode continuar a servir a partir de instâncias em execução nas zonas disponíveis restantes na mesma região.
Este tipo de MIG também é conhecido como MIG regional. Para mais informações, consulte o artigo Acerca dos MIGs regionais.
Também pode ler acerca de outros cenários básicos para criar um GIG.
Antes de começar
- Crie um modelo de instância, que é necessário para criar um grupo de instâncias gerido.
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
- 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 e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
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 e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Limitações
Para ver a lista completa de limitações do MIG, que varia consoante a configuração que usa, consulte o artigo Limitações do MIG.
Crie um MIG com VMs em várias zonas numa região
Use a Trusted Cloud console, a CLI gcloud, o Terraform ou o REST.
Consola
-
Na Trusted Cloud consola, aceda à página Grupos de instâncias.
Os passos restantes aparecem na Trusted Cloud consola.
-
Clique em
Criar grupo de instâncias para criar um novo grupo de instâncias. -
Selecione uma das opções do novo grupo de instâncias gerido:
- Sem estado (predefinição)
- Stateful
- 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.
- Em Número de instâncias ou em Ajuste de escala automático, especifique o número de instâncias para este grupo. 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 escolheu um modelo de instância regional, a Região é selecionada automaticamente com base na região do modelo.
- Em Forma de distribuição do alvo, selecione Uniforme. Se quiser selecionar um formato diferente, consulte o artigo Defina um formato de distribuição alvo para VMs num MIG regional.
- Se quiser desativar a redistribuição proativa de instâncias, em Redistribuição de instâncias, desmarque a caixa de verificação Permitir redistribuição de instâncias.
- Continue com o resto do processo de criação do MIG.
- Para criar o MIG, clique em
Criar .
gcloud
Todos os MIGs requerem um modelo de instância. Se não tiver um, crie um modelo de instância. Por exemplo, o comando seguinte cria um modelo de instância na região
us-east1
com propriedades de instância predefinidas:gcloud compute instance-templates create example-template --instance-template-region us-east1
Quando cria o MIG, pode especificar o ID ou o nome de um modelo de instância. A Google recomenda que especifique o ID porque, ao contrário dos nomes, os IDs dos modelos de instâncias não podem ser reutilizados. Para ver o ID exclusivo do modelo de instância que criou, use o comando
describe
:gcloud compute instance-templates describe example-template --region us-east1 --format="value(id)"
Em seguida, use o
instance-groups managed create
comando com a flag--region
. Por exemplo, o comando seguinte cria um MIG regional em três zonas na regiãous-east1
:gcloud compute instance-groups managed create example-rmig \ --template projects/my-project/regions/us-east1/instanceTemplates/1234567890 \ --size 30 \ --region us-east1
Se quiser selecionar zonas específicas que o grupo deve usar, forneça a sinalização
--zones
:gcloud compute instance-groups managed create example-rmig \ --template projects/my-project/regions/us-east1/instanceTemplates/1234567890 \ --size 30 \ --zones us-east1-b,us-east1-c
Se não precisar de usar zonas específicas, pode especificar todas as zonas e usar um formato de distribuição equilibrado. Para mais informações, consulte o artigo Distribuição de VMs por zonas.
Se quiser desativar a redistribuição proativa de instâncias, consulte o artigo Redistribuição proativa de instâncias.
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, pode usar o
google_compute_region_instance_group_manager
recurso.Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
REST
Todos os MIGs requerem um modelo de instância. Se não tiver um, crie um modelo de instância.
Quando cria o MIG, pode especificar o ID ou o nome de um modelo de instância. A Google recomenda que especifique o ID porque, ao contrário dos nomes, não é possível reutilizar os IDs dos modelos de instâncias. Para ver o ID exclusivo do modelo de instância que criou, use o método
get
no modelo de instância regional ou global que criou.Em seguida, crie um pedido
POST
para o métodoregionInstanceGroupManagers.insert
. No corpo do pedido, especifique o nome do grupo, o tamanho do grupo e o URL do modelo de instância. Opcionalmente, especifique outros campos, como o nome base das instâncias no grupo.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE" }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto para este pedido.REGION
: a região do grupo.BASE_INSTANCE_NAME
: (opcional) o nome da instância para cada instância de VM criada como parte do grupo. Por exemplo, um nome de instância base deexample-instance
cria instâncias com nomes comoexample-instance-[RANDOM_STRING]
, em que[RANDOM_STRING]
é gerado pelo servidor.INSTANCE_TEMPLATE_URL
: o URL do modelo de instância que quer usar para criar VMs no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:- Para um modelo de instância regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- Para um modelo de instância global:
INSTANCE_TEMPLATE_ID
- Para um modelo de instância regional:
TARGET_SIZE
: o número alvo de VMs para o grupo.
Se quiser selecionar zonas específicas ou se estiver a criar VMs numa região com menos ou mais de três zonas, inclua a propriedade
distributionPolicy
no seu pedido e forneça uma lista de zonas. SubstituaZONE
pelo nome de uma zona para criar VMs.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE", "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] } }
Por exemplo, o seguinte comando cria um MIG regional denominado
example-rmig
com 10 instâncias geridas distribuídas pelas zonasus-east1-b
eus-east1-c
:POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-east1/instanceGroupManagers { "instanceTemplate": "projects/my-project/regions/us-east1/instanceTemplates/1234567890", "name": "example-rmig", "targetSize": 10, "distributionPolicy": { "zones": [ {"zone": "zones/us-east1-b"}, {"zone": "zones/us-east1-c"} ] } }
Consoante a forma como configura e age num MIG, várias políticas e ações podem afetar as instâncias no grupo. Para determinar que instâncias geridas estão em funcionamento, consulte o artigo Verificar o estado das instâncias geridas.
Se não existir capacidade suficiente em cada zona para suportar VMs para o grupo, o Compute Engine cria o maior número possível de VMs e continua a tentar criar as VMs restantes quando estiver disponível capacidade adicional.
Se não especificar explicitamente zonas individuais no seu pedido, o Compute Engine escolhe automaticamente três zonas para criar VMs. Se precisar de criar VMs em mais ou menos de três zonas, ou quiser escolher as zonas usadas, pode fornecer uma lista de zonas no seu pedido. Para mais informações, consulte a secção Seleção de zonas.
Distribuição de VMs por zonas
Por predefinição, um MIG regional distribui VMs uniformemente pelas zonas selecionadas. Como está a criar um GIG regional, tenha em atenção que determinados recursos são zonais, como as GPUs e os discos persistentes existentes. Se o modelo de instância do MIG especificar recursos zonais, tem de se certificar de que todos esses recursos estão presentes em todas as zonas selecionadas para que possam ser anexados às VMs criadas pelo MIG regional. Em alternativa, se quiser que o grupo verifique a existência de recursos zonais, pode definir o formato de distribuição de destino do MIG para criar instâncias apenas em zonas que contenham esses recursos.
Para mais informações, consulte os seguintes documentos:
Defina um formato de distribuição alvo para VMs em várias zonas
Redistribuição proativa de instâncias
A redistribuição proativa de instâncias está ativada por predefinição. Se precisar de gerir manualmente o número de VMs em cada zona ou se precisar de definir o formato de distribuição alvo do MIG como
BALANCED
ouANY_SINGLE_ZONE
, tem de desativar a redistribuição proativa de instâncias.Para mais informações, consulte os seguintes documentos:
O que se segue?
- Configure a autorrecuperação baseada na aplicação, que verifica periodicamente se a sua aplicação responde conforme esperado em cada uma das VMs do MIG e recria automaticamente as VMs que não respondem.
- Ative a escala automática para adicionar ou eliminar automaticamente VMs do MIG com base nos aumentos ou nas diminuições da carga.
- Saiba como aplicar uma nova configuração a todas ou a um subconjunto das VMs num MIG definindo e aplicando um novo modelo de instância, uma configuração de todas as instâncias ou uma configuração por instância.
- Preserve os discos, os metadados e os endereços IP em eventos disruptivos, como a recriação de VMs, a autocura e as atualizações, adicionando uma configuração com estado.
- Saiba como trabalhar com instâncias geridas, por exemplo, para eliminar, abandonar e recriar VMs num MIG.
- Ver informações sobre os MIGs e as respetivas VMs.
- Simule uma indisponibilidade de zona para um GIG regional
- Saiba como adicionar um front-end de balanceador de carga HTTP(S) externo ao seu grupo de instâncias. Para obter informações sobre outros tipos de balanceadores de carga, consulte a vista geral do balanceamento de carga.
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-10-02 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-10-02 UTC."],[],[],null,[]] -