Criar um MIG com o escalonamento automático ativado

Este documento descreve como criar um grupo gerenciado de instâncias (MIG, na sigla em inglês) com escalonamento automático que adiciona e remove automaticamente as VMs com base na utilização média da CPU no grupo. Por exemplo, se a utilização da CPU do grupo for baixa, o grupo removerá automaticamente as VMs para economizar custos.

É possível escalonar automaticamente um MIG com base em vários tipos de sinais de escalonamento automático. Para mais informações, consulte a visão geral do escalonador automático.

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. Com isso, você confirma sua identidade para acesso a Cloud de Confiance by S3NS serviços e APIs do. Para executar código ou exemplos de um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com uma destas opções:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o Cloud de Confiance console para acessar Cloud de Confiance by S3NS serviços e APIs, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init
  • Defina uma região e uma zona padrão.
  • Terraform

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

    1. Instale a Google Cloud CLI.

    2. Configure a CLI gcloud para usar sua identidade federada.

      Para mais informações, consulte Fazer login na gcloud CLI com sua identidade federada.

    3. Crie credenciais de autenticação local para sua conta de usuário:

      gcloud auth application-default login

      Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.

    Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

    REST

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

      Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .

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 e ativar o escalonamento automático

Use o Cloud de Confiance console, a CLI gcloud, Terraform ou o REST.

Console

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

    Acesse grupo de instâncias

    As etapas restantes aparecem no Cloud de Confiance console do.

  2. Se houver um grupo de instâncias, selecione-o e clique em Editar. Se não houver um grupo de instâncias, clique em Criar um grupo de instâncias.
  3. Para um novo grupo de instâncias, atribua um nome e escolha um modelo de instância para o grupo ou crie um novo.
  4. Se não houver uma configuração de escalonamento automático, em Escalonamento automático, clique em Configurar escalonamento automático.
  5. Para ativar o escalonamento automático, em Modo de escalonamento automático, selecione Ativado: adicionar e remover instâncias do grupo.
  6. Especifique o mínimo e o máximo de instâncias que você quer que o escalonador automático crie no grupo.
  7. Na seção métricas de escalonamento automático, se uma métrica de utilização de CPU atual ainda não existir, adicione uma:
    1. Clique em Adicionar métrica.
    2. Em Tipo de métrica, selecione Utilização de CPU.
    3. Informe a utilização de CPU de destino que você quer. Esse valor é tratado como uma porcentagem. Por exemplo, para ter 75% de utilização da CPU, insira 75.
    4. Em Escalonamento automático preditivo, selecione Desativado. Para saber mais sobre o escalonamento automático preditivo e se ele é adequado para sua carga de trabalho, consulte Escalonamento com base em previsões.
    5. Clique em Concluído.
  8. Use o período de inicialização para defini-lo, o que informa ao escalonador automático o tempo que o aplicativo leva para ser inicializado. Especificar um período de inicialização preciso melhora as decisões do escalonador automático. Por exemplo, durante o escalonamento horizontal, o escalonador automático ignora os dados das VMs que ainda estão sendo inicializadas, porque é possível que elas ainda não representem o uso regular do aplicativo. O período de inicialização padrão é de 60 segundos.
  9. Para criar o MIG, clique em Criar.

gcloud

Antes de ativar o escalonamento automático, crie um MIG. Siga as instruções para criar um MIG com VMs limitadas a uma única zona ou criar um MIG com VMs distribuídas por várias zonas em uma região.

Em seguida, use o subcomando set-autoscaling para ativar o escalonamento automático do grupo. Por exemplo, o comando a seguir cria um autoescalador com meta de uso da CPU de 60%. Com o parâmetro --target-cpu-utilization, também é necessário o parâmetro --max-num-replicas para criar um escalonador automático:

Se quiser, defina --min-num-replicas indicando o número mínimo de VMs que você quer no grupo. Se você não definir o mínimo, por padrão, o MIG definirá esse valor como 2.

Use a flag --cool-down-period para definir o período de inicialização, que informa ao escalonador automático quanto tempo leva para o aplicativo ser inicializado. Especificar um período de inicialização preciso melhora as decisões do escalonador automático. Por exemplo, durante o escalonamento horizontal, o escalonador automático ignora os dados das VMs que ainda estão sendo inicializadas, porque é possível que elas ainda não representem o uso regular do aplicativo. O período de inicialização padrão é de 60 segundos.

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
  --max-num-replicas 20 \
  --target-cpu-utilization 0.60 \
  --cool-down-period 90

Se você quiser, ative o escalonamento automático de previsão para escalonar horizontalmente antes da carga prevista. Para saber se o escalonamento automático preditivo é adequado para sua carga de trabalho, consulte Escalonamento com base em previsões.

É possível verificar se o escalonamento automático está ativado usando o comando instance-groups managed describe, que descreve o MIG correspondente e fornece informações sobre qualquer recurso de escalonamento automático para esse grupo:

gcloud compute instance-groups managed describe example-managed-instance-group

Terraform

Antes de ativar o escalonamento automático, crie um MIG. Siga as instruções para criar um MIG com VMs limitadas a uma única zona ou criar um MIG com VMs distribuídas por várias zonas em uma região.

Para configurar o escalonamento automático em um MIG, use o recurso google_compute_autoscaler.

O exemplo a seguir configura o escalonamento automático com base na utilização da CPU em um MIG zonal.

resource "google_compute_autoscaler" "default" {
  name   = "example-autoscaler"
  zone   = "us-central1-f"
  target = google_compute_instance_group_manager.default.id

  autoscaling_policy {
    max_replicas    = 20
    min_replicas    = 0
    cooldown_period = 90

    cpu_utilization {
      target = 0.60
    }
  }
}

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

REST

Antes de ativar o escalonamento automático, é necessário criar um MIG com VMs limitadas a uma única zona ou criar um MIG com VMs distribuídas por várias zonas em uma região

Se você tiver um MIG zonal, faça uma solicitação POST para o método autoscalers.insert. Se você tiver um MIG regional, use o método regionAutoscalers.insert.

Exemplo:

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

O corpo da solicitação precisa conter os campos name, target e autoscalingPolicy. O campo autoscalingPolicy precisa definir os valores de destinocpuUtilization e maxNumReplicas.

Se quiser, defina minNumReplicas indicando o número mínimo de VMs que você quer no grupo. Se você não definir o mínimo, por padrão, o MIG definirá esse valor como 2.

Use o campo coolDownPeriodSec para definir o período de inicialização, que informa ao escalonador automático quanto tempo leva para o aplicativo ser inicializado. Especificar um período de inicialização preciso melhora as decisões do escalonador automático. Por exemplo, durante o escalonamento horizontal, o escalonador automático ignora os dados das VMs que ainda estão sendo inicializadas, porque é possível que elas ainda não representem o uso regular do aplicativo. O período de inicialização padrão é de 60 segundos.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

Se você quiser, ative o escalonamento automático de previsão para escalonar horizontalmente antes da carga prevista. Para saber se o escalonamento automático preditivo é adequado para sua carga de trabalho, consulte Escalonamento com base em previsões.

Para mais informações sobre como ativar o escalonamento automático com base na utilização da CPU, consulte Como escalonar com base na utilização da CPU.

A seguir