Crie uma regra de dimensionamento para o Auto Scaling (ESS).
Sintaxe
{
"Type": "ALIYUN::ESS::ScalingRule",
"Properties": {
"AdjustmentValue": Integer,
"Cooldown": Integer,
"ScalingGroupId": String,
"AdjustmentType": String,
"ScalingRuleName": String,
"MetricName": String,
"PredictiveTaskBufferTime": Integer,
"ScalingRuleType": String,
"PredictiveValueBuffer": Integer,
"TargetValue": Number,
"StepAdjustment": List,
"PredictiveValueBehavior": String,
"DisableScaleIn": Boolean,
"InitialMaxSize": Integer,
"MinAdjustmentMagnitude": Integer,
"EstimatedInstanceWarmup": Integer,
"PredictiveScalingMode": String,
"ScaleInEvaluationCount": Integer,
"ScaleOutEvaluationCount": Integer
}
}
Propriedades
| Nome da propriedade | Tipo | Obrigatório | Atualização permitida | Descrição | Restrições |
| AdjustmentValue | Integer | Não | Sim |
Valor de ajuste. Válido para regras de dimensionamento simples e em etapas. |
Os valores válidos variam conforme o AdjustmentType:
Nota O número de instâncias ECS ajustadas em uma única atividade de dimensionamento não pode exceder 500. |
| Cooldown | Integer | Não | Sim | Tempo de resfriamento. Válido apenas para regras de dimensionamento simples. | Valores válidos: 0 a 86400. Unidade: segundos. O valor padrão é vazio. |
| ScalingGroupId | String | Sim | Não | ID do grupo de dimensionamento ao qual a regra pertence. | Nenhuma |
| AdjustmentType | String | Não | Sim | Método de ajuste. Válido para regras de dimensionamento simples e em etapas. | Valores válidos:
|
| ScalingRuleName | String | Não | Sim | Nome da regra de dimensionamento. | O nome deve ter entre 2 e 64 caracteres. Pode conter letras, dígitos, sublinhados (_), hifens (-) e pontos (.). Deve começar com uma letra ou dígito. Se você não especifique este parâmetro, o sistema usará o valor de ScalingRuleId por padrão. |
| MetricName | String | Não | Não | Métrica predefinida. Válido para regras de dimensionamento por rastreamento de meta e preditivas. | Valores válidos:
|
| PredictiveTaskBufferTime | Integer | Não | Não | Uma regra de dimensionamento preditiva cria automaticamente uma tarefa preditiva executada a cada hora inteira. Defina um tempo de buffer para executar a tarefa antecipadamente e preparar recursos. | Valores válidos: 0 a 60. Unidade: minutos. Valor padrão: 0. |
| ScalingRuleType | String | Não | Não | Tipo da regra de dimensionamento. | Valores válidos:
|
| PredictiveValueBuffer | Integer | Não | Não | Porcentagem de aumento do valor previsto. Entra em vigor apenas quando PredictiveValueBehavior está definido como PredictiveValueOverrideMaxWithBuffer. Se o valor aumentado for maior que o valor máximo inicial, o sistema usará o valor aumentado. | Valores válidos: 0 a 100. Valor padrão: 0. |
| TargetValue | Number | Não | Não | Valor alvo. Válido para regras de dimensionamento por rastreamento de meta e preditivas. | O valor de TargetValue pode ter até três casas decimais e deve ser maior que 0. |
| StepAdjustment | List | Não | Não | Procedimento | Para mais informações, consulte Propriedades de StepAdjustment. |
| PredictiveValueBehavior | String | Não | Não | Ação a ser tomada sobre o valor máximo para uma regra de dimensionamento preditiva. | Valores válidos:
|
| DisableScaleIn | Boolean | Não | Não | Defina se o scale-in deve ser desativado. Válido apenas para regras de dimensionamento por rastreamento de meta. | Valores válidos:
|
| InitialMaxSize | Integer | Não | Não | Número máximo de instâncias no grupo de dimensionamento. Usado em conjunto com PredictiveValueBehavior. | O valor padrão é o número máximo de instâncias (MaxSize) do grupo de dimensionamento. |
| MinAdjustmentMagnitude | Integer | Não | Não | Número mínimo de instâncias a ajustar. | Este parâmetro entra em vigor apenas quando ScalingRuleType é SimpleScalingRule ou StepScalingRule e AdjustmentType é PercentChangeInCapacity. |
| EstimatedInstanceWarmup | Integer | Não | Não | Período de aquecimento para instâncias recém-adicionadas. Válido para regras de dimensionamento por rastreamento de meta e em etapas. | Valores válidos: 0 a 86.400. Unidade: segundos. Valor padrão: 300.Uma instância ECS em estado de ramp-up é adicionada ao grupo de dimensionamento normalmente, mas seus dados de monitoramento não são reportados ao CloudMonitor durante esse período. Nota Quando o cálculo dinâmico define o número de instâncias ECS a serem dimensionadas, as instâncias em estado de ramp-up não entram na contagem atual de instâncias. |
| PredictiveScalingMode | String | Não | Não | Modo da regra de dimensionamento preditiva. | Valores válidos:
|
| ScaleInEvaluationCount | Integer | Não | Sim | Número de vezes consecutivas que o limiar deve ser atingido antes do disparo de uma tarefa acionada por evento de scale-in. | Ao criar uma regra de dimensionamento por rastreamento de meta, o sistema cria automaticamente uma tarefa acionada por evento. Valor padrão: 15. |
| ScaleOutEvaluationCount | Integer | Não | Sim | Número de vezes consecutivas que o limiar deve ser atingido antes do disparo de uma tarefa acionada por evento de scale-out. | Ao criar uma regra de dimensionamento por rastreamento de meta, o sistema cria automaticamente uma tarefa acionada por evento. Valor padrão: 3. |
Sintaxe de StepAdjustment
"StepAdjustment": [
{
"MetricIntervalUpperBound": Number,
"ScalingAdjustment": Integer,
"MetricIntervalLowerBound": Number
}
]
Propriedades de StepAdjustment
|
Nome da propriedade |
Tipo |
Obrigatório |
Atualização permitida |
Descrição |
Restrições |
|
MetricIntervalUpperBound |
Number |
Não |
Não |
Limite superior da etapa. Válido apenas para regras de dimensionamento em etapas. |
Valores válidos: -9.999999E18 a 9.999999E18. |
|
ScalingAdjustment |
Integer |
Não |
Não |
Número de instâncias a adicionar na etapa. Válido apenas para regras de dimensionamento em etapas. |
Nenhuma |
|
MetricIntervalLowerBound |
Number |
Não |
Não |
Limite inferior da etapa. Válido apenas para regras de dimensionamento em etapas. |
Valores válidos: -9.999999E18 a 9.999999E18. |
Valores de retorno
Fn::GetAtt
ScalingRuleAri: identificador único da regra de dimensionamento.
ScalingRuleId: ID globalmente único da regra de dimensionamento gerado pelo sistema.
Exemplos
-
YAMLformatoROSTemplateFormatVersion: '2015-09-01' Description: Test ESS ScalingRule Parameters: AutoScalingGroupId: Type: String AssociationProperty: ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId Resources: ScalingRule: Type: ALIYUN::ESS::ScalingRule Properties: AdjustmentType: QuantityChangeInCapacity ScalingGroupId: Ref: AutoScalingGroupId AdjustmentValue: 1 Outputs: {} -
JSONformato{ "ROSTemplateFormatVersion": "2015-09-01", "Description": "Test ESS ScalingRule", "Parameters": { "AutoScalingGroupId": { "Type": "String", "AssociationProperty": "ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId" } }, "Resources": { "ScalingRule": { "Type": "ALIYUN::ESS::ScalingRule", "Properties": { "AdjustmentType": "QuantityChangeInCapacity", "ScalingGroupId": { "Ref": "AutoScalingGroupId" }, "AdjustmentValue": 1 } } }, "Outputs": { } }