Crie um MIG em uma única zona


Este documento descreve como criar um grupo gerenciado de instâncias (MIG) em uma única zona. Colocar todas as VMs do seu 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.

Este 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 , necessário para criar um grupo de instâncias gerenciadas.
  • 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

    1. 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.

    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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. 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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      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.

        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.

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 .

Crie um MIG em uma única zona

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

Console

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

    Vá para grupos de instâncias

    As etapas restantes aparecem no console do Google Cloud.

  2. Clique Criar grupo de instâncias .
  3. Se você deseja criar um MIG com estado, selecione o Novo grupo gerenciado de instâncias (com estado) opção. Para ajudá-lo a decidir, consulte Quando usar MIGs com estado .
  4. Atribua um nome e, opcionalmente, uma descrição ao seu grupo de instâncias.
  5. Escolha um modelo de instância para o grupo de instâncias ou crie um novo .
  6. Especifique o número de VMs para este grupo. Lembre-se de provisionar VMs suficientes para dar suporte ao seu aplicativo se ocorrer uma falha na zona.
  7. Para Localização , selecione Zona única .
  8. Selecione a Região e a Zona onde deseja criar seu MIG. Se você escolher 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á habilitado por padrão. Com o escalonamento automático, seu grupo adiciona ou remove instâncias automaticamente com base em sua utilização.
  10. Opcionalmente, habilite a recuperação automática para realizar verificações de integridade baseadas em aplicativos nas VMs do grupo.
  11. Clique em Criar para criar 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 desejadas para cada VM em seu MIG, crie um modelo de instância .

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

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

Substitua o seguinte:

  • INSTANCE_GROUP_NAME : o nome deste 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, você deve especificar 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 seu MIG em várias zonas de uma região, consulte Criar um MIG regional .

Opcionalmente, você pode fornecer o sinalizador --base-instance-name . Como essas VMs são baseadas em um modelo comum, cada VM recebe uma sequência aleatória como parte de seu nome de VM. O nome base é anexado a esta sequência aleatória. Por exemplo, se você definir o nome base como test , as VMs terão nomes como test-yahs e test-qtyz . Se precisar de nomes específicos, consulte Criando 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 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

Terraforma

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 desejadas para cada VM em seu MIG, crie um modelo de instância .

Para criar um MIG zonal, você pode usar 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 .

DESCANSAR

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 desejadas para cada VM em seu MIG, crie um modelo de instância .

Crie um grupo de instâncias gerenciadas com o método instanceGroupManagers.insert . No corpo da solicitação, inclua o nome do grupo, o tamanho do grupo e a 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 o seguinte:

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

Opcionalmente, você pode fornecer o campo base-name . Como essas VMs são baseadas em um modelo comum, cada VM recebe uma sequência aleatória como parte de seu nome de VM. O nome base é anexado a esta sequência aleatória. Por exemplo, se você definir o nome base como test , as VMs terão nomes como test-yahs e test-qtyz . Se precisar de nomes específicos, consulte Criando instâncias com nomes específicos em MIGs .

Dependendo de como você configura e atua em um MIG, diversas políticas e ações podem afetar as instâncias do grupo. Para determinar quais instâncias gerenciadas estão funcionando, consulte Verificando o status de instâncias gerenciadas .

O que vem a seguir