Se usar grupos de instâncias geridas (GIGs), leia este documento para saber como criar, configurar e eliminar o escalador automático do GIG.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
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. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Criar um redimensionador automático
A criação de um redimensionador automático é ligeiramente diferente consoante a política de redimensionamento automático que quer usar. Para ver instruções sobre como criar um redimensionador automático, consulte:
- Dimensionamento com base na utilização da CPU
- Dimensionamento com base na capacidade de publicação do balanceamento de carga
- Dimensionamento com base nas métricas do Cloud Monitoring
- Dimensionamento com base em horários
Receber informações sobre um escalador automático
Para obter mais informações sobre um redimensionador automático específico, use a consola, o subcomando
gcloud compute instance-groups managed describe
ou o métodoget
para um recurso REST do redimensionador automático zonal ou regional.Consola
- Na Google Cloud consola, aceda à página Grupos de instâncias.
- Clique no nome de um MIG na lista para abrir a página de vista geral desse grupo.
- Clique em Detalhes para ver os detalhes do grupo, incluindo as respetivas definições de dimensionamento automático.
gcloud
Use o comando
instance-groups managed describe
:gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME
Se um redimensionador automático estiver associado ao grupo, o comando devolve detalhes sobre o redimensionador automático:
... autoscaler: autoscalingPolicy: coolDownPeriodSec: 60 cpuUtilization: utilizationTarget: 0.6 maxNumReplicas: 20 minNumReplicas: 10 mode: ON scaleInControl: timeWindowSec: 300 maxScaledInReplicas: fixed: 3 calculated: 3 ...
REST
Use o
instanceGroupManagers.get
método. Para um MIG regional, substituazones/ZONE
porregions/REGION
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
Se um escalador automático estiver associado ao grupo, o pedido devolve um link para o recurso do escalador automático.
200 OK { ... "status": { ... "autoscaler": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group" }, }
Para obter detalhes sobre o recurso de redimensionamento automático, use o método
autoscalers.get
para um GIG zonal ou o métodoregionAutoscalers.get
para um GIG regional.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/example-autoscaler
200 OK { "kind": "compute#autoscaler", "id": "8744945839459481093", "creationTimestamp": "2018-09-28T13:02:50.553-07:00", "name": "example-group", "target": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/instanceGroupManagers/example-group", "autoscalingPolicy": { "minNumReplicas": 10, "maxNumReplicas": 20, "mode": "ON", "scaleInControl": { "timeWindowSec": 60, "maxScaledInReplicas": { "calculated": 3, "percent": 15 } }, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.6 } }, "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c", "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group", "status": "ACTIVE" }
Atualizar um redimensionador automático
Quando atualiza um escalador automático, pode demorar algum tempo até as alterações serem propagadas, e pode demorar alguns minutos até as novas definições do escalador automático serem refletidas.
Consola
- Na Google Cloud consola, aceda à página Grupos de instâncias.
- Clique no nome de um MIG na lista para abrir a página de vista geral desse grupo.
- Clique em Edit.
- Clique em Tamanho do grupo e redimensionamento automático para ver e atualizar as definições de redimensionamento automático do grupo.
- Clique em Guardar quando terminar.
gcloud
Use o comando
update-autoscaling
.gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --max-num-replicas MAX_NUM ...
Para obter instruções sobre como criar um redimensionador automático, consulte o artigo Criar um redimensionador automático.
REST
Para atualizar um recurso de escalamento automático, use o método
autoscalers.patch
para um MIG zonal ou o métodoregionAutoscalers.patch
para um MIG regional. Forneça um corpo do pedido que contenha a nova configuração.PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler { "autoscalingPolicy": { "maxNumReplicas": 20 } }
200 OK { "kind": "compute#operation", "id": "4244494732310423322", "name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603", "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f", "operationType": "compute.autoscalers.patch", "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler", "targetId": "340775527929467142", "status": "RUNNING", ... }
Quando faz pedidos que modificam dados, é devolvido um recurso zoneOperations ou regionOperations, e pode consultar a operação para verificar o estado da sua alteração.
Usar a escala automática preditiva
O dimensionamento automático preditivo usa dados do histórico para dimensionar o grupo antes da carga prevista. Funciona melhor se a sua carga de trabalho cumprir os seguintes critérios:
- A sua aplicação demora muito tempo a inicializar, por exemplo, se configurar um período de inicialização de mais de 2 minutos.
- A sua carga de trabalho varia de forma previsível com ciclos diários ou semanais.
Para mais informações, consulte o artigo Ajustar a escala com base nas previsões.
Desativar ou restringir um redimensionador automático
Desative um escalador automático para impedir temporariamente que ajuste a escala do MIG ou restrinja o escalador automático para que só possa aumentar a escala do MIG. Esta funcionalidade é útil quando quer:
- Investigue instâncias de VM sem interferência da redução da capacidade.
- Reconfigure várias propriedades do seu MIG sem que as ações de escalabilidade sejam acionadas enquanto o grupo estiver apenas parcialmente reconfigurado.
- Mantenha a capacidade do MIG para uma reversão rápida enquanto redireciona uma carga de trabalho para um novo MIG.
- Ativar a escalabilidade automática preditiva
mais tarde. A escala automática preditiva requer uma política de escala automática para começar a recolher o histórico de carga no qual basear as previsões. O dimensionamento automático deteta este histórico mesmo quando o respetivo modo está definido como
OFF
.
Se e quando reativar o escalador automático, este volta automaticamente ao funcionamento normal.
Use as instruções fornecidas nesta secção para definir o modo do escalador automático. Estão disponíveis os seguintes modos:
- Desativado: desativa o ajuste de escala automático temporariamente. Use este modo para impedir alterações automáticas do tamanho do MIG. A configuração do ajuste de escala automático permanece intacta para que possa reativar o ajuste de escala automático mais tarde.
- Apenas aumentar a escala: restringe a escala automática apenas à adição de novas instâncias de VM. Use este modo para proteger o grupo de reduções e permitir que o grupo aprovisione VMs adicionais quando a carga aumenta.
- Ativada: ativa todas as operações de escala automática de acordo com a respetiva política.
Consola
- Na Google Cloud consola, aceda à página Grupos de instâncias.
- Clique no nome de um MIG na lista para abrir a página de vista geral desse grupo.
- Clique em Edit.
- Clique em Tamanho do grupo e redimensionamento automático para ver e atualizar as definições de redimensionamento automático do grupo.
- Na secção Ajuste de escala automático, defina o Modo de ajuste de escala automático para desativar ou restringir o ajuste de escala automático para o grupo, ou para reativar o ajuste de escala automático.
- Clique em Guardar quando terminar.
gcloud
Para desativar, restringir ou reativar um escalador automático, use o comando
update-autoscaling
com a flag--mode
.gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --mode MODE
Substitua o seguinte:
MODE
:off
para desativar o dimensionamento automático, mas manter a respetiva configuraçãoonly-scale-out
para restringir o escalador automático à adição de instâncias de VMon
para reativar todas as atividades do redimensionador automático de acordo com a respetiva política
REST
Para atualizar o modo de um recurso de escalamento automático, use o método
autoscalers.patch
para um MIG zonal ou o métodoregionAutoscalers.patch
para um MIG regional. Forneça um corpo do pedido que inclua a propriedadeautoscalingPolicy.mode
.PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1-f/autoscalers?autoscaler=my-autoscaler { "autoscalingPolicy": { "mode":"MODE" } }
Substitua o seguinte:
MODE
:OFF
para desativar o dimensionamento automático, mas manter a respetiva configuraçãoONLY_SCALE_OUT
para restringir o escalador automático à adição de instâncias apenasON
para reativar todas as atividades do redimensionador automático de acordo com a respetiva política
Quando define o modo de dimensionamento automático como
ONLY_SCALE_OUT
, o dimensionador automático comporta-se da seguinte forma:- O escalador automático não diminui o valor
targetSize
do MIG, independentemente das diminuições na carga ou das alterações à configuração do escalador automático. - Se alterar manualmente o tamanho de destino de um MIG zonal, o escalador automático substitui o tamanho indicado manualmente se for inferior ao tamanho recomendado pelo escalador automático.
- Não pode alterar manualmente o tamanho de destino de um MIG regional.
- Se definir o campo
autoscalingPolicy.maxNumReplicas
para um valor inferior ao valortargetSize
atual do grupo enquanto o modo do dimensionamento automático estiver definido comoONLY_SCALE_OUT
, o dimensionamento automático não reduz o número de instâncias no grupo. Como habitualmente, o escalador automático volta a calcular continuamente o tamanho recomendado do grupo e pode diminuir o tamanho recomendado do grupo para agir em conformidade com o novo máximo, mas o grupo não é reduzido. - O campo
autoscalers.status
comunica um aviso: "O ajuste de escala automático funciona num modo restrito: ONLY_SCALE_OUT".
Quando define o modo do ajuste automático para
OFF
, o ajuste automático comporta-se da seguinte forma:- O escalamento automático não altera o valor
targetSize
do MIG em resposta a alterações na carga ou na configuração do escalamento automático. Como habitualmente, o escalador automático volta a calcular continuamente o tamanho recomendado do grupo e pode diminuir o tamanho recomendado do grupo para estar em conformidade com o novo máximo, mas o grupo não é reduzido. - Pode alterar manualmente o tamanho alvo de um GIG zonal ou regional. Os valores
minNumReplicas
emaxNumReplicas
da política de dimensionamento automático não afetam o tamanho que definiu. - Se desativar o dimensionamento automático para um MIG regional no qual a redistribuição proativa de instâncias estiver ativada e se o MIG tiver uma distribuição desigual de instâncias nas zonas, o grupo elimina ou cria proativamente instâncias nas respetivas zonas para restabelecer uma distribuição uniforme.
- O campo
autoscalers.status
apresenta um aviso: "O ajuste de escala automático funciona num modo restrito: DESATIVADO".
Controlar a taxa de redução de escala de um escalador automático
Se as suas cargas de trabalho demorarem muitos minutos a inicializar, configure os controlos de redução para reduzir o risco de latência de resposta e interrupções devido a eventos de redução abruptos. Especificamente, se esperar rotineiramente um pico de carga pouco depois de uma diminuição da carga, pode limitar a taxa de redução. Limitar a taxa de redução vertical impede que o escalador automático reduza o tamanho de um MIG em mais instâncias de VM do que a sua carga de trabalho pode tolerar perder.
Configurar controlos de redução
A configuração dos controlos de redução é opcional. Por predefinição, os controlos de zoom não estão configurados. Quando não está configurado, o escalador automático continua a basear-se no respetivo mecanismo de estabilização predefinido. Ou seja, mantém o tamanho recomendado a um nível necessário para publicar anúncios durante o pico de carga, observado durante o período de estabilização.
Consola
Para configurar os controlos de redução de escala para um MIG com escalamento automático:
Na Google Cloud consola, aceda à página Grupos de instâncias.
Clique no nome de um MIG com escalamento automático na lista para abrir a página de vista geral desse grupo.
Clique em Edit.
Clique em Tamanho do grupo e redimensionamento automático para ver e atualizar as definições de redimensionamento automático do grupo.
Na secção Controlos de redução da escala, selecione Ativar controlos de redução da escala.
No campo Não reduzir mais do que, especifique o número máximo ou a percentagem de instâncias que podem ser removidas do grupo de cada vez.
Na secção Ao longo de, especifique a frequência com que as instâncias podem ser removidas do grupo.
Clique em Guardar.
gcloud
Pode configurar os controlos de redução quando cria um escalador automático ou quando atualiza um escalador automático.
Configurar controlos de redução quando cria um redimensionador automático
Defina controlos de redução quando criar um escalador automático para um MIG com o comando
gcloud compute instance-groups managed set-autoscaling
usando a flag--scale-in-control
. Por exemplo, use o seguinte comando para configurar o dimensionamento automático para umexample-group
:gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \ --target-cpu-utilization 0.6 \ --max-num-replicas 50 \ --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Configurar controlos de redução quando atualiza um redimensionador automático
Atualize os controlos de redução de escala no redimensionador automático existente de um GIG usando a flag
--scale-in-control
com o comandogcloud compute instance-groups managed update-autoscaling
. Por exemplo, use o seguinte comando para definir controlos de redução vertical numa configuração de escalamento automático existente paraexample-group
:gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Substitua o seguinte:
INSTANCE_GROUP_NAME
: o nome do MIG a atualizar.MAX_SCALE_IN_REPLICAS
: o número máximo de VMs que podem ser deduzidas do tamanho máximo, retirado do período especificado. O número especificado de instâncias de VM pode ser reduzido em todas ao mesmo tempo, pelo que o seu serviço deve conseguir suportar a perda deste número de VMs ao mesmo tempo. Pode especificar um número de VMs ou uma percentagem. Use o sinal%
para percentagens; por exemplo:50%
.TIME_WINDOW
: período de tempo de acompanhamento a partir do qual se vai obter o tamanho máximo. O ajuste automático não reduzirá o número de réplicas mais do que o número máximo permitido a partir do tamanho máximo registado durante este período. Especifique este valor em segundos num intervalo de [60, 3600].
Por exemplo, suponhamos que define o período para 1800 segundos (30 minutos). Ao calcular o tamanho recomendado atual para o MIG, o escalador automático usa a seguinte lógica:
- Tome o tamanho máximo dos últimos 30 minutos (por exemplo, 100 VMs)
- Tome
max-scaled-in-replicas
(por exemplo, 10 VMs) - Defina o limite inferior do tamanho recomendado para: tamanho máximo menos
max-scaled-in-replicas
(100 - 10 = 90 VMs)
REST
Configure os controlos de redução definindo os campos
maxScaledInReplicas
etimeWindowSec
na estruturaautoscalingPolicy.scaleInControl
num recurso de escalamento automático zonal ou regional. Não existem valores predefinidos para estes campos. Tem de fornecer valores para ambos os campos.Pode configurar os controlos de redução quando cria um escalador automático ou quando atualiza um escalador automático.
Configurar controlos de redução quando cria um redimensionador automático
Para um MIG zonal, use o método
autoscalers.insert
. Para um MIG regional, use o métodoregionAutoscalers.insert
.POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers { "name": "AUTOSCALER_NAME", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME", "autoscalingPolicy": { "minNumReplicas": 1, "maxNumReplicas": 5, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.8 }, "scaleInControl": { "maxScaledInReplicas": { "fixed": MAX_SCALE_IN_REPLICAS }, "timeWindowSec": TIME_WINDOW } } }
Para mais informações sobre a criação de um escalador automático, consulte os seguintes artigos:
- Dimensionamento com base na CPU ou na capacidade de publicação do balanceamento de carga
- Dimensionamento com base na métrica do Cloud Monitoring.
Configurar controlos de redução quando atualiza um redimensionador automático
Para um MIG zonal, use o método
autoscalers.patch
. Para um MIG regional, use o métodoregionAutoscalers.patch
.PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "minNumReplicas": 1, "maxNumReplicas": 5, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.8 }, "scaleInControl": { "maxScaledInReplicas": { "fixed": MAX_SCALE_IN_REPLICAS }, "timeWindowSec": TIME_WINDOW } } }
Substitua o seguinte:
AUTOSCALER_NAME
: o nome do redimensionador automático a criar. Pode dar ao seu escalador automático o nome do MIG que o vai usar ou dar-lhe outro nome.INSTANCE_GROUP_NAME
: o nome do MIG ao qual adicionar o redimensionador automático. Para um MIG regional, substituazones/ZONE
porregions/REGION
.MAX_SCALE_IN_REPLICAS
: o número máximo de VMs que podem ser deduzidas do tamanho alvo recomendado máximo, retirado do período de análise retrospetiva especificado. O número especificado de instâncias de VM pode ser dimensionado de uma só vez, pelo que o seu serviço deve poder perder este número de VMs de uma só vez. Pode especificar um número de VMs ou uma percentagem. Use o elementomaxScaledInReplicas.percentage
para especificar um valor percentual.TIME_WINDOW
: o período de tempo anterior a partir do qual se deve obter o tamanho recomendado máximo. O ajuste automático não vai reduzir o número de réplicas mais do que o número máximo permitido a partir do tamanho máximo recomendado, medido durante este período de análise. Especifique este valor em segundos no intervalo de60
e3600
; por exemplo:1800
.
Por exemplo, suponhamos que define o período para 1800 segundos (30 minutos). Ao calcular o tamanho recomendado atual para o MIG, o escalador automático usa a seguinte lógica:
- Tome o tamanho máximo dos últimos 30 minutos (por exemplo, 100 VMs)
- Tome
max-scaled-in-replicas
(por exemplo, 10 VMs) - Defina o limite inferior do tamanho recomendado para: tamanho máximo menos
max-scaled-in-replicas
(100 - 10 = 90 VMs)
Para mais informações sobre o funcionamento dos controlos de aumento da escala, consulte o artigo Compreender as decisões do escalador automático.
A obter a configuração atual dos controlos de redução
Para obter a configuração atual dos controlos de redução, consulte o artigo Obter informações sobre um escalador automático.
Remover controlos de redução
Pode remover os controlos de redução para anular as restrições na sincronização e na magnitude das operações de redução através da CLI Google Cloud ou da API Compute Engine.
Sem controlos de redução, o dimensionamento automático continua a basear-se no respetivo mecanismo de estabilização predefinido. Especificamente, mantém um tamanho recomendado a um nível necessário para publicar durante o pico de carga, observado durante o período de estabilização.
Consola
Para remover os controlos de redução de escala de um MIG com escalonamento automático:
Na Google Cloud consola, aceda à página Grupos de instâncias.
Clique no nome de um MIG com escalamento automático na lista para abrir a página de vista geral desse grupo.
Clique em Edit.
Clique em Tamanho do grupo e redimensionamento automático para ver e atualizar as definições de redimensionamento automático do grupo.
Na secção Controlos de redução da escala, desmarque a caixa de verificação Ativar controlos de redução da escala.
Clique em Guardar.
gcloud
Remova os controlos de redução da escala com a flag
--clear-scale-in-control
com o comandogcloud compute instance-groups managed update-autoscaling
. Por exemplo, use o seguinte comando para remover os controlos de redução da escala da configuração de escala automática paraexample-group
:gcloud compute instance-groups managed update-autoscaling example-group \ --clear-scale-in-control
REST
Para remover os controlos de redução, use o método
autoscalers.patch
para um GIG zonal ou o métodoregionAutoscalers.patch
para um GIG regional e forneça uma configuração vazia para os controlos de redução.PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scaleInControl": null } }
Substitua o seguinte:
AUTOSCALER_NAME
: o nome do escalador automático a atualizar. Para obter uma lista dos escaladores automáticos existentes e dos respetivos grupos de instâncias geridos de destino, use o métodoautoscalers.aggregatedList
.
Eliminar um redimensionador automático
Pode eliminar permanentemente o recurso de ajuste automático e o respetivo histórico. Se quiser parar temporariamente o ajuste de escala automático e manter o recurso de ajuste de escala automático e a respetiva configuração e histórico, desative o ajuste de escala automático.
Consola
Na Google Cloud consola, aceda à página Grupos de instâncias.
Clique no nome de um MIG na lista para abrir a página de vista geral desse grupo.
Clique em Edit.
Clique em Tamanho do grupo e redimensionamento automático para ver e atualizar as definições de redimensionamento automático do grupo.
Na lista Modo de dimensionamento automático, selecione Eliminar configuração do dimensionamento automático para parar o dimensionador automático e eliminar a respetiva configuração.
Clique em Guardar quando terminar.
gcloud
Use o comando
stop-autoscaling
para parar um escalador automático e eliminar a respetiva configuração.gcloud compute instance-groups managed stop-autoscaling INSTANCE_GROUP_NAME
A paragem de um redimensionador automático elimina-o do MIG. Se quiser reiniciar o escalador automático, tem de o recriar através do comando
set-autoscaling
.Se eliminar um MIG através da CLI gcloud, todos os escaladores automáticos anexados ao MIG também são eliminados.
REST
Para parar um escalador automático e eliminar a respetiva configuração, use o método
autoscalers.delete
para um MIG zonal ou o métodoregionAutoscalers.delete
para um MIG regional.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/AUTOSCALER_NAME
Feedback
Queremos saber mais sobre os seus exemplos de utilização, desafios e feedback sobre o ajuste de escala automático. Partilhe o seu feedback com a nossa equipa através do endereço de email mig-discuss@google.com.
O que se segue?
- Saiba como os escaladores automáticos tomam decisões.
- Saiba como usar vários sinais de ajuste automático da escala para ajustar a escala do seu grupo.
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-10-19 UTC.
-