Cria uma regra de escalonamento. O objetivo de uma regra de escalonamento é determinado pelo seu tipo e pode ser usado para acionar uma atividade de escalonamento ou configurar inteligentemente os valores limite de um grupo de escalonamento. Você pode criar diferentes tipos de regras de escalonamento com base nos requisitos do seu negócio. Por exemplo, se você precisar apenas configurar os valores limite de um grupo de escalonamento, 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 o número total de instâncias atinja MinSize ou MaxSize. No entanto, o valor configurado da regra de escalonamento permanece inalterado. Exemplos:
Para um grupo de escalonamento com MaxSize definido como 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á adicionada durante a execução real, mas o valor configurado da regra de escalonamento permanecerá 3.
Para um grupo de escalonamento com MinSize definido como 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á removida durante a execução real, mas o valor configurado da regra de escalonamento permanecerá 5.
Observe as seguintes descrições de parâmetros:
Se AdjustmentType estiver definido como TotalCapacity, o número de instâncias ECS ou ECI no grupo de escalonamento será ajustado para o número especificado. O AdjustmentValue correspondente deve ser maior ou igual a 0.
Se AdjustmentType estiver definido como QuantityChangeInCapacity ou PercentChangeInCapacity, um AdjustmentValue positivo indica aumento de instâncias e um valor negativo indica diminuição de instâncias.
Se AdjustmentType estiver definido como PercentChangeInCapacity, o Auto Scaling calcula o número de instâncias ECS ou ECI a serem adicionadas ou removidas usando a fórmula: Capacidade total atual × AdjustmentValue / 100, e usa o princípio de arredondamento para confirmar o número de instâncias ECS ou ECI a aumentar ou diminuir.
Se um tempo de resfriamento (Cooldown) for especificado para a regra de escalonamento, o grupo de escalonamento entrará no estado de resfriamento pela duração especificada após a conclusão da atividade de escalonamento acionada pela regra. Se nenhum tempo de resfriamento for especificado para a regra de escalonamento, o tempo de resfriamento padrão (DefaultCooldown) do grupo de escalonamento será usado.
O número de regras de escalonamento que podem ser criadas em um grupo de escalonamento é limitado. Para mais informações, consulte Limites.
- O identificador exclusivo retornado da regra de escalonamento (ScalingRuleAri) pode ser usado nas seguintes operações de API:
Especifique-o no parâmetro ScalingRuleAri da operação ExecuteScalingRule para executar manualmente a regra de escalonamento.
Especifique-o no parâmetro ScheduledAction da operação CreateScheduledTask para executar a regra de escalonamento em uma programação.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ess:CreateScalingRule |
create |
*ScalingGroup.
|
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 (.). Deve começar com uma letra, dígito ou caractere chinês. O nome de uma regra de escalonamento deve ser exclusivo dentro de um grupo de escalonamento em uma região para uma conta da Alibaba Cloud. Se este parâmetro não for especificado, o valor de ScalingRuleId será usado por padrão. |
scalingrule**** |
| Cooldown |
integer |
Não |
O tempo de resfriamento da regra de escalonamento. Este parâmetro é aplicável apenas a regras de escalonamento simples. Valores válidos: 0 a 86400. Unidade: segundos. Valor padrão: nenhum. |
60 |
| MinAdjustmentMagnitude |
integer |
Não |
O número mínimo de instâncias a serem ajustadas. Este parâmetro só entra em vigor quando o tipo de regra de escalonamento é SimpleScalingRule ou StepScalingRule e AdjustmentType está definido como PercentChangeInCapacity. |
1 |
| AdjustmentType |
string |
Não |
O método de ajuste da regra de escalonamento. Este parâmetro é obrigatório para regras de escalonamento simples e regras de escalonamento em etapas. Valores válidos:
|
QuantityChangeInCapacity |
| AdjustmentValue |
integer |
Não |
O valor de ajuste da regra de escalonamento. Este parâmetro é obrigatório para regras de escalonamento simples e regras de escalonamento em etapas. O número de instâncias ECS ajustadas em uma única operação não pode exceder 1.000. Os valores válidos variam de acordo com o método de ajuste:
|
100 |
| ScalingRuleType |
string |
Não |
O tipo da regra de escalonamento. Valores válidos:
Valor padrão: SimpleScalingRule. |
SimpleScalingRule |
| EstimatedInstanceWarmup |
integer |
Não |
O tempo de aquecimento das instâncias. Este parâmetro é aplicável a regras de escalonamento de rastreamento de destino e regras de escalonamento em etapas. As instâncias ECS no estado de aquecimento são adicionadas ao grupo de escalonamento normalmente, mas não relatam dados de monitoramento ao CloudMonitor durante o período de aquecimento. Nota
Ao calcular dinamicamente o número de instâncias ECS a serem escalonadas, as instâncias no estado de aquecimento não são contadas no número atual de instâncias. Valores válidos: 0 a 86400. Unidade: segundos. Valor padrão: 300. |
300 |
| MetricName |
string |
Não |
A métrica predefinida. Este parâmetro é obrigatório para regras de escalonamento de rastreamento de destino e regras de escalonamento preditivo. Valores válidos para regras de escalonamento de rastreamento de destino:
Valores válidos para regras de escalonamento preditivo:
Para mais informações, consulte Tarefas acionadas por eventos de monitoramento do sistema. |
CpuUtilization |
| TargetValue |
number |
Não |
O valor de destino. Este parâmetro é obrigatório para regras de escalonamento de rastreamento de destino e regras de escalonamento preditivo. O valor de TargetValue pode ser arredondado para três casas decimais e deve ser maior que 0. |
0.125 |
| DisableScaleIn |
boolean |
Não |
Especifica se o scale-in deve ser desativado. Este parâmetro é aplicável apenas a regras de escalonamento de rastreamento de destino. Valor padrão: false. |
false |
| ScaleInEvaluationCount |
integer |
Não |
Após a criação de uma regra de escalonamento de rastreamento de destino, uma tarefa acionada por evento é criada automaticamente. Este parâmetro especifica o número de vezes consecutivas que a condição de limite deve ser atendida antes que a tarefa acionada por evento de scale-in correspondente acione um alerta. Valor padrão: 15. |
15 |
| ScaleOutEvaluationCount |
integer |
Não |
Após a criação de uma regra de escalonamento de rastreamento de destino, uma tarefa acionada por evento é criada automaticamente. Este parâmetro especifica o número de vezes consecutivas que a condição de limite deve ser atendida antes que a tarefa acionada por evento de scale-out correspondente acione um alerta. Valor padrão: 3. |
3 |
| PredictiveScalingMode |
string |
Não |
O modo da regra de escalonamento preditivo. Valores válidos:
Valor padrão: PredictAndScale. |
PredictAndScale |
| PredictiveValueBehavior |
string |
Não |
O método de processamento para o valor máximo da regra de escalonamento preditivo. Valores válidos:
Valor padrão: MaxOverridePredictiveValue. |
MaxOverridePredictiveValue |
| PredictiveValueBuffer |
integer |
Não |
Este parâmetro só entra em vigor quando PredictiveValueBehavior está definido como PredictiveValueOverrideMaxWithBuffer. O valor previsto é aumentado por esta taxa. Se o valor aumentado for maior que o valor máximo inicial, o valor aumentado será usado. Valores válidos: 0 a 100. Valor padrão: 0. |
50 |
| PredictiveTaskBufferTime |
integer |
Não |
As tarefas preditivas criadas automaticamente pelas regras de escalonamento preditivo são executadas de hora em hora por padrão. Você pode definir o tempo de pré-inicialização para executar as tarefas preditivas com antecedência e preparar os recursos previamente. 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 no grupo de escalonamento. Este parâmetro é usado em combinação com PredictiveValueBehavior. Valor padrão: o número máximo de instâncias no grupo de escalonamento (o valor de MaxSize). |
100 |
| StepAdjustments |
array<object> |
Não |
A coleção de informações de escalonamento de instâncias correspondentes aos ajustes em etapas. |
|
|
object |
Não |
A coleção de informações de escalonamento de instâncias correspondentes aos ajustes em etapas. |
||
| MetricIntervalUpperBound |
number |
Não |
O limite superior do ajuste em etapas. Valores válidos: -9.999999E18 a 9.999999E18. |
5.0 |
| ScalingAdjustment |
integer |
Não |
O número de instâncias a serem escalonadas para o ajuste em etapas. Este parâmetro é aplicável apenas a regras de escalonamento em etapas. |
1 |
| MetricIntervalLowerBound |
number |
Não |
O limite inferior do ajuste em etapas. Este parâmetro é aplicável apenas a regras de escalonamento em etapas. 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 informações de dimensão da métrica. Este parâmetro é aplicável a regras de escalonamento de rastreamento de destino e é configurado quando a métrica requer informações de dimensão adicionais. Por exemplo, a métrica LoadBalancerRealServerAverageQps requer as informações de chave-valor da dimensão rulePool. |
|
|
object |
Não |
As informações de dimensão da métrica. Este parâmetro é aplicável a regras de escalonamento de rastreamento de destino e é configurado quando a métrica requer informações de dimensão adicionais. Por exemplo, a métrica LoadBalancerRealServerAverageQps requer as informações de chave-valor da dimensão rulePool. |
||
| DimensionKey |
string |
Não |
A chave de dimensão associada à métrica. |
rulePool |
| DimensionValue |
string |
Não |
O valor de dimensão associado à métrica. |
sgp-l1cbirz451yxuxxx |
| MetricType |
string |
Não |
O tipo da métrica. Valores válidos:
|
system |
| HybridMonitorNamespace |
string |
Não |
O ID do repositório de métricas de monitoramento para o Hybrid Cloud Monitoring. Para mais informações sobre como gerenciar repositórios de métricas de monitoramento, consulte Gerenciar repositórios de métricas de monitoramento. |
aliyun-test |
| HybridMetrics |
array<object> |
Não |
As configurações de métrica para o Hybrid Cloud Monitoring. Para mais informações sobre como configurar as definições, consulte Personalizar regras de escalonamento de rastreamento de destino usando operações de fórmula. |
|
|
array<object> |
Não |
|||
| Id |
string |
Não |
O ID de referência da métrica na expressão de operação de métrica. |
a |
| Expression |
string |
Não |
A expressão de operação de métrica para múltiplas métricas do Hybrid Cloud Monitoring. O resultado do cálculo da expressão é usado para acionar o escalonamento. A expressão de operação deve estar em conformidade com a especificação de Notação Polonesa Reversa (RPN), e apenas os operadores +, -, * e / são suportados. |
(a+b)/2 |
| MetricName |
string |
Não |
O nome das métricas de monitoramento no repositório de métricas de monitoramento para o Hybrid Cloud Monitoring. |
AliyunSmq_NumberOfMessagesVisible |
| Statistic |
string |
Não |
O método estatístico da métrica. Valores válidos:
|
Average |
| Dimensions |
array<object> |
Não |
As dimensões da métrica. Usadas para especificar os recursos monitorados pela métrica. |
|
|
object |
Não |
|||
| DimensionKey |
string |
Não |
A chave de dimensão da métrica. |
queue |
| DimensionValue |
string |
Não |
O valor de dimensão da métrica. |
testQueue |
| AlarmOptions |
object |
Não |
A definição dos atributos de alerta. |
|
| Period |
integer |
Não |
O período para coleta de dados de métrica na regra de escalonamento de rastreamento de destino. Unidade: segundos. Valores válidos:
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. O ID é 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.