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.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
No Console do Cloud, acesse a página Grupos de instâncias.
As etapas restantes serão exibidas automaticamente no console do Google Cloud.
-
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 . - Para um novo grupo de instâncias, atribua um nome e escolha um modelo de instância para o grupo ou crie um novo.
- Se não houver uma configuração de escalonamento automático, em Escalonamento automático, clique em Configurar escalonamento automático.
-
Para ativar o escalonamento automático, em
Modo de escalonamento automático , selecione Ativado: adicionar e remover instâncias do grupo. - Especifique o mínimo e o máximo de instâncias que você quer que o escalonador automático crie no grupo.
-
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:
-
Clique em
Adicionar métrica . -
Em
Tipo de métrica , selecione Utilização de CPU. -
Informe o Uso desejado da CPU que pretende definir. Esse valor é tratado como uma
porcentagem. Por exemplo, para ter 75% de utilização da CPU, insira
75
. -
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. - Clique em Concluído.
-
Clique em
- 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, ao escalonar horizontalmente, o escalonador automático ignora os dados das VMs que ainda estiverem 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.
- Para criar o MIG, clique em
Criar . - Saiba mais sobre o escalonamento automático e os diferentes tipos de sinais de escalonamento que você pode adicionar a uma política de escalonamento automático.
- Leia sobre como gerenciar escalonadores automáticos.
- Configure a recuperação automática baseada em aplicativo, que verifica periodicamente se o aplicativo responde conforme o esperado em cada uma das VMs do MIG e recria automaticamente as VMs que não respondem.
- Saiba como aplicar uma nova configuração a todas ou a um subconjunto das VMs em um MIG definindo e aplicando um novo modelo de instância, configuração de todas as instâncias ou configuração por instância.
- Saiba como adicionar um front-end externo do balanceador de carga HTTP(S) ao seu grupo de instâncias. Para informações sobre outros tipos de balanceadores de carga, consulte Visão geral do balanceamento de carga.
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.
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.
Como criar um MIG e ativar o escalonamento automático
Use o console do Google Cloud, a CLI gcloud, o Terraform ou o REST.
Console
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, ao escalonar horizontalmente, o escalonador automático ignora os dados das VMs que ainda estiverem 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.
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étodoautoscalers.insert
. Se você tiver um MIG regional, use o métodoregionAutoscalers.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
eautoscalingPolicy
. O campoautoscalingPolicy
precisa definir os valores de destinocpuUtilization
emaxNumReplicas
.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, ao escalonar horizontalmente, o escalonador automático ignora os dados das VMs que ainda estiverem 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
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 2024-11-21 UTC.
-