Criar um MIG em uma única zona


Neste documento, você verá como criar um grupo gerenciado de instâncias (MIG, na sigla em inglês) em uma única zona. Colocar todas as VMs do MIG em uma única zona ajuda a minimizar a latência, o que é útil para determinadas cargas de trabalho, por exemplo, cargas de trabalho em lote.

Esse tipo de MIG também é conhecido como MIG zonal.

Você também pode ler sobre outros cenários básicos para criar um MIG.

Antes de começar

  • Crie um modelo de instância, que é necessário para criar um grupo de instâncias gerenciadas.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. 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.

      Confira mais informações em Set up authentication for a local development environment.

      REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

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 em uma única zona

Para criar um MIG em uma única zona, use o console do Google Cloud, a gcloud CLI, o Terraform, ou a REST.

Console

  1. No Console do Google Cloud, acesse a página Grupos de instâncias.

    Acesse grupo de instâncias

    As etapas restantes serão exibidas automaticamente no console do Google Cloud.

  2. Clique em Criar grupo de instâncias.
  3. Se você quiser criar um MIG com estado, selecione a opção Novo grupo gerenciado de instâncias (com estado). Para ajudar você a decidir, consulte Quando usar MIGs com estado.
  4. Atribua um nome e, se quiser, uma descrição ao grupo de instâncias.
  5. Selecione um modelo de instância para o grupo ou crie um modelo.
  6. 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.
  7. Em Local, selecione Zona única.
  8. Em seguida, selecione a Região e a Zona em que você quer criar o MIG. Se você escolheu um modelo de instância regional, a Região será selecionada automaticamente com base na região do modelo.
  9. Para MIGs sem estado, o escalonamento automático está ativado por padrão. Com o escalonamento automático, seu grupo adiciona ou remove instâncias automaticamente com base na utilização.
  10. Também é possível ativar a recuperação automática para executar a verificação de integridade baseada em aplicativo nas VMs do grupo.
  11. Clique em Criar para gerar o novo grupo.

gcloud

Se você ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM que você quer para cada VM no MIG, crie um modelo de instância.

Crie um grupo gerenciado de instâncias com o comando instance-groups managed create e especifique o nome, o tamanho, o modelo e a zona do grupo.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size SIZE \
    --template INSTANCE_TEMPLATE \
    --zone ZONE

Substitua:

  • INSTANCE_GROUP_NAME: o nome desse grupo de instâncias.
  • SIZE: o tamanho do grupo de instâncias.
  • INSTANCE_TEMPLATE: o nome do modelo de instância a ser usado para este grupo. Para um modelo de instância regional, especifique o URL completo ou parcial do modelo. Um exemplo de URL completo é https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template, e um URL parcial é projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template.
  • ZONE: uma das zonas disponíveis para o Compute Engine. Se você quiser distribuir as VMs do MIG em várias zonas em uma região, consulte Criar um MIG regional.

Também é possível fornecer a sinalização --base-instance-name. Como essas VMs são baseadas em um modelo comum, cada VM recebe uma string aleatória como parte do nome dela. O nome de base precede essa string aleatória. Por exemplo, se você definir o nome base como test, as VMs terão nomes como test-yahs e test-qtyz. Se você precisar de nomes específicos, consulte Como criar instâncias com nomes específicos em MIGs.

Por exemplo, o comando a seguir cria um grupo de instâncias chamado example-group, com nome de VM de base test. O grupo contém três instâncias:

gcloud compute instance-groups managed create example-group \
    --base-instance-name test \
    --size 3 \
    --template an-instance-template \
    --zone us-central1-f

Terraform

Se você ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM que você quer para cada VM no MIG, crie um modelo de instância.

Para criar um MIG zonal, use o recurso google_compute_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {

  name               = "example-group"
  base_instance_name = "test"
  target_size        = 3
  zone               = "us-central1-f"

  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

REST

Se você ainda não criou um modelo de instância, que especifica o tipo de máquina, a imagem do disco de inicialização, a rede e outras propriedades de VM que você quer para cada VM no MIG, crie um modelo de instância.

Crie um grupo gerenciado de instâncias com o método instanceGroupManagers.insert. No corpo da solicitação, especifique o nome e o tamanho do grupo e o URL do modelo de instância.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE"
    }
  ],
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": SIZE
}

Substitua:

  • PROJECT_ID: o ID do projeto para a solicitação.
  • ZONE: a zona da solicitação. Se você quiser distribuir as VMs do MIG entre várias zonas de uma região, substitua zones/ZONE por regions/REGION e especifique uma região. Para mais informações, consulte Criar um MIG regional.
  • INSTANCE_GROUP_NAME: o nome desse grupo de instâncias.
  • SIZE: o tamanho do grupo de instâncias.
  • INSTANCE_TEMPLATE: o modelo de instância a ser usado para esse grupo.

Como opção, é possível fornecer o campo base-name. Como essas VMs são baseadas em um modelo comum, cada VM recebe uma string aleatória como parte do nome dela. O nome de base precede essa string aleatória. Por exemplo, se você definir o nome base como test, as VMs terão nomes como test-yahs e test-qtyz. Se você precisar de nomes específicos, consulte Como criar instâncias com nomes específicos em MIGs.

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.

A seguir