Todos os produtos
Search
Central de documentação

Auto Scaling:CreateScalingRule

Última atualização: Jul 04, 2026

A função de uma regra de escalonamento é determinada pelo seu tipo, que pode ser usado para acionar uma atividade de escalonamento ou definir inteligentemente os limites de um grupo de escalonamento. Dependendo dos seus requisitos de negócios, você pode invocar a API CreateScalingRule para criar diferentes tipos de regras de escalonamento. Por exemplo, se o seu negócio exigir apenas a definição dos limites de um grupo de escalonamento, recomendamos que você selecione o tipo de regra de escalonamento preditivo.

Descrição da operação

Uma regra de escalonamento define operações específicas de scale-out ou scale-in, como adicionar ou remover N instâncias. Se a execução de uma regra de escalonamento fizer com que o número de instâncias ECS ou ECI no grupo de escalonamento fique abaixo de MinSize ou exceda MaxSize, o Auto Scaling ajustará automaticamente o número de instâncias ECS ou ECI a serem adicionadas ou removidas para que a contagem real de instâncias atinja MinSize ou MaxSize. No entanto, o valor configurado da regra de escalonamento permanece inalterado. Os exemplos são os seguintes:

  • Para um grupo de escalonamento com MaxSize=3 e uma capacidade total atual de 2, se a regra de escalonamento especificar a adição de 3 instâncias ECS, apenas 1 instância ECS será realmente adicionada durante a execução, mas o valor configurado da regra de escalonamento permanece 3.

  • Para um grupo de escalonamento com MinSize=2 e uma capacidade total atual de 3, se a regra de escalonamento especificar a remoção de 5 instâncias ECS, apenas 1 instância ECS será realmente removida durante a execução, mas o valor configurado da regra de escalonamento permanece 5.

Observe as seguintes descrições relacionadas aos parâmetros:

  • Quando AdjustmentType é TotalCapacity, significa ajustar o número atual de instâncias ECS ou ECI no grupo de escalonamento para a quantidade especificada. O AdjustmentValue correspondente deve ser maior ou igual a 0.

  • Quando AdjustmentType é QuantityChangeInCapacity ou PercentChangeInCapacity, um AdjustmentValue positivo indica a adição de instâncias, enquanto um valor negativo indica a remoção de instâncias.

  • Quando AdjustmentType é PercentChangeInCapacity, o Auto Scaling calcula o número de instâncias ECS ou ECI a serem adicionadas ou removidas multiplicando a contagem atual de instâncias (capacidade total) por AdjustmentValue/100 e, em seguida, aplicando o arredondamento.

  • Se um tempo de espera (Cooldown) for especificado na regra de escalonamento, o grupo de escalonamento entrará em um período de espera pela duração especificada após a conclusão da atividade de escalonamento acionada por esta regra. Se nenhum tempo de espera for especificado na regra de escalonamento, o tempo de espera padrão (DefaultCooldown) do grupo de escalonamento será usado.

  • Há um limite para o número de regras de escalonamento que podem ser criadas dentro de um único grupo de escalonamento. Para obter detalhes, consulte Limites.

  • O Identificador Único (ScalingRuleAri) retornado da regra de escalonamento pode ser usado com as seguintes APIs:
    • Especifique-o no parâmetro ScalingRuleAri ao invocar ExecuteScalingRule para executar manualmente a regra de escalonamento.

    • Especifique-o no parâmetro ScheduledAction ao criar uma tarefa agendada (CreateScheduledTask) para executar a regra de escalonamento em um horário agendado.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

ess:CreateScalingRule

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

ScalingGroupId

string

Sim

O ID do grupo de escalonamento ao qual a regra de escalonamento pertence.

asg-bp1ffogfdauy0jw0****

ScalingRuleName

string

Não

O nome da regra de escalonamento. O nome deve ter de 2 a 64 caracteres e pode conter letras, dígitos, sublinhados (_), hifens (-) e pontos (.). O nome deve começar com uma letra ou um dígito.

O nome de cada regra de escalonamento deve ser exclusivo na mesma conta dentro de uma região.

Se você deixar este parâmetro vazio, o ID da regra de escalonamento será usado.

scalingrule****

Cooldown

integer

Não

O tempo de espera da regra de escalonamento. Este parâmetro está disponível apenas se você definir o parâmetro ScalingRuleType como SimpleScalingRule. Valores válidos: 0 a 86400. Unidade: segundos.

Por padrão, este parâmetro é deixado vazio.

60

MinAdjustmentMagnitude

integer

Não

O número mínimo de instâncias que devem ser escalonadas quando o parâmetro AdjustmentType está definido como PercentChangeInCapacity. Este parâmetro só entra em vigor se você definir o parâmetro ScalingRuleType como SimpleScalingRule ou StepScalingRule.

1

AdjustmentType

string

Não

O método de escalonamento da regra de escalonamento. Este parâmetro é obrigatório apenas se você definir o parâmetro ScalingRuleType como SimpleScalingRule ou StepScalingRule. Valores válidos:

  • QuantityChangeInCapacity: adiciona o número especificado de instâncias ECS ou remove o número especificado de instâncias ECS do grupo de escalonamento.

  • PercentChangeInCapacity: adiciona a porcentagem especificada de instâncias ECS ou remove a porcentagem especificada de instâncias ECS do grupo de escalonamento.

  • TotalCapacity: ajusta o número de instâncias ECS no grupo de escalonamento para um número especificado.

QuantityChangeInCapacity

AdjustmentValue

integer

Não

O número de instâncias que devem ser escalonadas com base na regra de escalonamento. Este parâmetro é obrigatório apenas se você definir o parâmetro ScalingRuleType como SimpleScalingRule ou StepScalingRule. O número de instâncias ECS que são escalonadas em uma única atividade de escalonamento não pode exceder 1.000.

  • Valores válidos se você definir o parâmetro AdjustmentType como QuantityChangeInCapacity: -1000 a 1000.

  • Valores válidos se você definir o parâmetro AdjustmentType como PercentChangeInCapacity: -100 a 10000.

  • Valores válidos se você definir o parâmetro AdjustmentType como TotalCapacity: 0 a 2000.

100

ScalingRuleType

string

Não

O tipo da regra de escalonamento. Valores válidos:

  • SimpleScalingRule: uma regra de escalonamento simples. Depois de executar uma regra de escalonamento simples, o Auto Scaling ajusta o número de instâncias ECS ou instâncias de contêiner elástico no grupo de escalonamento com base nos valores de AdjustmentType e AdjustmentValue.

  • TargetTrackingScalingRule: uma regra de escalonamento de rastreamento de destino. Depois de executar uma regra de escalonamento de rastreamento de destino, o Auto Scaling calcula dinamicamente o número de instâncias ECS ou instâncias de contêiner elástico a serem escalonadas com base na métrica predefinida (MetricName) e tenta manter o valor da métrica próximo ao valor esperado (TargetValue).

  • StepScalingRule: uma regra de escalonamento em etapas. Depois de executar uma regra de escalonamento em etapas, o Auto Scaling escalona instâncias passo a passo com base nos limites predefinidos e nos valores das métricas.

  • PredictiveScalingRule: uma regra de escalonamento preditivo. Depois de executar uma regra de escalonamento preditivo, o Auto Scaling usa aprendizado de máquina para analisar dados históricos de monitoramento do grupo de escalonamento e prevê os valores futuros das métricas. Além disso, o Auto Scaling cria automaticamente tarefas agendadas para ajustar os limites do grupo de escalonamento.

Valor padrão: SimpleScalingRule.

SimpleScalingRule

EstimatedInstanceWarmup

integer

Não

O período de aquecimento de uma instância. Este parâmetro está disponível apenas se você definir o parâmetro ScalingRuleType como TargetTrackingScalingRule ou PredictiveScalingRule. O Auto Scaling adiciona instâncias ECS que estão no estado de aquecimento a um grupo de escalonamento, mas não relata dados de monitoramento ao CloudMonitor durante o período de aquecimento.

Nota

O Auto Scaling calcula o número de instâncias ECS que devem ser escalonadas. As instâncias ECS no estado de aquecimento não são contadas para a capacidade atual do grupo de escalonamento.

Valores válidos: 0 a 86400. Unidade: segundos.

Valor padrão: 300.

300

MetricName

string

Não

A métrica predefinida que você deseja monitorar. Se você definir ScalingRuleType como TargetTrackingScalingRule ou PredictiveScalingRule, deverá especificar este parâmetro.

Valores válidos se você definir ScalingRuleType como TargetTrackingScalingRule:

  • CpuUtilizationAgent (recomendado): a utilização da CPU.

  • MemoryUtilization (recomendado): o uso de memória.

  • CpuUtilization: a utilização média da CPU.

  • IntranetTx: o tráfego de saída em uma rede interna.

  • IntranetRx: o tráfego de entrada médio em uma rede interna.

  • VpcInternetTx: o tráfego de saída de uma nuvem privada virtual (VPC) para a Internet.

  • VpcInternetRx: o tráfego de entrada da Internet para uma VPC.

  • LoadBalancerRealServerAverageQps: as consultas por segundo (QPS) por grupo de servidores do Application Load Balancer (ALB).

Valores válidos se você definir ScalingRuleType como PredictiveScalingRule:

  • CpuUtilization: a utilização média da CPU.

  • IntranetRx: o tráfego de entrada médio em uma rede interna.

  • IntranetTx: o tráfego de saída médio em uma rede interna.

Para obter mais informações, consulte Tarefas acionadas por eventos do tipo de monitoramento do sistema.

CpuUtilization

TargetValue

number

Não

O valor de destino. Este parâmetro é obrigatório apenas se você definir o parâmetro ScalingRuleType como TargetTrackingScalingRule ou PredictiveScalingRule. O valor deve ser maior que 0 e pode ter até três casas decimais.

0.125

DisableScaleIn

boolean

Não

Especifica se deve desativar o scale-in. Este parâmetro está disponível apenas se você definir ScalingRuleType como TargetTrackingScalingRule.

Valor padrão: false.

false

ScaleInEvaluationCount

integer

Não

O número de vezes consecutivas que a tarefa acionada por evento criada para atividades de scale-in deve atender às condições de limite antes que um alerta seja acionado. Depois que uma regra de escalonamento de rastreamento de destino é criada, uma tarefa acionada por evento é criada automaticamente e, em seguida, associada à regra de escalonamento de rastreamento de destino.

Valor padrão: 15.

15

ScaleOutEvaluationCount

integer

Não

O número de vezes consecutivas que a tarefa acionada por evento criada para atividades de scale-out deve atender às condições de limite antes que um alerta seja acionado. Depois que uma regra de escalonamento de rastreamento de destino é criada, uma tarefa acionada por evento é criada automaticamente e, em seguida, associada à regra de escalonamento de rastreamento de destino.

Valor padrão: 3.

3

PredictiveScalingMode

string

Não

O modo da regra de escalonamento preditivo. Valores válidos:

  • PredictAndScale: produz previsões e cria tarefas de previsão.

  • PredictOnly: produz previsões, mas não cria tarefas de previsão.

Valor padrão: PredictAndScale.

PredictAndScale

PredictiveValueBehavior

string

Não

O valor máximo para tarefas de previsão. Valores válidos:

  • MaxOverridePredictiveValue: usa a capacidade máxima inicial como o valor máximo para tarefas de previsão se o valor previsto for maior que a capacidade máxima inicial.

  • PredictiveValueOverrideMax: usa o valor previsto como o valor máximo para tarefas de previsão se o valor previsto for maior que a capacidade máxima inicial.

  • PredictiveValueOverrideMaxWithBuffer: aumenta o valor previsto por uma porcentagem especificada pelo parâmetro PredictiveValueBuffer. Se o valor previsto aumentado pela porcentagem for maior que a capacidade máxima inicial, o valor aumentado será usado como o valor máximo para tarefas de previsão.

Valor padrão: MaxOverridePredictiveValue.

MaxOverridePredictiveValue

PredictiveValueBuffer

integer

Não

A proporção com base na qual o valor previsto é aumentado quando você define PredictiveValueBehavior como PredictiveValueOverrideMaxWithBuffer. Se o valor previsto aumentado por esta proporção for maior que a capacidade máxima inicial, o valor aumentado será usado como o valor máximo para tarefas de previsão. Valores válidos: 0 a 100.

Valor padrão: 0.

50

PredictiveTaskBufferTime

integer

Não

A quantidade de tempo de buffer antes da execução da tarefa de previsão. Por padrão, todas as tarefas de previsão que são criadas automaticamente para uma regra de escalonamento preditivo são executadas na hora cheia. Você pode especificar uma quantidade de tempo de buffer para preparação de recursos antes que as tarefas de previsão sejam executadas. Valores válidos: 0 a 60. Unidade: minutos.

Valor padrão: 0.

30

InitialMaxSize

integer

Não

O número máximo de instâncias ECS que podem ser contidas no grupo de escalonamento. Se você especificar InitialMaxSize, deverá especificar PredictiveValueBehavior.

O valor padrão deste parâmetro é o valor de MaxSize.

100

StepAdjustments

array<object>

Não

Detalhes dos ajustes em etapas.

object

Não

Detalhes dos ajustes em etapas.

MetricIntervalUpperBound

number

Não

O limite superior especificado em um ajuste de etapa. Valores válidos: -9.999999E18 a 9.999999E18.

5.0

ScalingAdjustment

integer

Não

O número de instâncias ECS que você deseja escalonar em um ajuste de etapa. Este parâmetro está disponível apenas se você definir o parâmetro ScalingRuleType como StepScalingRule.

1

MetricIntervalLowerBound

number

Não

O limite inferior especificado em um ajuste de etapa. Este parâmetro está disponível apenas se você definir o parâmetro ScalingRuleType como StepScalingRule. Valores válidos: -9.999999E18 a 9.999999E18.

1.0

RegionId

string

Não

O ID da região do grupo de escalonamento.

cn-hangzhou

AlarmDimensions

array<object>

Não

As dimensões da métrica. Este parâmetro é aplicável a regras de escalonamento de rastreamento de destino. Se sua métrica predefinida exigir dimensões extras, você deverá especificar este parâmetro. Por exemplo, se você usar LoadBalancerRealServerAverageQps como sua métrica predefinida, deverá usar este parâmetro para especificar a dimensão rulePool.

object

Não

Valores de informações de dimensão para métricas de monitoramento. Este parâmetro se aplica a regras de rastreamento de destino e é usado quando informações de dimensão adicionais são necessárias para uma métrica. Por exemplo, a métrica LoadBalancerRealServerAverageQps requer a especificação do par chave-valor da dimensão rulePool.

DimensionKey

string

Não

A chave de dimensão da métrica.

rulePool

DimensionValue

string

Não

O valor de dimensão da métrica.

sgp-l1cbirz451yxuxxx

MetricType

string

Não

O tipo de métrica. Valores válidos:

  • system: métricas de sistema do CloudMonitor.

  • custom: métricas personalizadas que são relatadas ao CloudMonitor.

  • hybrid: métricas do Hybrid Cloud Monitoring.

system

HybridMonitorNamespace

string

Não

O ID do namespace do Hybrid Cloud Monitoring.

Para obter informações sobre como gerenciar namespaces do Hybrid Cloud Monitoring, consulte Gerenciar namespaces.

aliyun-test

HybridMetrics

array<object>

Não

As métricas do Hybrid Cloud Monitoring. Para obter mais informações, consulte Criar uma regra de escalonamento de rastreamento de destino personalizada.

array<object>

Não

Id

string

Não

O ID de referência da métrica na expressão da métrica.

a

Expression

string

Não

A expressão da métrica que consiste em várias métricas do Hybrid Cloud Monitoring. Ela calcula um resultado usado para acionar eventos de escalonamento.

A expressão deve ser escrita no formato de Notação Polonesa Reversa (RPN) e suporta apenas os seguintes operadores: +, -, *, /.

(a+b)/2

MetricName

string

Não

O nome da métrica do Hybrid Cloud Monitoring.

AliyunSmq_NumberOfMessagesVisible

Statistic

string

Não

O método estatístico do valor da métrica. Valores válidos:

  • Average: calcula o valor médio de todos os valores de métrica dentro de um intervalo especificado.

  • Minimum: calcula o valor mínimo de todos os valores de métrica dentro de um intervalo especificado.

  • Maximum: calcula o valor máximo de todos os valores de métrica dentro de um intervalo especificado.

Average

Dimensions

array<object>

Não

As dimensões da métrica. Você pode usar este parâmetro para especificar os recursos monitorados.

object

Não

DimensionKey

string

Não

A chave da dimensão da métrica.

queue

DimensionValue

string

Não

O valor da dimensão da métrica.

testQueue

AlarmOptions

object

Não

Definição das propriedades de alerta.

Period

integer

Não

O período para agregação de dados de métricas de monitoramento em uma regra de rastreamento de destino, em segundos. Valores válidos:

  • 15

  • 60

  • 120

  • 300

  • 900

Nota

Valor padrão: 60.

60

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

ScalingRuleAri

string

O identificador exclusivo da regra de escalonamento.

ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****

RequestId

string

O ID da solicitação.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ScalingRuleId

string

O ID da regra de escalonamento, que é gerado pelo sistema e é globalmente exclusivo.

asr-bp1dvirgwkoowxk7****

Exemplos

Resposta de sucesso

JSON formato

{
  "ScalingRuleAri": "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingRuleId": "asr-bp1dvirgwkoowxk7****"
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.