Quando você cria uma política de escalonamento automático com vários sinais, o escalonador automático é dimensionado com base no sinal que fornece o maior número de instâncias de máquina virtual (VM) no grupo de instâncias gerenciadas (MIG). Isso garante que sempre haja VMs suficientes para lidar com as cargas de trabalho de seus aplicativos e permite dimensionar aplicativos com vários gargalos possíveis.
Para saber mais sobre os diferentes tipos de sinais de escalonamento automático, consulte Política de escalonamento automático .
Antes de começar
- Leia sobre os fundamentos do escalonador automático.
- 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
-
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.
- Set a default region and zone.
-
cpuUtilization
com meta de 0,8 -
loadBalancingUtilization
com meta de 0,6 -
customMetricUtilization
para metric1 com meta de 1000 -
customMetricUtilization
para metric2 com meta de 2.000 -
scalingSchedules
- Um mínimo de 6 VMs todos os sábados e domingos às 12h durante 24 horas
- Um mínimo de 15 VMs, de segunda a sexta, às 9h, durante 8 horas
- 0,5 para utilização da CPU
- 0,4 utilização de balanceamento de carga
- 1100 para métrica1
- 2.700 para métrica2
- 7 VMs baseadas na utilização da CPU
- 7 VMs baseadas na utilização de balanceamento de carga
- 11 VMs baseadas na métrica1
- 14 VMs baseadas em metric2
- 6 VMs todos os sábados e domingos durante todo o dia com base na primeira programação de escalonamento
- 15 VMs todas as segundas a sextas-feiras, das 9h às 17h, com base na segunda programação de escalonamento
No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome de um MIG na lista. Em seguida, clique em Editar .
Na página de edição em Modo de escalonamento automático , ative o escalonamento automático selecionando Ativado: adicionar e remover instâncias do grupo no menu suspenso.
Em Número mínimo de instâncias , insira o número mínimo de VMs que você deseja para este MIG. O tamanho mínimo deste MIG é sempre mantido independentemente dos seus sinais de escalonamento automático.
Em Número máximo de instâncias insira o número máximo de VMs que você deseja para este MIG. O tamanho máximo deste MIG nunca é excedido, independentemente do tamanho recomendado gerado pelos seus sinais de escalonamento automático.
Para cada sinal de escalonamento automático baseado em métrica que você deseja adicionar, em Sinais de escalonamento automático , clique em Adicionar um sinal .
- Para criar um sinal de escalonamento automático com base na utilização média da CPU, em Tipo de sinal , selecione Utilização da CPU no menu suspenso. Em seguida, insira uma utilização desejada da CPU e clique em Concluído . Para obter mais informações, consulte Dimensionamento baseado na utilização da CPU .
- Para criar um sinal de escalonamento automático com base na capacidade de serviço de balanceamento de carga HTTP, em Tipo de sinal , selecione Utilização de balanceamento de carga HTTP no menu suspenso. Em seguida, insira uma utilização de balanceamento de carga HTTP de destino e clique em Concluído . Para obter mais informações, consulte Dimensionamento baseado na capacidade de serviço de balanceamento de carga .
- Para criar um sinal de escalonamento automático com base nas métricas do Cloud Monitoring, em Tipo de sinal, selecione a métrica do Cloud Monitoring no menu suspenso. Em seguida, preencha os campos restantes e clique em Concluído . Para obter mais informações, consulte Dimensionamento baseado em métricas do Cloud Monitoring .
Para cada sinal de escalonamento automático baseado em agendamento que você deseja adicionar, expanda a seção Agendamentos de escalonamento automático , clique em Gerenciar agendamentos e, em seguida, clique em Criar agendamento .
No novo painel Criar agendamento de escalabilidade , preencha os campos obrigatórios e clique em Salvar . Em seguida, no painel Dimensionamento de cronogramas , clique em Concluído . Para obter mais informações, consulte Dimensionamento baseado em planejamentos .
Em Período de inicialização , insira o número de segundos que seu aplicativo precisa para inicializar. Isso permite que suas VMs terminem a inicialização antes que o escalonador automático considere seus dados de uso confiáveis. Para obter mais informações, consulte Período de inicialização .
Opcional: para ativar controles de redução, clique em Controles de redução e marque a caixa de seleção Habilitar controles de redução . Para obter mais informações, consulte controles de redução vertical
Clique em Salvar .
-
MIG_NAME
: o nome de um MIG. -
PATH_TO_CUSTOM_METRIC_1
ePATH_TO_CUSTOM_METRIC_2
: opcional: os caminhos para métricas personalizadas com um formato semelhante acustom.cloudmonitoring.googleapis.com/path/to/metric1
ecustom.cloudmonitoring.googleapis.com/path/to/metric2
. Para obter mais informações, consulte Métricas personalizadas . -
PROJECT
: seu ID do projeto . -
ZONE
: a zona onde seu MIG está localizado. -
MIG_NAME
: o nome de um MIG. -
PATH_TO_CUSTOM_METRIC_1
ePATH_TO_CUSTOM_METRIC_2
: opcional: os caminhos para métricas personalizadas com um formato semelhante acustom.cloudmonitoring.googleapis.com/path/to/metric1
ecustom.cloudmonitoring.googleapis.com/path/to/metric2
. Para obter mais informações, consulte Métricas personalizadas .
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.
Como o autoescalador lida com vários sinais
Um escalonador automático lida com vários sinais calculando o número recomendado de VMs para cada sinal e, em seguida, escolhendo o sinal que resulta no maior número de VMs no MIG.
Um escalonador automático pode lidar com um sinal por tipo de métrica, exceto no caso de métricas e programações de escalonamento do Cloud Monitoring. Você pode escolher até cinco sinais de escalonamento automático para métricas do Cloud Monitoring e criar até 128 programações por MIG. Por exemplo, você pode criar um escalonador automático que use até 1 sinal de utilização de CPU, até 1 sinal de balanceamento de carga, até 5 sinais de métricas personalizados e até 128 programações de escalabilidade.
Por exemplo, você pode definir um escalonador automático com todos os sinais a seguir:
Neste exemplo, suponha que o escalonador automático meça os seguintes valores médios de utilização para um MIG que contém 10 VMs no momento da medição:
Utilizando os valores anteriores, o autoescalador calcula o número recomendado de VMs com base em cada sinal:
O escalonador automático escolhe o sinal que resulta no maior número de VMs no MIG e define o tamanho recomendado do MIG para esse valor. Nesse caso, o escalonador automático redimensiona o MIG para 15 VMs se o segundo agendamento estiver ativo no momento ou para 14 VMs caso contrário.
Crie um escalonador automático com vários sinais
A criação de um escalonador automático com vários sinais é um pouco diferente dependendo se você está usando o console do Google Cloud, a CLI gcloud ou REST.
Console
gcloud
Para criar um escalonador automático com vários sinais, use o comando
set-autoscaling
. Passe múltiplas especificações de sinal usando seus respectivos sinalizadores de linha de comando.Por exemplo, o comando a seguir cria um escalonador automático que usa utilização de CPU, capacidade de serviço de balanceamento de carga, duas métricas personalizadas e um agendamento de escalabilidade. Os sinalizadores
--max-num-replicas
e--min-num-replicas
restringem o tamanho do MIG.gcloud compute instance-groups managed set-autoscaling MIG_NAME \ --target-cpu-utilization=0.8 \ --target-load-balancing-utilization=0.6 \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_1,utilization-target=1000.0,utilization-target-type=GAUGE \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \ --set-schedule=workday-capacity \ --schedule-cron="30 8 * * Mon-Fri" \ --schedule-duration-sec=30600 \ --schedule-min-required-replicas=10 \ --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" \ --min-num-replicas=1 \ --max-num-replicas=50
Substitua o seguinte:
Com exceção das sinalizações de métricas personalizadas, você só pode transmitir no máximo uma sinalização para cada tipo de métrica por comando
gcloud
. Para métricas personalizadas, você pode fornecer várias métricas personalizadas em um único comando repetindo o sinalizador--custom-metric-utilization
.Para obter mais informações sobre como configurar os sinalizadores para cada tipo de sinal de escalonamento automático, consulte as páginas a seguir:
DESCANSAR
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.Por exemplo, a solicitação a seguir cria um escalonador automático que usa utilização de CPU, capacidade de serviço de balanceamento de carga, duas métricas personalizadas e dois cronogramas de escalabilidade. Os campos
maxNumReplicas
eminNumReplicas
restringem o tamanho do MIG.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers { "autoscalingPolicy" : { "cpuUtilization":{ "utilizationTarget": 0.8 }, "loadBalancingUtilization":{ "utilizationTarget": 0.6 }, "customMetricUtilizations":[ { "metric": "PATH_TO_CUSTOM_METRIC_1", "utilizationTarget": 1000, "utilizationTargetType":"GAUGE" }, { "metric": "PATH_TO_CUSTOM_METRIC_2", "utilizationTarget": 2000, "utilizationTargetType": "DELTA_PER_SECOND" } ], "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" }, "january-30-2030-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } }, "maxNumReplicas": 50, "minNumReplicas": 1 }, "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/MIG_NAME", "name": "MIG_NAME" }
Substitua o seguinte:
Conforme mostrado neste exemplo, você pode fornecer diversas métricas personalizadas e programações de escalonamento na mesma solicitação.
Para obter mais informações sobre como configurar os campos para cada tipo de sinal de escalonamento automático, consulte as páginas 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 2025-04-21 UTC.
-