Crée une règle de mise à l'échelle pour un groupe de mise à l'échelle afin de déclencher des activités de mise à l'échelle ou d'ajuster les valeurs limites.
Cette opération crée une règle de mise à l'échelle pour un groupe de mise à l'échelle. Les règles de mise à l'échelle déclenchent des activités de mise à l'échelle ou ajustent les valeurs limites en fonction de leur type. Par exemple, pour ajuster automatiquement les valeurs limites, créez une règle de mise à l'échelle prédictive.
Notes d'utilisation
Tenez compte des points suivants :
Si le paramètre AdjustmentType est défini sur TotalCapacity, la règle de mise à l'échelle ajuste le nombre total d'instances ECS ou d'instances de conteneur élastique dans le groupe de mise à l'échelle à la valeur spécifiée. Le paramètre AdjustmentValue doit être un entier supérieur à 0.
Si le paramètre AdjustmentType est défini sur QuantityChangeInCapacity ou PercentChangeInCapacity, une valeur positive pour AdjustmentValue ajoute des instances au groupe de mise à l'échelle, tandis qu'une valeur négative en supprime.
Si le paramètre AdjustmentType est défini sur PercentChangeInCapacity, Auto Scaling calcule l'ajustement comme suit : Capacité totale × AdjustmentValue / 100. Le résultat est arrondi pour déterminer le nombre final.
Si vous spécifiez une période de refroidissement (Cooldown) pour une règle de mise à l'échelle, cette valeur prend effet après l'application de la règle. Sinon, la période de refroidissement par défaut (DefaultCooldown) du groupe de mise à l'échelle s'applique.
Le nombre de règles de mise à l'échelle par groupe de mise à l'échelle est soumis aux Limites.
-
Les opérations suivantes utilisent le paramètre ScalingRuleAri renvoyé par cette opération :
ExecuteScalingRule : exécute manuellement une règle de mise à l'échelle. Définissez le paramètre ScalingRuleAri sur l'identifiant de la règle à appliquer.
CreateScheduledTask : crée une tâche planifiée pour une règle de mise à l'échelle. Définissez le paramètre ScalingRuleAri sur l'identifiant de la règle cible.
Débogage
Paramètres de requête
|
Parameter |
Type |
Required |
Example |
Description |
|
Action |
String |
Yes |
CreateScalingRule |
L'opération à effectuer. Définissez la valeur sur CreateScalingRule. |
|
ScalingGroupId |
String |
Yes |
asg-bp1ffogfdauy0jw0**** |
L'ID du groupe de mise à l'échelle pour lequel créer la règle de mise à l'échelle. |
|
ScalingRuleName |
String |
No |
scalingrule**** |
Le nom de la règle de mise à l'échelle. Le nom doit comporter entre 2 et 64 caractères et peut contenir des lettres, des chiffres, des traits de soulignement (_), des traits d'union (-) et des points (.). Le nom doit commencer par une lettre ou un chiffre. Le nom de chaque règle de mise à l'échelle doit être unique au sein du même compte Alibaba Cloud dans une région. Remarque
Si vous laissez ce paramètre vide, l'ID de la règle de mise à l'échelle est utilisé. |
|
Cooldown |
Integer |
No |
60 |
La période de refroidissement de la règle de mise à l'échelle. Disponible uniquement lorsque le paramètre ScalingRuleType est défini sur SimpleScalingRule. Valeurs valides : 0 à 86400. Unité : secondes. Vous pouvez laisser ce paramètre vide. |
|
MinAdjustmentMagnitude |
Integer |
No |
1 |
Le nombre minimal d'instances à ajuster. Prend effet uniquement lorsque |
|
AdjustmentType |
String |
No |
QuantityChangeInCapacity |
La méthode d'ajustement de la règle de mise à l'échelle. Requis lorsque le paramètre ScalingRuleType est défini sur SimpleScalingRule ou StepScalingRule. Valeurs valides :
|
|
AdjustmentValue |
Integer |
No |
100 |
Le nombre d'instances à ajouter ou à supprimer. Requis lorsque le paramètre ScalingRuleType est défini sur SimpleScalingRule ou StepScalingRule. Ajustement maximal par opération : 1 000. Les valeurs valides dépendent du paramètre AdjustmentType :
|
|
ScalingRuleType |
String |
No |
SimpleScalingRule |
Le type de la règle de mise à l'échelle. Valeurs valides :
Valeur par défaut : SimpleScalingRule. |
|
EstimatedInstanceWarmup |
Integer |
No |
300 |
La période de préchauffage pour les instances nouvellement ajoutées. Disponible uniquement pour les règles de mise à l'échelle simples et par étapes. Pendant la période de préchauffage, les instances sont ajoutées au groupe, mais aucune donnée de surveillance n'est envoyée à CloudMonitor. Remarque
Les instances en état de préchauffage (Warmup) sont exclues des calculs de capacité lors de la détermination des ajustements de mise à l'échelle. Valeurs valides : 0 à 86400. Unité : secondes. Valeur par défaut : 300. |
|
MetricName |
String |
No |
CpuUtilization |
La métrique prédéfinie pour la règle de mise à l'échelle. Requis lorsque le paramètre ScalingRuleType est défini sur TargetTrackingScalingRule ou PredictiveScalingRule. Valeurs valides si vous définissez le paramètre ScalingRuleType sur TargetTrackingScalingRule :
Valeurs valides si vous définissez le paramètre ScalingRuleType sur PredictiveScalingRule :
Les métriques prises en charge sont répertoriées dans Tâches déclenchées par événement de type surveillance système. |
|
TargetValue |
Float |
No |
0.125 |
La valeur cible de la métrique. Requis lorsque le paramètre ScalingRuleType est défini sur TargetTrackingScalingRule ou PredictiveScalingRule. Doit être supérieur à 0, avec jusqu'à trois décimales. |
|
DisableScaleIn |
Boolean |
No |
false |
Indique s'il faut désactiver la réduction de capacité (scale-in). Disponible uniquement pour TargetTrackingScalingRule. Valeur par défaut : false. |
|
ScaleInEvaluationCount |
Integer |
No |
15 |
Le nombre de fois consécutives où la condition d'alerte doit être remplie avant que la tâche déclenchée par événement créée automatiquement n'initie une réduction de capacité (scale-in). S'applique aux règles de mise à l'échelle avec suivi de cible. Valeur par défaut : 15. |
|
ScaleOutEvaluationCount |
Integer |
No |
3 |
Le nombre de fois consécutives où la condition d'alerte doit être remplie avant que la tâche déclenchée par événement créée automatiquement n'initie une augmentation de capacité (scale-out). S'applique aux règles de mise à l'échelle avec suivi de cible. Valeur par défaut : 3. |
|
PredictiveScalingMode |
String |
No |
PredictAndScale |
Le mode de la règle de mise à l'échelle prédictive. Valeurs valides :
Valeur par défaut : PredictAndScale. |
|
PredictiveValueBehavior |
String |
No |
MaxOverridePredictiveValue |
L'action que vous souhaitez entreprendre sur la valeur maximale prédite. Valeurs valides :
Valeur par défaut : MaxOverridePredictiveValue. |
|
PredictiveValueBuffer |
Integer |
No |
50 |
Le pourcentage d'augmentation de la valeur prédite lorsque Valeur par défaut : 0. |
|
PredictiveTaskBufferTime |
Integer |
No |
30 |
Le temps de tampon avant l'exécution des tâches de prédiction. Par défaut, les tâches de prédiction s'exécutent à l'heure pile. Utilisez ce paramètre pour permettre un temps de préparation des ressources. Valeurs valides : 0 à 60. Unité : minutes. Valeur par défaut : 0. |
|
InitialMaxSize |
Integer |
No |
100 |
Le nombre maximal d'instances dans le groupe de mise à l'échelle. Requis conjointement avec PredictiveValueBehavior. La valeur par défaut de ce paramètre est la valeur de MaxSize. |
|
StepAdjustment.N.MetricIntervalUpperBound |
Float |
No |
5.0 |
La limite supérieure d'un ajustement par étapes. Ce paramètre prend effet uniquement si vous définissez le paramètre ScalingRuleType sur StepScalingRule. Valeurs valides : -9.999999E18 à 9.999999E18. |
|
StepAdjustment.N.ScalingAdjustment |
Integer |
No |
1 |
Le nombre d'instances que vous souhaitez mettre à l'échelle dans chaque ajustement par étapes. Ce paramètre est disponible lorsque le paramètre ScalingRuleType est défini sur StepScalingRule. |
|
StepAdjustment.N.MetricIntervalLowerBound |
Float |
No |
1.0 |
La limite inférieure d'un ajustement par étapes. Ce paramètre prend effet uniquement si vous définissez le paramètre ScalingRuleType sur StepScalingRule. Valeurs valides : -9.999999E18 à 9.999999E18. |
|
RegionId |
String |
No |
cn-hangzhou |
L'ID de région du groupe de mise à l'échelle. |
|
AlarmDimension.N.DimensionKey |
String |
No |
rulePool |
La clé de dimension de la métrique. |
|
AlarmDimension.N.DimensionValue |
String |
No |
sgp-l1cbirz451yxu2**** |
La valeur de dimension de la métrique. |
|
MetricType |
String |
No |
system |
Le type de métrique. Valeurs valides :
|
|
HybridMonitorNamespace |
String |
No |
aliyun-test |
L'ID du namespace Hybrid Cloud Monitoring. Pour savoir comment gérer les namespaces Hybrid Cloud Monitoring, consultez Gérer les namespaces. |
|
HybridMetrics.N.Id |
String |
No |
a |
L'ID de référence de la métrique dans l'expression de métrique. |
|
HybridMetrics.N.Expression |
String |
No |
(a+b)/2 |
L'expression de métrique combinant plusieurs métriques Hybrid Cloud Monitoring pour calculer une valeur permettant de déclencher des événements de mise à l'échelle. L'expression doit être écrite au format Notation polonaise inverse (RPN) et ne prend en charge que les opérateurs suivants : |
|
HybridMetrics.N.MetricName |
String |
No |
AliyunSmq_NumberOfMessagesVisible |
Le nom de la métrique Hybrid Cloud Monitoring. |
|
HybridMetrics.N.Statistic |
String |
No |
Average |
La méthode statistique de la valeur de métrique. Valeurs valides :
|
|
HybridMetrics.N.Dimensions.N.DimensionKey |
String |
No |
queue |
La clé de la dimension de métrique. |
|
HybridMetrics.N.Dimensions.N.DimensionValue |
String |
No |
testQueue |
La valeur de la dimension de métrique. |
|
AlarmOptions.Period |
Integer |
No |
60 |
La période statistique des données de métrique dans la règle de mise à l'échelle avec suivi de cible. Unité : secondes. Valeurs valides :
Remarque
Valeur par défaut : 60. |
Paramètres de réponse
|
Parameter |
Type |
Example |
Description |
|
ScalingRuleAri |
String |
ari:acs:ess:cn-hangzhou:140692647406**:scalingrule/asr-bp1dvirgwkoowxk7** |
L'identifiant unique de la règle de mise à l'échelle. |
|
RequestId |
String |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
L'ID de la requête. |
|
ScalingRuleId |
String |
asr-bp1dvirgwkoowxk7**** |
L'ID de la règle de mise à l'échelle. L'ID est généré par le système et est globalement unique. |
Exemples
Exemples de requêtes
http(s)://ess.aliyuncs.com/?Action=CreateScalingRule
&ScalingGroupId=asg-bp1ffogfdauy0jw0****
&ScalingRuleName=scalingrule****
&Cooldown=60
&MinAdjustmentMagnitude=1
&AdjustmentType=QuantityChangeInCapacity
&AdjustmentValue=100
&ScalingRuleType=SimpleScalingRule
&EstimatedInstanceWarmup=300
&MetricName=CpuUtilization
&TargetValue=0.125
&DisableScaleIn=false
&ScaleInEvaluationCount=15
&ScaleOutEvaluationCount=3
&PredictiveScalingMode=PredictAndScale
&PredictiveValueBehavior=MaxOverridePredictiveValue
&PredictiveValueBuffer=50
&PredictiveTaskBufferTime=30
&InitialMaxSize=100
&StepAdjustment=[{"MetricIntervalUpperBound":5.0,"ScalingAdjustment":1,"MetricIntervalLowerBound":1.0}]
&RegionId=cn-hangzhou
&AlarmDimension=[{"DimensionKey":"rulePool","DimensionValue":"sgp-l1cbirz451yxu2****"}]
&MetricType=system
&HybridMonitorNamespace=aliyun-test
&HybridMetrics=[{"Id":"a","MetricName":"AliyunSmq_NumberOfMessagesVisible","Statistic":"Average","Dimensions":[{"DimensionKey":"queue","DimensionValue":"testQueue"}]}]
&<Common request parameters>
Exemples de réponses réussies
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateScalingRuleResponse>
<ScalingRuleAri>ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****</ScalingRuleAri>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
<ScalingRuleId>asr-bp1dvirgwkoowxk7****</ScalingRuleId>
</CreateScalingRuleResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"ScalingRuleAri" : "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"ScalingRuleId" : "asr-bp1dvirgwkoowxk7****"
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez les Codes d'erreur de service.
|
HTTP status code |
Error code |
Error message |
Description |
|
404 |
InvalidScalingGroupId.NotFound |
The specified scaling group does not exist. |
Le groupe de mise à l'échelle spécifié n'existe pas dans votre compte Alibaba Cloud. |
|
400 |
InvalidScalingRuleName.Duplicate |
The specified value of parameter <parameter name> is duplicated. |
Le nom de la règle de mise à l'échelle existe déjà. |
|
400 |
QuotaExceeded.ScalingRule |
Scaling rule quota exceeded in the specified scaling group. |
Le nombre maximal de règles de mise à l'échelle dans le groupe de mise à l'échelle a été atteint. |
|
400 |
TargetTrackingScalingRule.UnsupportedMetric |
Specific metric is not supported for target tracking scaling rule. |
La règle de mise à l'échelle avec suivi de cible ne prend pas en charge la métrique spécifiée. |
|
400 |
TargetTrackingScalingRule.DumplicateMetric |
Only one TargetTrackingScaling rule for a given metric specification is allowed. |
La métrique est déjà spécifiée pour une autre règle de mise à l'échelle avec suivi de cible dans le groupe de mise à l'échelle. |
|
400 |
InvalidMinAdjustmentMagnitudeMismatchAdjustmentType |
MinAdjustmentMagnitude is not supported by the specified adjustment type. |
MinAdjustmentMagnitude ne prend pas en charge la méthode d'ajustement de la règle de mise à l'échelle. |
|
400 |
InvalidStepAdjustments.MultipleNullUpperBound |
At most one StepAdjustment may have an unspecified upper bound. |
Un ajustement par étapes sans limite supérieure existe déjà. |
|
400 |
InvalidStepAdjustments.MultipleNullLowerBound |
At most one StepAdjustment may have an unspecified lower bound. |
Un ajustement par étapes sans limite inférieure existe déjà. |
|
400 |
InvalidStepAdjustments.NoNullLowerBound |
There must be a StepAdjustment with an unspecified lower bound when one StepAdjustment has a negative lower bound. |
Un ajustement par étapes a une limite inférieure négative, mais aucun ajustement par étapes sans limite inférieure n'existe. |
|
400 |
InvalidStepAdjustments.NoNullUpperBound |
There must be a StepAdjustment with an unspecified upper bound when one StepAdjustment has a positive upper bound. |
Un ajustement par étapes a une limite supérieure positive, mais aucun ajustement par étapes sans limite supérieure n'existe. |
|
400 |
InvalidStepAdjustments.Gap |
StepAdjustment intervals can not have gaps between them. |
Les ajustements par étapes présentent des lacunes. |
|
400 |
InvalidStepAdjustments.Overlap |
StepAdjustment intervals can not overlap. |
Les plages des ajustements par étapes se chevauchent. |
|
400 |
InvalidStepAdjustments.LowerGtUpper |
LowerBound must be less than the UpperBound for StepAdjustment :%s. |
La limite inférieure d'un ajustement par étapes est supérieure ou égale à la limite supérieure. |
|
400 |
InvalidStepAdjustments.BothNull |
Both lower and upper bounds of a StepAdjustment can not be left unspecified. |
Vous ne pouvez pas spécifier simultanément une limite supérieure et une limite inférieure pour un ajustement par étapes. |
|
400 |
InvalidStepAdjustments.MaxNum |
Your scaling rule can have at most %s StepAdjustments. |
Le nombre maximal d'ajustements par étapes dans un groupe de mise à l'échelle a été atteint. |
|
400 |
StepBeyondPermitRange |
Specific parameter "%s" beyond permit range. |
La limite supérieure ou inférieure spécifiée pour un ajustement par étapes n'est pas valide. |