O escalonamento automático baseado em agendamento permite melhorar a disponibilidade de suas cargas de trabalho agendando a capacidade antes da carga prevista. Se você executar sua carga de trabalho em um grupo de instâncias gerenciadas (MIG), poderá agendar um número necessário de instâncias de máquina virtual (VM) para padrões de carga recorrentes, bem como eventos únicos. Use agendas de escalabilidade se sua carga de trabalho demorar muito para inicializar e você quiser escalar antes dos picos de carga previstos.
Este documento descreve como você pode criar, listar, editar, desativar, reativar e excluir programações de escalabilidade para um MIG existente. Para obter mais informações sobre MIGs e escalonamento automático, consulte Criação de grupos de instâncias gerenciadas e Dimensionamento automático de grupos de instâncias .
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.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Você pode ter até 128 programações de escalonamento por MIG. Para atenuar esse limite, exclua planejamentos de escalabilidade que tenham status
OBSOLETE
e que você não planeja executar novamente. - A duração mínima para programações de escalonamento é de 5 minutos.
No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome de um MIG na lista.
Clique em
Editar .Se não existir nenhuma configuração de escalonamento automático:
- Em Dimensionamento automático , clique em Configurar dimensionamento automático .
- Em Modo de escalonamento automático , selecione Ativado: adicione e remova instâncias do grupo para ativar o escalonamento automático. Se você quiser dimensionar seu MIG com base apenas em agendamentos, exclua a métrica de utilização de CPU padrão depois de adicionar os agendamentos.
Para cada programação de escalabilidade que você deseja adicionar:
- Expanda a seção Programações de escalonamento automático , clique em Gerenciar programações e, em seguida, clique em Criar programação .
- No painel Criar agendamento de escalabilidade , insira um Nome .
- Opcional: Insira uma Descrição .
- Insira o número mínimo de instâncias necessárias que este planejamento fornece quando está ativo.
- Especifique o horário de início e a recorrência do seu planejamento de escalabilidade usando a interface padrão ou, se desejar configurar um agendamento com horário de início e recorrência mais complexos, usando uma expressão cron .
- Interface padrão
- No campo Hora de início , digite ou clique em para selecionar uma hora de início.
- No campo Recorrência , selecione a frequência com que o agendamento se repete. Se você selecionar Toda semana ou Todo mês , use o menu suspenso adicional para selecionar em quais dias da semana ou mês a programação começa.
- Expressão Cron
- Para ativar, clique no botão Usar expressão CRON .
- Insira uma expressão CRON .
- Interface padrão
No campo Fuso horário , selecione um fuso horário.
Nos campos Duração e Unidade de tempo , insira uma duração e selecione uma unidade de tempo correspondente.
Clique em Salvar . O painel Dimensionamento de cronogramas é aberto.
Opcional: você pode criar outro planejamento de escalabilidade clicando em
Criar agendamento .
Quando terminar de criar programações, clique em Concluído .
Para fechar a página Grupos de instâncias , clique em Salvar .
-
MIG_NAME
: o nome de um MIG com uma política de escalonamento automático existente. -
MIN_NUM_REPLICAS
: Opcional: o número mínimo de instâncias necessárias para este MIG. O Google recomenda definir esse valor para o número mínimo de instâncias necessárias quando nenhuma programação de escalonamento estiver ativa. Quando você define esse valor como0
e configura o escalonamento automático com programações ou métricas do Cloud Monitoring com séries temporais únicas por grupo, seu MIG pode ser escalonado para 0 VMs. A redução vertical para 0 VMs não é possível quando a política tem outros sinais, que requerem dados de VM individuais, por exemplo, utilização da CPU. -
MAX_NUM_REPLICAS
: o número máximo de instâncias que podem ser fornecidas para este MIG. Opcional para um MIG com uma política de escalonamento automático existente. -
SCHEDULE_NAME
: o nome da nova programação de escalonamento. -
CRON_EXPRESSION
: o horário de início e recorrência deste agendamento formatado como uma expressão cron . -
DURATION
: a duração , em segundos, que este agendamento está ativo. -
TIME_ZONE
: Opcional: o fuso horário da IANA para o horário de início da programação — por exemplo,Europe/Paris
. O valor padrão éUTC
. -
MIN_REQ_REPLICAS
: o número mínimo de instâncias necessárias que este agendamento fornece quando está ativo. -
DESCRIPTION
: Opcional: uma descrição do novo cronograma de escalabilidade. -
ZONE
ouREGION
: Opcional: a zona ou região onde seu MIG está localizado. -
PROJECT
: seu ID do projeto . -
ZONE
: a zona onde seu MIG está localizado. -
AUTOSCALER_NAME
: o nome de um escalonador automático existente. Geralmente é igual ao nome do MIG. -
MIN_NUM_REPLICAS
: Opcional: o número mínimo de instâncias necessárias para este MIG. O Google recomenda definir esse valor para o número mínimo de instâncias necessárias quando nenhuma programação de escalonamento estiver ativa. Quando você define esse valor como0
e configura o escalonamento automático com programações ou métricas do Cloud Monitoring com séries temporais únicas por grupo, seu MIG pode ser escalonado para 0 VMs. A redução vertical para 0 VMs não é possível quando a política tem outros sinais, que requerem dados de VM individuais, por exemplo, utilização da CPU. -
MAX_NUM_REPLICAS
: o número máximo de instâncias que podem ser fornecidas para este MIG. Opcional para um MIG com uma política de escalonamento automático existente. -
SCHEDULE_NAME
: o nome da nova programação de escalonamento. -
MIN_REQ_REPLICAS
: as instâncias mínimas necessárias que este agendamento fornece quando está ativo. -
CRON_EXPRESSION
: o horário de início e recorrência deste agendamento formatado como uma expressão cron . -
TIME_ZONE
: Opcional: o fuso horário da IANA para o horário de início da programação — por exemplo,Europe/Paris
. O valor padrão éUTC
. -
DURATION
: a duração , em segundos, que este agendamento está ativo. -
DESCRIPTION
: Opcional: uma descrição do novo cronograma de escalabilidade. No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome de um MIG na lista.
Clique em
Editar .Você pode ver o número total de programações em Programações de escalonamento automático . Clique em Gerenciar programações para exibir a lista de suas programações de escalabilidade existentes.
-
MIG_NAME
: o nome de um MIG com uma política de escalonamento automático existente. -
ZONE
ouREGION
: Opcional: a zona ou região onde seu MIG está localizado. -
PROJECT
: seu ID do projeto . -
ZONE
: a zona onde seu MIG está localizado. -
AUTOSCALER_NAME
: o nome de um escalonador automático existente. Geralmente é igual ao nome do MIG. No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome de um MIG na lista.
Clique em
Editar .Você pode ver o número total de programações em Programações de escalonamento automático . Clique em Gerenciar programações para exibir a lista de suas programações de escalabilidade existentes.
Marque a caixa de seleção da programação de escalabilidade que você deseja editar.
Na parte superior do painel Programações de escalabilidade , clique em
Editar .No novo painel Editar agendamento de escalabilidade , modifique os campos que você deseja alterar. Para obter mais informações sobre cada campo, consulte Criando um planejamento de escalabilidade .
Quando terminar, clique em Salvar .
-
MIG_NAME
: o nome de um MIG com uma programação de escalabilidade existente. -
SCHEDULE_NAME
: o nome da programação de escalonamento existente. -
CRON_EXPRESSION
: Opcional: o novo horário de início e recorrência deste agendamento formatado como uma expressão cron . -
DURATION
: Opcional: a nova duração , em segundos, que este agendamento está ativo. -
TIME_ZONE
: Opcional: o novo fuso horário da IANA para o horário de início da programação — por exemplo,Europe/Paris
. O valor padrão éUTC
. -
MIN_REQ_REPLICAS
: Opcional: o novo número mínimo de instâncias necessárias que este planejamento fornece quando está ativo. -
DESCRIPTION
: Opcional: uma nova descrição do cronograma de escalabilidade. -
ZONE
ouREGION
: Opcional: a zona ou região onde seu MIG está localizado. -
PROJECT
: seu ID do projeto . -
ZONE
: a zona onde seu MIG está localizado. -
AUTOSCALER_NAME
: o nome de um escalonador automático existente. Geralmente é igual ao nome do MIG. -
SCHEDULE_NAME
: o nome da programação de escalonamento existente. -
MIN_REQ_REPLICAS
: Opcional: o novo número mínimo de instâncias necessárias que este planejamento fornece quando está ativo. -
CRON_EXPRESSION
: Opcional: o novo horário de início e recorrência deste agendamento formatado como uma expressão cron . -
TIME_ZONE
: Opcional: o novo fuso horário da IANA para o horário de início da programação — por exemplo,Europe/Paris
. O valor padrão éUTC
. -
DURATION
: Opcional: a nova duração , em segundos, que este agendamento está ativo. -
DESCRIPTION
: Opcional: uma nova descrição do cronograma de escalabilidade. No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome de um MIG na lista.
Clique em
Editar .Você pode ver o número total de programações em Programações de escalonamento automático . Clique em Gerenciar programações para exibir a lista de suas programações de escalabilidade existentes.
Marque as caixas de seleção das programações de escalabilidade que você deseja desativar ou ativar.
Desabilite ou habilite os agendamentos selecionados.
- Para desativar os agendamentos selecionados:
- Na parte superior do painel Programações de escalabilidade , clique em Disable .
- Na nova caixa de diálogo Desabilitar agendamentos , clique em Desabilitar .
- Para ativar os agendamentos selecionados:
- Na parte superior do painel Programações de escalabilidade , clique em Enable .
- Na nova caixa de diálogo Habilitar agendamentos , clique em Habilitar .
- Para desativar os agendamentos selecionados:
-
MIG_NAME
: o nome de um MIG com uma programação de escalabilidade existente. -
SCHEDULE_NAME
: o nome da programação de escalabilidade que você deseja desativar. -
ZONE
ouREGION
: Opcional: a zona ou região onde seu MIG está localizado. -
MIG_NAME
: o nome de um MIG com uma programação de escalabilidade existente. -
SCHEDULE_NAME
: o nome da programação de escalonamento que você deseja reativar. -
ZONE
ouREGION
: Opcional: a zona ou região onde seu MIG está localizado. -
PROJECT
: seu ID do projeto . -
ZONE
: a zona onde seu MIG está localizado. -
AUTOSCALER_NAME
: o nome de um escalonador automático existente. Geralmente é igual ao nome do MIG. -
SCHEDULE_NAME
: o nome da programação de escalabilidade que você deseja desativar. -
PROJECT
: seu ID do projeto . -
ZONE
: a zona onde seu MIG está localizado. -
AUTOSCALER_NAME
: o nome de um escalonador automático existente. Geralmente é igual ao nome do MIG. -
SCHEDULE_NAME
: o nome da programação de escalonamento que você deseja reativar. No console do Google Cloud, acesse a página Grupos de instâncias .
Clique no nome de um MIG na lista.
Clique em
Editar .Você pode ver o número total de programações em Programações de escalonamento automático . Clique em Gerenciar programações para exibir a lista de suas programações de escalabilidade existentes.
Marque as caixas de seleção das programações de escalabilidade que você deseja excluir.
Na parte superior do painel Programações de escalabilidade , clique em
Excluir .Na nova caixa de diálogo Excluir programações , clique em Excluir .
-
MIG_NAME
: o nome de um MIG com uma programação de escalabilidade existente. -
SCHEDULE_NAME
: o nome da programação de escalabilidade que você deseja excluir. -
ZONE
ouREGION
: Opcional: a zona ou região onde seu MIG está localizado. -
PROJECT
: seu ID do projeto . -
ZONE
: a zona onde seu MIG está localizado. -
AUTOSCALER_NAME
: o nome de um escalonador automático existente. Geralmente é igual ao nome do MIG. -
SCHEDULE_NAME
: o nome da programação de escalabilidade que você deseja excluir. Instâncias mínimas necessárias : o número de VMs necessárias no MIG quando esse agendamento de escalabilidade está ativo.
Quando esse agendamento está ativo, o MIG tem pelo menos esse número de VMs, mas pode ter mais dependendo de outras configurações de escalonamento automático. Além disso, o tamanho do MIG é sempre restrito pelo número mínimo e máximo de instâncias configuradas nas configurações de escalonamento automático do MIG.
Fuso horário : o fuso horário da IANA baseado em localização para interpretar o horário de início da programação.
Uma lista de valores disponíveis é definida pelo banco de dados de fuso horário da IANA — por exemplo,
Europe/Paris
. Se nenhum fuso horário for fornecido,UTC
será usado por padrão. Alguns fusos horários da IANA seguem o horário de verão. Para saber como o horário de verão afeta as programações de escala, consulte Horário de verão .Duração : o tempo durante o qual você deseja que o agendamento de escalabilidade fique ativo.
A programação de escalabilidade está ativa desde o horário de início durante a duração configurada. A duração mínima é de 5 minutos. Durante esse período, o escalonador automático dimensiona o MIG para ter pelo menos o número de VMs definido pelas instâncias necessárias do cronograma. Após a duração especificada, se a capacidade atual não for mais necessária, o escalonador automático começará a remover as instâncias de VM após um período de estabilização padrão de 10 minutos e seguindo quaisquer controles de redução vertical configurados.
As programações de escala são bidirecionais. As VMs são removidas no horário de parada especificado e o tamanho do grupo é reduzido ao tamanho mínimo do grupo definido, a menos que você tenha especificado outros sinais de escalonamento automático.
Hora de início : a hora do dia em que você deseja que a programação de escalabilidade fique ativa.
Na hora de início, o agendamento de escalabilidade começa a criar VMs sempre que o tamanho do MIG for menor que as instâncias necessárias do agendamento. Defina a hora de início para permitir tempo suficiente para que novas VMs sejam inicializadas. Por exemplo, se a sua carga de trabalho demorar 10 minutos desde a criação da VM para começar a ser veiculada, defina o horário de início como 10 minutos antes do horário em que você precisa que as VMs estejam prontas.
Recorrência : se e com que frequência o cronograma de escalonamento se repete, conforme definido pelas seguintes opções:
- Uma vez : uma programação única que começa apenas na data selecionada.
- Todos os dias : uma programação repetitiva que começa todos os dias.
- Toda semana : uma programação repetida que começa toda semana nos dias selecionados da semana — por exemplo, de segunda a sexta.
- Todo mês : uma programação repetida que começa todo mês nos dias selecionados do mês — por exemplo, no primeiro dia de cada mês. Os últimos dias do mês (dias 29 a 31) só entram em vigor durante os meses em que esses dias ocorrem.
- Espaço em branco é usado para separar os campos de uma expressão cron. Lembre-se de não adicionar espaços em branco extras em um campo que use caracteres especiais.
- Quando você especifica um dia da semana e um dia do mês (quando nenhum dos campos está definido como
*
), o planejamento usa a união desses valores, não a interseção. Por exemplo, a programação0 8 1 * Mon
começa às 8h de todas as segundas-feiras e no primeiro dia de cada mês. Esse horário não começa às 8h, apenas nas segundas-feiras, que também são o primeiro dia do mês. - Você pode usar zero ou mais caracteres especiais em cada campo de uma expressão cron. Por exemplo, se quiser que uma programação comece todos os meses, exceto maio, você pode definir o campo do mês como
1-4,6-12
(uma lista de dois intervalos sem espaços em branco). - Ao usar intervalos (
-
), você não pode usar0-7
ouSun-Sun
para o campo do dia da semana. Para especificar todos os dias da semana, use*
,0-6
,1-7
,Sun-Sat
ouMon-Sun
. - Ao usar etapas (
/
), lembre-se de que as expressões cron não têm estado, portanto as etapas às vezes podem ser desiguais. Por exemplo, se quiser que um agendamento seja executado a cada 6 horas, você pode definir o campo horas como*/6
, que se comporta da mesma forma que listar todos os múltiplos válidos de 6 (0,6,12,18
). As etapas são iguais porque 24 horas são facilmente divididas em partes de 6 horas. No entanto, se você definir o campo horas como*/7
, o agendamento nem sempre iniciará em intervalos de 7 horas. Em vez disso,*/7
se comporta da mesma forma que listar todos os múltiplos válidos de 7 (0,7,14,21
), o que significa que a programação pode começar durante as 12h, 7h, 14h e 21h. - Status (
state
): O status atual do cronograma de escalabilidade, representado por um dos seguintes estados:- Pronto (
READY
): Este agendamento está pronto, mas ainda não está ativo. O autoescalador está aguardando a próxima ocorrência deste agendamento. - Ativo (
ACTIVE
): Este agendamento está ativo no momento. O escalonador automático está tentando fornecer a este MIG pelo menos as instâncias necessárias especificadas por esta programação. - Obsoleto (
OBSOLETE
): Este agendamento expirou; ele não estará ativo novamente. O escalonador automático está ignorando esse agendamento porque não há ocorrências futuras. - Desativado (
DISABLED
): Este agendamento não pode estar ativo porque foi desativado manualmente. O escalonador automático está ignorando esse agendamento até ser reativado.
- Pronto (
- Última ocorrência (
lastStartTime
): o carimbo de data/hora da última vez que esse agendamento de escalabilidade ficou ativo. Esta é a data e hora reais da última ativação. Por exemplo, se você tiver uma programação de escalabilidade desabilitada com recorrência diária, horário de início às 10h e duração de 2 horas, e reativar a programação às 11h de hoje, olastStartTime
será 11h de hoje. - Próxima ocorrência (
nextStartTime
): O carimbo de data/hora da próxima vez que esse agendamento será definido para se tornar ativo. - Os horários que estão ativos durante a hora ignorada ainda são executados por toda a duração, mas para compensar a hora pulada, esses horários terminam 1 hora depois do horário de término em dias sem transições de DST. Normalmente, o horário final de um cronograma é a soma do horário de início e duração do cronograma. Mas se o DST pular 1 hora enquanto um cronograma estiver ativo e a duração e o horário de início permanecerem constantes, o horário final para esse cronograma é de 1 hora a mais que a soma do horário de início e duração do cronograma.
- Os horários configurados para começar durante a hora ignorada também começam 1 hora depois do horário de início em dias sem transições de DST.
- Os horários que estão ativos durante a hora de repetição ainda são executados por toda a duração, mas para compensar a hora repetida, esses horários terminam 1 hora antes do horário de término em dias sem transições de DST. Normalmente, o horário final de um cronograma é a soma do horário de início e duração do cronograma. Mas se o DST se repetir 1 hora enquanto um cronograma estiver ativo e a duração e o horário de início permanecerão constantes, o horário final para esse cronograma é 1 hora a menos que a soma do horário de início e duração do cronograma.
- Os horários configurados para começar durante o período de transição começam no tempo configurado, mas não reiniciam durante a segunda ocorrência repetida do horário de início.
- Aprenda sobre o uso de uma política de autocaling com vários sinais .
- Aprenda sobre o gerenciamento de autoscaladores .
- Aprenda sobre a compreensão das decisões do Autoscaler .
- Aprenda a MIGs de escala automática com base em outros tipos de sinais de autocaling:
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.
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.
Limitações
As programações de escalonamento são restritas pelas limitações de todos os escalonadores automáticos , bem como pelas seguintes limitações:
Criando um cronograma de escalonamento
Você pode criar até 128 programações de escalonamento por MIG. Para obter mais informações, consulte Dimensionamento das configurações de agendamento .
As instruções a seguir explicam como criar uma programação de escalabilidade para um MIG.
Console
gcloud
Para adicionar uma programação de escalonamento a um MIG que não tem uma política de escalonamento automático existente, use o comando
gcloud compute instance-groups managed set-autoscaling
.gcloud compute instance-groups managed set-autoscaling MIG_NAME \ [--min-num-replicas=MIN_NUM_REPLICAS] \ --max-num-replicas=MAX_NUM_REPLICAS \ --set-schedule=SCHEDULE_NAME \ --schedule-cron="CRON_EXPRESSION" \ --schedule-duration-sec=DURATION \ [--schedule-time-zone="TIME_ZONE"] \ --schedule-min-required-replicas=MIN_REQ_REPLICAS \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
Para adicionar uma programação de escalonamento a um MIG com uma política de escalonamento automático existente, use o comando
gcloud compute instance-groups managed update-autoscaling
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ [--min-num-replicas=MIN_NUM_REPLICAS] \ [--max-num-replicas=MAX_NUM_REPLICAS] \ --set-schedule=SCHEDULE_NAME \ --schedule-cron="CRON_EXPRESSION" \ --schedule-duration-sec=DURATION \ [--schedule-time-zone="TIME_ZONE"] \ --schedule-min-required-replicas=MIN_REQ_REPLICAS \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
Substitua o seguinte:
Você pode criar programações que sejam executadas uma vez ou que sejam repetidas periodicamente.
Programação repetida
Este comando de exemplo cria um agendamento que se repete. Essa programação especifica que você deseja que seu MIG contenha pelo menos 10 instâncias de VM todas as segundas, terças, quartas, quintas e sextas-feiras, das 8h30 às 17h, Horário Universal Coordenado (UTC). Este comando também usa os sinalizadores
--min-num-replicas
e--max-num-replicas
para atualizar o número mínimo de instâncias para 0 e o número máximo de instâncias para 30 para todos os sinais de escalonamento automático do MIG selecionado. Este comando pressupõe que você tenha um MIG existente denominadoexample-mig
com uma política de escalonamento automático existente.gcloud compute instance-groups managed update-autoscaling example-mig \ --min-num-replicas=0 \ --max-num-replicas=30 \ --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"
Agendamento único
Este comando de exemplo cria um planejamento que é executado uma vez. Essa programação especifica que você deseja que seu MIG contenha pelo menos 30 instâncias de VM durante todo o dia em 30 de janeiro de 2030 para o fuso horário
America/New_York
. Este comando pressupõe que você tenha um MIG existente chamadoexample-mig
localizado emus-east1-b
e que tenha uma política de escalonamento automático existente.gcloud compute instance-groups managed update-autoscaling example-mig \ --set-schedule=example-onetime-schedule \ --schedule-cron="0 0 30 1 * 2030" \ --schedule-duration-sec=86400 \ --schedule-time-zone="America/New_York" \ --schedule-min-required-replicas=30 \ --schedule-description="Schedule a minimum of 30 VMs all day for January 30, 2030" \ --zone=us-east1-b
Terraforma
Para adicionar uma programação de escalonamento a um MIG, use o recurso
google_compute_autoscaler
.Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
DESCANSAR
Para criar um escalonador automático com programações de escalabilidade para um MIG, use o método
autoscalers.insert
para um MIG zonal ou o métodoregionAutoscalers.insert
para um MIG regional.Faça a seguinte chamada para criar uma programação para um MIG zonal que não tenha uma política de escalonamento automático existente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers/ { "name": "AUTOSCALER_NAME", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/MIG_NAME", "autoscalingPolicy": { "minNumReplicas": MIN_NUM_REPLICAS, "maxNumReplicas": MAX_NUM_REPLICAS, "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
Para criar programações para um MIG que tenha uma política de escalonamento automático existente, use o método
autoscalers.patch
para um MIG zonal ou o métodoregionAutoscalers.patch
para um MIG regional.Por exemplo, faça a seguinte chamada para criar uma programação para um MIG zonal que tenha uma política de escalonamento automático existente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "minNumReplicas": MIN_NUM_REPLICAS, "maxNumReplicas": MAX_NUM_REPLICAS, "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
Substitua o seguinte:
Você pode criar programações que sejam executadas uma vez ou que sejam repetidas periodicamente.
Programação repetida
Este exemplo de chamada de API cria uma programação que se repete. Essa programação especifica que você deseja que um MIG zonal contenha pelo menos 10 instâncias de VM todas as segundas, terças, quartas, quintas e sextas-feiras, das 8h30 às 17h, Horário Universal Coordenado (UTC). Esta chamada de API também usa os campos
minNumReplicas
emaxNumReplicas
para atualizar o número mínimo de instâncias para 0 e o número máximo de instâncias para 30 para todos os sinais de escalonamento automático do MIG selecionado. Esta chamada de API pressupõe que você tenha um projeto existente denominadoexample-project
com um MIG zonal localizado emus-east1-b
e tenha um autoescalador denominadoexample-autoscaler
com uma política de escalonamento automático existente.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "minNumReplicas": 0, "maxNumReplicas": 30, "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" } } } }
Para usar este exemplo para um MIG regional, faça uma solicitação semelhante usando o método
regionAutoscalers.patch
e especifique uma região em vez de uma zona.Agendamento único
Este exemplo de chamada de API cria uma programação que é executada uma vez. Essa programação especifica que você deseja que um MIG zonal contenha pelo menos 30 instâncias de VM durante todo o dia em 30 de janeiro de 2030 para o fuso horário
America/New_York
. Esta chamada de API pressupõe que você tenha um projeto existente denominadoexample-project
com um MIG zonal localizado emus-east1-b
e tenha um autoescalador denominadoexample-autoscaler
com uma política de escalonamento automático existente.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "scalingSchedules": { "example-onetime-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" } } } }
Para usar este exemplo para um MIG regional, faça uma solicitação semelhante usando o método
regionAutoscalers.patch
e especifique uma região em vez de uma zona.Vários horários
Este exemplo de chamada de API usa o método
autoscalers.patch
para duas programações,workday-capacity
ejanuary-30-2030-schedule
, em uma única chamada. Esta chamada de API pressupõe que você tenha um projeto existente denominadoexample-project
com um MIG zonal localizado emus-east1-b
e tenha um autoescalador denominadoexample-autoscaler
com uma política de escalonamento automático existente.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "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" } } } }
Para usar este exemplo para um MIG regional, faça uma solicitação semelhante usando o método
regionAutoscalers.patch
e especifique uma região em vez de uma zona.Após a criação de um agendamento, talvez seja necessário aguardar alguns minutos para ver suas informações de status .
Listando suas programações de escalonamento
Você pode visualizar uma lista das programações de um MIG. A lista mostra as configurações e informações de status de cada programação.
Console
Quando terminar, você pode fechar a lista clicando em Concluído .
gcloud
Para obter detalhes de um MIG, incluindo as configurações e os status de suas programações de escalonamento, use o comando
gcloud compute instance-groups managed describe
description .gcloud compute instance-groups managed describe MIG_NAME \ [--zone=ZONE | --region=REGION]
Substitua o seguinte:
Quaisquer programações de escalabilidade para seu MIG são listadas na saída, conforme mostrado no exemplo a seguir.
... autoscalingPolicy: ... maxNumReplicas: 30 minNumReplicas: 0 ... scalingSchedules: example-onetime-schedule: description: Schedule a minimum of 30 VMs all day for January 30, 2030 disabled: false durationSec: 86400 minRequiredReplicas: 30 schedule: 0 0 30 1 * 2030 timeZone: America/New_York workday-capacity: description: Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC disabled: false durationSec: 30600 minRequiredReplicas: 10 schedule: 30 8 * * Mon-Fri timeZone: UTC ... scheduledScalingStatus: example-onetime-schedule: state: READY nextStartTime: '2030-01-30T00:00:00.000-05:00' lastStartTime: '' workday-capacity: state: READY nextStartTime: '2020-11-04T08:30:00.000-00:00' lastStartTime: '2020-11-03T08:30:00.000-00:00' ...
DESCANSAR
Para obter detalhes de um escalonador automático, incluindo as configurações e os status de seus cronogramas de escalabilidade, use o método
autoscalers.get
para um MIG zonal ou o métodoregionAutoscalers.get
para um MIG regional.Por exemplo, faça a seguinte chamada para listar as programações de um MIG zonal que tenha uma política de escalonamento automático existente:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
Substitua o seguinte:
Quaisquer programações de escalabilidade para seu MIG são listadas na saída, conforme mostrado no exemplo a seguir.
{ ... "autoscalingPolicy": { ... "minNumReplicas": 0, "maxNumReplicas": 30, ... "scalingSchedules": { "example-onetime-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", "disabled": false }, "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "timeZone": "", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC", "disabled": false }, ... } }, "scheduledScalingStatus": { "example-onetime-schedule": { "state": "READY", "nextStartTime": "2030-01-30T00:00:00.000-05:00", "lastStartTime": '' }, "workday-capacity": { "state": "READY", "nextStartTime": "2020-11-04T08:30:00.000", "lastStartTime": "2020-11-03T08:30:00.000" }, ... }, ... }
Editando uma programação de escalabilidade
Você pode editar uma programação de escalabilidade existente para alterar qualquer uma de suas configurações , exceto o nome da programação. Você também pode desativar ou reativar uma programação de escalabilidade .
Console
Talvez seja necessário aguardar alguns minutos antes que as alterações entrem em vigor. Você pode monitorar o status de suas programações clicando em
Atualizar na parte superior do painel Escalar programações .Quando terminar, você pode fechar a lista clicando em Concluído .
gcloud
Para atualizar uma programação de escalabilidade existente, use o comando
gcloud compute instance-groups managed update-autoscaling
. Use o sinalizador--update-schedule
para indicar o nome do agendamento a ser atualizado. Inclua os outros sinalizadores conforme necessário para suas alterações.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --update-schedule=SCHEDULE_NAME \ [--schedule-cron="CRON_EXPRESSION"] \ [--schedule-duration-sec=DURATION] \ [--schedule-time-zone="TIME_ZONE"] \ [--schedule-min-required-replicas=MIN_REQ_REPLICAS] \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
Substitua o seguinte:
DESCANSAR
Para atualizar os cronogramas de escalabilidade existentes para um MIG, use o método
autoscalers.patch
para um MIG zonal ou o métodoregionAutoscalers.patch
para um MIG regional.Por exemplo, faça a seguinte chamada para editar uma programação para um MIG zonal que tenha uma política de escalonamento automático existente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
Substitua o seguinte:
Desativar e reativar uma programação de escalabilidade
As programações de escalabilidade são habilitadas por padrão. Desative um agendamento se quiser impedir que um agendamento fique ativo, mas quiser salvar sua configuração. Reative uma programação desativada quando quiser usá-la novamente.
Se você não precisar armazenar o agendamento ou tiver atingido o limite de 128 agendamentos para este MIG, exclua o agendamento . Se você quiser desabilitar o escalonamento automático para um MIG, desative o escalonamento automático .
Console
Talvez seja necessário aguardar alguns minutos antes que as alterações entrem em vigor. Você pode monitorar o status de suas programações clicando em
Atualizar na parte superior do painel Escalar programações .Quando terminar, você pode fechar a lista clicando em Concluído .
gcloud
Para desativar ou reativar uma programação de escalonamento, use o comando
gcloud compute instance-groups managed update-autoscaling
.Desativando uma programação de escalonamento
Para desabilitar uma programação de escalabilidade, use o sinalizador
--disable-schedule
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --disable-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
Substitua o seguinte:
Reativando uma programação de escalonamento
Para reativar uma programação de escalabilidade, use o sinalizador
--enable-schedule
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --enable-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
Substitua o seguinte:
DESCANSAR
Para desabilitar ou reativar programações de escalabilidade para um MIG, use o método
autoscalers.patch
para um MIG zonal ou o métodoregionAutoscalers.patch
para um MIG regional.Desativando programações de escalonamento
Para cada planejamento de escalabilidade que você deseja desabilitar, configure o campo
disabled
comotrue
. Por exemplo, faça a seguinte chamada para desabilitar um agendamento para um MIG zonal que tenha uma política de escalonamento automático existente:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "disabled": true }, ... } } }
Substitua o seguinte:
Reativando programações de escalonamento
Para cada planejamento de escalabilidade que você deseja reativar, defina o campo
disabled
comofalse
. Por exemplo, faça a seguinte chamada para reativar uma programação para um MIG zonal que tenha uma política de escalonamento automático existente:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "disabled": false }, ... } } }
Substitua o seguinte:
Excluindo uma programação de escalabilidade
Remova programações de escalonamento de um MIG excluindo-as. Exclua programações que não são mais necessárias, como programações com status
OBSOLETE
.Uma política de escalonamento automático deve sempre ter pelo menos um sinal de escalonamento. Se não existir nenhum outro sinal de escalonamento automático, não será possível excluir todas as programações de escalonamento sem excluir toda a política de escalonamento automático. Se quiser excluir todas as programações de escalabilidade, mas manter a política de escalabilidade automática, você deverá adicionar pelo menos um sinal de escalabilidade antes de excluir todas as programações.
Se quiser impedir que um agendamento fique ativo e salvá-lo para uso futuro, desative o agendamento . Se você quiser excluir a configuração de escalonamento automático de um MIG, exclua o autoscaler .
Console
Talvez seja necessário aguardar alguns minutos antes que as alterações entrem em vigor. Você pode monitorar o status de suas programações clicando em
Atualizar na parte superior do painel Escalar programações .Quando terminar, você pode fechar a lista clicando em Concluído .
gcloud
Para excluir uma programação de escalabilidade, use o comando
gcloud compute instance-groups managed update-autoscaling
com a sinalização--remove-schedule
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --remove-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
Substitua o seguinte:
DESCANSAR
Para excluir programações de escalabilidade para um MIG, use o método
autoscalers.patch
para um MIG zonal ou o métodoregionAutoscalers.patch
para um MIG regional. Para cada agendamento de escalabilidade que você deseja excluir, defina a configuração do agendamento comonull
Por exemplo, faça a seguinte chamada para excluir uma programação de um MIG zonal que tenha uma política de escalonamento automático existente:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": null ... } } }
Substitua o seguinte:
Conceitos
Esta seção descreve conceitos relacionados à criação e uso de cronogramas de escalabilidade, incluindo configurações de cronograma e detalhes sobre como eles funcionam.
Dimensionando configurações de agendamento
Ao criar e modificar as programações de escalabilidade para um MIG, cada programação de escalabilidade contém as seguintes configurações:
Ao usar a Google Cloud CLI ou REST, você precisa configurar o horário de início e a recorrência de uma programação de escalonamento usando uma expressão cron . No entanto, ao usar o console do Google Cloud, você pode configurar o horário de início e a recorrência de uma programação usando uma expressão cron ou as seguintes configurações:
Expressões Cron
A hora de início e a recorrência de um planejamento de escalabilidade podem ser configuradas usando uma expressão cron . Cron é um agendador de tarefas baseado em tempo originalmente usado em sistemas operacionais de computador do tipo Unix.
Sintaxe
Uma expressão cron é uma string composta por cinco ou seis campos separados por espaços em branco. A tabela a seguir define os campos de uma expressão cron e os valores possíveis para cada campo.
Minuto Hora Dia do mês Mês Dia da semana Ano (opcional) 0-59 0-23 1-31 1 a 12 (janeiro a dezembro)
onde1
=Jan
,2
=Feb
, ...12
=Dec
0-6 (Dom-Sábado) ou 1-7 (Seg-Dom)
onde0
=Sun
,1
=Mon
, ...6
=Sat
,7
=Sun
2000-2036
ou todos os anos (*
) se não for fornecidoAlém de usar esses valores, cada campo em uma expressão cron também pode usar caracteres especiais:
Caráter especial Significado Exemplo *
qualquer Se o campo do dia do mês, o campo do dia da semana e o campo do ano (se incluído) estiverem definidos como *
, o agendamento será iniciado todos os dias.-
faixa Se o campo do dia da semana estiver definido como 1-5
ouMon-Fri
, a programação começará toda semana, de segunda a sexta-feira.,
lista Se o campo do mês estiver definido como 5,7,9
ouMay,Jul,Sep
, a programação começará todo mês de maio, julho e setembro./
etapa Se o campo mês estiver definido como */3
, o agendamento começará durante o primeiro mês e a cada 3 meses depois disso: janeiro, abril, julho e outubro.Ao escrever uma expressão cron, considere o seguinte:
Programações repetidas versus programações únicas
Dependendo de como você escreve sua expressão cron, sua programação pode ser executada uma vez ou repetida periodicamente. Para criar um planejamento que seja executado apenas uma vez, você deve especificar o campo ano. Por exemplo, a expressão cron
0 0 30 1 * 2030
configura um agendamento para iniciar apenas uma vez, à meia-noite de 30 de janeiro de 2030. Para criar um agendamento que se repete, use caracteres especiais para descrever quando esse agendamento deve ser repetido. Por exemplo, a expressão cron30 8 * * Mon-Fri
configura uma programação para iniciar às 8h30 todas as segundas, terças, quartas, quintas e sextas-feiras.Agendar informações de status
Liste suas programações de escalabilidade para visualizar seu status. Uma programação de escalabilidade tem as seguintes informações de status:
Programações sobrepostas
Dependendo da hora de início, da recorrência, da duração e do fuso horário, duas ou mais programações de escalabilidade podem se sobrepor. Quando mais de um agendamento está ativo, o escalonador automático usa o maior número de instâncias de VM necessárias de todos os agendamentos de escalabilidade ativos. Isso ajuda a garantir que sempre haja capacidade suficiente para atender às necessidades de qualquer programação ativa. Por exemplo, se você tiver uma programação que se repete todos os dias, das 8h às 10h, exigindo pelo menos 10 VMs, mas também tiver uma programação única durante todo o dia que exige pelo menos 20 VMs, o escalonador automático dimensionará o MIG para pelo menos 20 VMs nesse dia. Isso é útil quando você tem requisitos de capacidade regulares e recorrentes, mas às vezes precisa de mais para lidar com eventos únicos. Esse comportamento permite agendar a capacidade sem se preocupar com a possibilidade de ela ser substituída por outras agendas com requisitos de VM menores.
Além disso, um escalonador automático sempre fornece o maior número de instâncias de VM exigidas por qualquer sinal de escalonamento automático ativo. Para obter mais informações, consulte Usando uma política de escalonamento automático com vários sinais .
Horário de verão
Os detalhes do horário de verão (DST) variam de acordo com o fuso horário da IANA baseado na localização da sua programação de escalonamento. Se o fuso horário da sua programação observar o horário de verão, o horário de início da programação será ajustado automaticamente para permanecer sincronizado com o horário do local selecionado. Por exemplo, se você criar uma programação de escalabilidade que comece todos os dias às 7h para o fuso horário
America/New_York
, essa programação começará sempre que forem 7h em Nova York, usando o horário de verão do leste ou o horário padrão do leste de acordo.As programações de escalabilidade sempre são executadas durante toda a duração configurada, mas podem ter horários de início e término ligeiramente diferentes nos dias em que a observação do horário de verão muda. Isso acontece porque as opções de horário de verão têm períodos de transição – um período que é ignorado no primeiro dia do horário de verão e que ocorre duas vezes no último dia do horário de verão. Por exemplo, se o DST para o seu fuso horário começar às 2 da manhã e tiver uma transição de 1 hora, o relógio mudar de 1:59:59 às 3 da manhã, então o prazo de 2h às 2:59:59 é ignorado. Se o DST para esse fuso horário terminar às 2 da manhã, o relógio mudar de 2:59:59 às 2 da manhã, então o período das 2 da manhã às 2:59:59 é repetido. As declarações a seguir assumem que o fuso horário da sua programação usa uma transição DST de 1 hora.
No primeiro dia de DST (quando uma hora é ignorada), os horários de escala têm as seguintes alterações:
No último dia de DST (quando uma hora é repetida), os horários de escala têm as seguintes alterações:
A maioria dos fusos horários que observam o DST usa um período de transição de 1 hora. Mas, se o fuso horário da sua programação usar um período de transição diferente-como a
Australia/Lord_Howe
Horial Fuso, que usa transições de 30 minutos-você pode esperar o mesmo comportamento. Basta substituir 1 hora pelo tempo de transição do DST relevante.O que vem 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.
-