Tous les produits
Search
Centre de documentation

Resource Orchestration Service:ALIYUN::ESS::ScalingRule

Dernière mise à jour :Aug 10, 2026

Créez une règle de mise à l'échelle pour Auto Scaling (ESS).

Syntaxe

{
  "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
  }
}

Propriétés

Nom de la propriété Type Obligatoire Mise à jour autorisée Description Contraintes
AdjustmentValue Integer Non Oui

Valeur d'ajustement. S'applique aux règles de mise à l'échelle simples et par paliers.

Les valeurs valides varient selon AdjustmentType :
  • QuantityChangeInCapacity : -500 à 500.
  • PercentChangeInCapacity : -100 à 10 000.
  • TotalCapacity : 0 à 1 000.
Remarque Le nombre d'instances ECS ajustées lors d'une seule activité de mise à l'échelle ne peut pas dépasser 500.
Cooldown Integer Non Oui Durée de refroidissement. S'applique uniquement aux règles de mise à l'échelle simples. Valeurs valides : 0 à 86400.

Unité : secondes.

La valeur par défaut est vide.

ScalingGroupId String Oui Non ID du groupe de mise à l'échelle auquel la règle appartient. Aucune
AdjustmentType String Non Oui Méthode d'ajustement. S'applique aux règles de mise à l'échelle simples et par paliers. Valeurs valides :
  • QuantityChangeInCapacity : ajoute ou supprime un nombre spécifié d'instances ECS.
  • PercentChangeInCapacity : ajoute ou supprime un pourcentage spécifié d'instances ECS.
  • TotalCapacity : ajuste le nombre d'instances ECS dans le groupe de mise à l'échelle actuel à un nombre spécifié.
ScalingRuleName String Non Oui Nom de la règle de mise à l'échelle. Le nom doit comporter entre 2 et 64 caractères. Il peut contenir des lettres, des chiffres, des traits de soulignement (_), des tirets (-) et des points (.). Le nom doit commencer par une lettre ou un chiffre.

Si vous ne spécifiez pas ce paramètre, la valeur de ScalingRuleId est utilisée par défaut.

MetricName String Non Non Métrique prédéfinie. S'applique aux règles de mise à l'échelle par suivi de cible et prédictives. Valeurs valides :
  • Pour les règles de mise à l'échelle par suivi de cible :
    • CpuUtilization : utilisation moyenne du CPU.
    • ClassicInternetRx : trafic Internet entrant moyen sur le réseau classique.
    • ClassicInternetTx : trafic Internet sortant moyen sur le réseau classique.
    • VpcInternetRx : trafic Internet entrant moyen sur un VPC.
    • VpcInternetTx : trafic Internet sortant moyen sur un VPC.
    • IntranetRx : trafic intranet entrant moyen.
    • IntranetTx : trafic intranet sortant moyen.
  • Pour les règles de mise à l'échelle prédictives :
    • CpuUtilization : utilisation moyenne du CPU.
    • IntranetRx : trafic intranet entrant moyen.
    • IntranetTx : trafic intranet sortant moyen.
PredictiveTaskBufferTime Integer Non Non Une règle de mise à l'échelle prédictive crée automatiquement une tâche prédictive qui s'exécute à l'heure pile. Définissez un temps tampon pour exécuter la tâche à l'avance et préparer les ressources. Valeurs valides : 0 à 60.

Unité : minutes.

Valeur par défaut : 0.
ScalingRuleType String Non Non Type de la règle de mise à l'échelle. Valeurs valides :
  • SimpleScalingRule (par défaut) : règle de mise à l'échelle simple. Ajuste le nombre d'instances ECS en fonction de AdjustmentType et AdjustmentValue.
  • TargetTrackingScalingRule : règle de mise à l'échelle par suivi de cible. Calcule dynamiquement le nombre d'instances ECS à mettre à l'échelle en fonction d'une métrique prédéfinie (MetricName). Cette règle tente de maintenir la valeur de la métrique proche de la valeur cible (TargetValue).
  • StepScalingRule : règle de mise à l'échelle par paliers. Fournit une méthode de mise à l'échelle par paliers basée sur des seuils et des valeurs de métriques.
  • PredictiveScalingRule : règle de mise à l'échelle prédictive. Utilise l'apprentissage automatique pour analyser les données de surveillance historiques du groupe de mise à l'échelle et prédire les valeurs futures des métriques. Cette règle prend également en charge la création automatique de tâches planifiées pour définir les limites du groupe de mise à l'échelle.
PredictiveValueBuffer Integer Non Non Pourcentage d'augmentation de la valeur prédite. Prend effet uniquement lorsque PredictiveValueBehavior est défini sur PredictiveValueOverrideMaxWithBuffer. Si la valeur augmentée est supérieure à la valeur maximale initiale, la valeur augmentée est utilisée. Valeurs valides : 0 à 100.

Valeur par défaut : 0.

TargetValue Number Non Non Valeur cible. S'applique aux règles de mise à l'échelle par suivi de cible et prédictives. La valeur de TargetValue peut comporter jusqu'à trois décimales et doit être supérieure à 0.
StepAdjustment List Non Non Procédure Pour plus d'informations, consultez Propriétés StepAdjustment.
PredictiveValueBehavior String Non Non Action à effectuer sur la valeur maximale pour une règle de mise à l'échelle prédictive. Valeurs valides :
  • MaxOverridePredictiveValue (par défaut) : la valeur maximale initiale écrase la valeur prédite. Si la valeur prédite est supérieure à la valeur maximale initiale, la valeur maximale initiale est utilisée pour la tâche prédictive.
  • PredictiveValueOverrideMax : la valeur prédite écrase la valeur maximale initiale. Si la valeur prédite est supérieure à la valeur maximale initiale, la valeur prédite est utilisée pour la tâche prédictive.
  • PredictiveValueOverrideMaxWithBuffer : la valeur prédite est augmentée d'un pourcentage spécifié. La valeur prédite est augmentée du pourcentage spécifié par PredictiveValueBuffer. Si la valeur augmentée est supérieure à la valeur maximale initiale, la valeur augmentée est utilisée.
DisableScaleIn Boolean Non Non Indique s'il faut désactiver la réduction de capacité (scale-in). S'applique uniquement aux règles de mise à l'échelle par suivi de cible. Valeurs valides :
  • true
  • false (par défaut)
InitialMaxSize Integer Non Non Nombre maximal d'instances dans le groupe de mise à l'échelle. Utilisé avec PredictiveValueBehavior. La valeur par défaut est le nombre maximal d'instances (MaxSize) du groupe de mise à l'échelle.
MinAdjustmentMagnitude Integer Non Non Nombre minimal d'instances à ajuster. Ce paramètre prend effet uniquement lorsque ScalingRuleType est SimpleScalingRule ou StepScalingRule et que AdjustmentType est PercentChangeInCapacity.
EstimatedInstanceWarmup Integer Non Non Période de rodage pour les instances nouvellement ajoutées. S'applique aux règles de mise à l'échelle par suivi de cible et par paliers. Valeurs valides : 0 à 86 400.

Unité : secondes.

Valeur par défaut : 300.

Une instance ECS en état de rodage est ajoutée au groupe de mise à l'échelle comme d'habitude, mais ses données de surveillance ne sont pas signalées à CloudMonitor pendant cette période.

Remarque Lorsque le nombre d'instances ECS à mettre à l'échelle est calculé dynamiquement, les instances en état de rodage ne sont pas comptabilisées dans le nombre actuel d'instances.
PredictiveScalingMode String Non Non Mode de la règle de mise à l'échelle prédictive. Valeurs valides :
  • PredictAndScale (par défaut) : génère des résultats de prédiction et crée des tâches prédictives.
  • PredictOnly : génère des résultats de prédiction mais ne crée pas de tâches prédictives.
ScaleInEvaluationCount Integer Non Oui Nombre de fois consécutives où le seuil doit être atteint avant qu'une tâche déclenchée par événement de réduction de capacité (scale-in) ne soit déclenchée. Après avoir créé une règle de mise à l'échelle par suivi de cible, une tâche déclenchée par événement est automatiquement créée.

Valeur par défaut : 15.

ScaleOutEvaluationCount Integer Non Oui Nombre de fois consécutives où le seuil doit être atteint avant qu'une tâche déclenchée par événement d'extension de capacité (scale-out) ne soit déclenchée. Après avoir créé une règle de mise à l'échelle par suivi de cible, une tâche déclenchée par événement est automatiquement créée.

Valeur par défaut : 3.

Syntaxe StepAdjustment

"StepAdjustment": [
  {
    "MetricIntervalUpperBound": Number,
    "ScalingAdjustment": Integer,
    "MetricIntervalLowerBound": Number
  }
]

Propriétés StepAdjustment

Nom de la propriété Type Obligatoire Mise à jour autorisée Description Contraintes
MetricIntervalUpperBound Number Non Non Limite supérieure du palier. S'applique uniquement aux règles de mise à l'échelle par paliers. Valeurs valides : -9,999999E18 à 9,999999E18.
ScalingAdjustment Integer Non Non Nombre d'instances à ajouter dans le palier. S'applique uniquement aux règles de mise à l'échelle par paliers. Aucune
MetricIntervalLowerBound Number Non Non Limite inférieure du palier. S'applique uniquement aux règles de mise à l'échelle par paliers. Valeurs valides : -9,999999E18 à 9,999999E18.

Valeurs de retour

Fn::GetAtt

  • ScalingRuleAri : identifiant unique de la règle de mise à l'échelle.

  • ScalingRuleId : ID généré par le système, globalement unique, de la règle de mise à l'échelle.

Exemples

  • YAML format

    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: {}
  • JSON format

    {
      "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": {
      }
    }