Crie um MIG com o redimensionamento automático ativado

Este documento descreve como criar um grupo de instâncias gerido (MIG) com escalonamento automático que adiciona e remove automaticamente 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 remove automaticamente as VMs para poupar custos.

Pode dimensionar automaticamente um MIG com base em vários tipos de sinais de dimensionamento automático. Para mais informações, consulte a vista geral do escalador automático.

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

    1. 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
    2. 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 e ative o redimensionamento automático

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

Consola

  1. Na consola, aceda à página Grupos de instâncias.

    Aceda a Grupos de instâncias

    Os passos restantes aparecem na Trusted Cloud consola.

  2. Se tiver um grupo de instâncias, selecione-o e clique em Editar. Se não tiver um grupo de instâncias, clique em Criar grupo de instâncias.
  3. Para um novo grupo de instâncias, atribua um nome e, em seguida, escolha um modelo de instância para o grupo de instâncias ou crie um novo.
  4. Se não existir nenhuma configuração de dimensionamento automático, em Dimensionamento automático, clique em Configurar dimensionamento automático.
  5. Em Modo de escalamento automático, selecione Ativado: adicionar e remover instâncias do grupo para ativar o escalamento automático.
  6. Especifique os números mínimo e máximo de instâncias que quer que o escalador automático crie neste grupo.
  7. Na secção Métricas de dimensionamento automático, se ainda não existir uma métrica de utilização da CPU, adicione uma:
    1. Clique em Adicionar métrica.
    2. Em Tipo de métrica, selecione Utilização da CPU.
    3. Introduza a utilização da CPU alvo pretendida. Este valor é tratado como uma percentagem. Por exemplo, para uma utilização da CPU de 75%, introduza 75.
    4. Em Ajuste de escala preditivo, selecione Desativado. Para saber mais sobre o ajuste de escala preditivo e se é adequado para a sua carga de trabalho, consulte o artigo Ajuste de escala com base em previsões.
    5. Clique em Concluído.
  8. Pode usar o período de inicialização para definir o período de inicialização, que indica ao escalador automático quanto tempo a sua aplicação demora a inicializar. A especificação de um período de inicialização preciso melhora as decisões do escalador automático. Por exemplo, ao aumentar a escala, o escalador automático ignora os dados das VMs que ainda estão a ser inicializadas, porque essas VMs podem ainda não representar a utilização normal da sua aplicação. O período de inicialização predefinido é de 60 segundos.
  9. Para criar o MIG, clique em Criar.

gcloud

Antes de poder ativar o dimensionamento automático, tem de criar um MIG. Siga as instruções para criar um GIG com VMs confinados a uma única zona ou criar um GIG com VMs distribuídos por várias zonas numa região.

Em seguida, use o subcomando set-autoscaling para ativar o ajuste de escala automático para o grupo. Por exemplo, o seguinte comando cria um escalador automático com uma utilização de CPU alvo de 60%. Juntamente com o parâmetro --target-cpu-utilization, o parâmetro --max-num-replicas também é obrigatório quando cria um ajuste automático de escala.

Opcionalmente, pode definir o --min-num-replicas que indica o número mínimo de VMs que quer no grupo. Se não definir o valor mínimo, por predefinição, o MIG define este valor como 2.

Pode usar a flag --cool-down-period para definir o período de inicialização, que indica ao escalador automático quanto tempo a sua aplicação demora a inicializar. A especificação de um período de inicialização preciso melhora as decisões do escalador automático. Por exemplo, ao aumentar a escala, o escalador automático ignora os dados das VMs que ainda estão a ser inicializadas, porque essas VMs podem ainda não representar a utilização normal da sua aplicação. O período de inicialização predefinido é 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 quiser, pode ativar a escala automática preditiva para aumentar a escala antes da carga prevista. Para saber se a escala automática preditiva é adequada para a sua carga de trabalho, consulte o artigo Escalar com base em previsões.

Pode verificar se a criação de uma escala automática foi ativada com êxito através do comando instance-groups managed describe, que descreve o GIG correspondente e fornece informações sobre quaisquer funcionalidades de criação de uma escala automática para esse grupo:

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

Terraform

Antes de poder ativar o dimensionamento automático, tem de criar um MIG. Siga as instruções para criar um GIG com VMs confinados a uma única zona ou criar um GIG com VMs distribuídos por várias zonas numa região.

Para configurar a criação automática de escala num GIG, pode usar o recurso google_compute_autoscaler.

O exemplo seguinte configura a escala automática com base na utilização da CPU num GIG 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 os comandos básicos do Terraform.

REST

Antes de poder ativar o dimensionamento automático, tem de criar um GIG com VMs confinados a uma única zona ou criar um GIG com VMs distribuídos por várias zonas numa região.

Se tiver um MIG zonal, faça um pedido POST ao método autoscalers.insert. Se tiver um MIG regional, use o método regionAutoscalers.insert.

Por exemplo:

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

O corpo do pedido tem de conter os campos name, target e autoscalingPolicy. O campo autoscalingPolicy tem de definir o valor cpuUtilization e o valor maxNumReplicas.

Opcionalmente, pode definir o minNumReplicas que indica o número mínimo de VMs que quer no grupo. Se não definir o valor mínimo, por predefinição, o MIG define este valor como 2.

Pode usar o campo coolDownPeriodSec para definir o período de inicialização, que indica ao escalador automático quanto tempo a sua aplicação demora a inicializar. A especificação de um período de inicialização preciso melhora as decisões do escalador automático. Por exemplo, ao aumentar a escala, o escalador automático ignora os dados das VMs que ainda estão a ser inicializadas, porque essas VMs podem ainda não representar a utilização normal da sua aplicação. O período de inicialização predefinido é 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 quiser, pode ativar a escala automática preditiva para aumentar a escala antes da carga prevista. Para saber se a escala automática preditiva é adequada para a sua carga de trabalho, consulte o artigo Escalar com base em previsões.

Para mais informações sobre a ativação do ajuste de escala automático com base na utilização da CPU, consulte o artigo Ajuste de escala com base na utilização da CPU.

O que se segue?