A forma mais simples de escalonamento automático é escalonar um grupo de instâncias gerenciadas (MIG, na sigla em inglês) com base na utilização da CPU das instâncias.
Também é possível fazer o escalonamento automático de um MIG com base na capacidade de disponibilização do balanceamento de carga, métricas do Monitoring ou programações.
Antes de começar
- Analise as limitações do escalonador automático.
- Leia sobre os fundamentos do escalonador automático.
-
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.
No Console do Cloud, acesse a página Grupos de instâncias.
Se existir um grupo de instâncias, selecione-o e clique em Editar. Se você não tem um grupo de instâncias, clique em Criar grupo de instâncias.
Se não existir uma configuração de escalonamento automático, em Escalonamento automático, clique em Configurar escalonamento automático.
Em Modo de escalonamento automático, selecione Ativado: adicionar e remover instâncias do grupo para ativar o escalonamento automático.
Especifique os números mínimo e máximo de instâncias que você quer que o autoescalador crie nesse grupo.
Na seção Política 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 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
. - 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.
Use o Período de inicialização para informar ao escalonador automático quanto tempo leva a inicialização do aplicativo. 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.
Clique em Save.
- Saiba como ativar o escalonamento automático preditivo.
- Saiba mais sobre como gerenciar escalonadores automáticos.
- Saiba como os escalonadores automáticos tomam decisões.
- Saiba como usar vários sinais de escalonamento automático para escalonar seu grupo.
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.
Escalonamento com base no uso da CPU
É possível fazer escalonamento automático com base na utilização média da CPU de um grupo de instâncias gerenciadas (MIG, na sigla em inglês). Com essa política, o uso da CPU das instâncias do grupo é coletado no autoescalador e fica possível determinar se o escalonamento é necessário. Você define a meta de uso da CPU que será mantida pelo autoescalador, e ele trabalha para manter esse nível.
O escalonador automático avalia a meta do nível de utilização da CPU como uma fração do uso médio de todas as vCPUs ao longo do tempo no grupo de instâncias. Se o uso médio de todas as vCPUs exceder a utilização desejada, o escalonador automático adicionará instâncias de VM. Por outro lado, se esse uso médio for menor do que a utilização desejada, o autoescalador removerá instâncias. Por exemplo, uma meta de utilização configurada como 0,75 instrui o escalonador automático a manter um uso médio de 75% entre todas as vCPUs no grupo de instâncias.
Também é possível escalonar com base na previsão de uso da CPU. Para mais informações e para conferir se isso é adequado à sua carga de trabalho, consulte Escalonamento com base em previsões.
Ativar o escalonamento automático com base no uso da CPU
Console
gcloud
Use o subcomando
set-autoscaling
para ativar o escalonamento automático de um grupo gerenciado de instâncias. 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:gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \ --max-num-replicas 20 \ --target-cpu-utilization 0.60 \ --cool-down-period 90
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.Outra opção é ativar o escalonamento automático preditivo para escalonar 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 verificar se o escalonamento automático está ativado, use o subcomando
instance-groups managed describe
, que descreve o grupo de instâncias gerenciadas correspondente e fornece informações sobre os recursos de escalonamento automático desse grupo de instâncias:gcloud compute instance-groups managed describe example-managed-instance-group
Para uma lista de flags e comandos
gcloud
disponíveis, consulte a referência degcloud
.REST
Para criar um escalonador automático, use o método
autoscalers.insert
para um MIG zonal ou o métodoregionAutoscalers.insert
para um MIG regional.O exemplo a seguir cria um escalonador automático para um MIG zonal:
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
.autoscalingPolicy
precisa definircpuUtilization
emaxNumReplicas
.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.Outra opção é ativar o escalonamento automático preditivo para escalonar 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.
{ "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 } }
Para mais informações sobre como ativar o escalonamento automático com base na utilização da CPU, faça o tutorial Como usar o escalonamento automático para aplicativos altamente escalonáveis.
Como o escalonador automático trata a utilização intensa da CPU
Durante períodos de intensa utilização da CPU, se a taxa de uso estiver próxima a 100%, o escalonador automático presumirá que o grupo já está muito sobrecarregado. Nesses casos, ele aumenta o número de máquinas virtuais em até 50%.
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.
-