Suspendez et reprenez le dimensionnement pour Application Auto Scaling - Application Autoscaling

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Suspendez et reprenez le dimensionnement pour Application Auto Scaling

Cette rubrique explique comment suspendre puis reprendre une ou plusieurs activités de mise à l'échelle pour les cibles scalables dans votre application. La fonctionnalité de suspension-reprise est utilisée pour suspendre temporairement les activités de mise à l'échelle déclenchées par vos stratégies de dimensionnement et les actions planifiées. Cette fonction est utile, par exemple lorsque vous ne souhaitez pas que la mise à l'échelle automatique risque d'interférer pendant une modification ou l'examen d'un problème de configuration. Vos stratégies de dimensionnement et les actions planifiées peuvent être mises en suspens, puis, lorsque vous êtes prêt, les activités peuvent reprendre.

Dans les exemples de commandes de la CLI qui suivent, vous passez les paramètres au format JSON dans un fichier config.json. Vous pouvez également transmettre ces paramètres sur la ligne de commande en utilisant des guillemets pour entourer la structure de données JSON. Pour plus d'informations, consultez Utilisation des guillemets avec les chaînes de caractères dans AWS CLI du Guide d'utilisateur de la AWS Command Line Interface .

Note

Pour obtenir des instructions sur la suspension des processus de scale-out pendant les déploiements d'Amazon ECS, consultez la documentation suivante :

Mise à l'échelle et déploiements automatiques des services dans le guide du développeur Amazon Elastic Container Service

Activités de mise à l'échelle

Application Auto Scaling prend en charge la suspension des activités de mise à l'échelle suivantes :

  • Toutes les activités de diminution en charge qui sont déclenchées par une stratégie de mise à l'échelle.

  • Toutes les activités de montée en charge qui sont déclenchées par une stratégie de mise à l'échelle.

  • Toutes les activités de mise à l'échelle qui impliquent des actions planifiées.

Les descriptions suivantes expliquent ce qui se produit lorsque des activités de mise à l'échelle individuelles sont suspendues. Chaque activité peut être suspendue et reprise de manière indépendante. En fonction de la raison pour laquelle une activité de mise à l'échelle est suspendue, vous pourrez avoir besoin de suspendre plusieurs activités de mise à l'échelle.

DynamicScalingInSuspended

  • Application Auto Scaling ne supprime pas la capacité lorsqu'une politique de suivi des cibles et d'échelonnement ou une politique de mise à l'échelle par étapes est déclenchée. Cela vous permet de désactiver temporairement les activités de dimensionnement associées aux politiques de dimensionnement sans supprimer les politiques de dimensionnement ou les alarmes associées CloudWatch . Lorsque vous reprenez le processus de diminution en charge, Application Auto Scaling évalue les politiques avec des seuils d'alarme qui sont actuellement hors limites.

DynamicScalingOutSuspended

  • Application Auto Scaling n'ajoute pas la capacité lorsqu'une politique de suivi des cibles et d'échelonnement ou une politique de mise à l'échelle par étapes est déclenchée. Cela vous permet de désactiver temporairement les activités de scale-out associées aux politiques de dimensionnement sans supprimer les politiques de dimensionnement ou les alarmes associées CloudWatch . Lorsque vous reprenez le processus d'augmentation de capacité, Application Auto Scaling évalue les politiques avec des seuils d'alarme qui sont actuellement hors limites.

ScheduledScalingSuspended

  • Application Auto Scaling n'initie pas les actions de mise à l'échelle qui sont planifiées pour être exécutées pendant la période de suspension. Lorsque vous reprenez la mise à l'échelle planifiée, Application Auto Scaling évalue uniquement les actions planifiées dont l'heure d'exécution n'est pas encore passée.

Suspendre et reprendre les activités de dimensionnement

Vous pouvez suspendre et reprendre des activités de mise à l'échelle individuelles ou toutes les activités de mise à l'échelle pour votre cible évolutive Application Auto Scaling.

Note

Par souci de concision, ces exemples illustrent la suspension et la reprise de la mise à l'échelle pour une table DynamoDB. Pour spécifier une autre cible évolutive, indiquez son espace de noms dans --service-namespace, sa dimension évolutive dans --scalable-dimension, et son ID de ressource dans --resource-id. Pour plus d'informations et des exemples pour chaque service, consultez les rubriques d'Services AWS que vous pouvez utiliser avec Application Auto Scaling.

Pour suspendre une activité de mise à l'échelle

Ouvrez une fenêtre de ligne de commande et utilisez la commande register-scalable-target avec l'option --suspended-state comme suit.

Linux, macOS ou Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

En cas de réussite, cette commande renvoie l'ARN de la cible évolutive.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

Pour suspendre uniquement les activités de diminution en charge qui sont déclenchées par une stratégie de mise à l'échelle, spécifiez les informations suivantes dans le fichier config.json.

{ "DynamicScalingInSuspended":true }

Pour suspendre uniquement les activités de montée en charge qui sont déclenchées par une stratégie de mise à l'échelle, spécifiez les informations suivantes dans le fichier config.json.

{ "DynamicScalingOutSuspended":true }

Pour suspendre uniquement les activités de mise à l'échelle qui impliquent des actions planifiées, spécifiez les informations suivantes dans le fichier config.json.

{ "ScheduledScalingSuspended":true }
Pour suspendre tous les activités de mise à l'échelle

Utilisez la commande register-scalable-target avec l'option --suspended-state comme suit.

Linux, macOS ou Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

Cet exemple suppose que le fichier config.json contient les paramètres au format JSON suivants.

{ "DynamicScalingInSuspended":true, "DynamicScalingOutSuspended":true, "ScheduledScalingSuspended":true }

En cas de réussite, cette commande renvoie l'ARN de la cible évolutive.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

Affichage des activités de mise à l'échelle suspendues

Utilisez la commande describe-scalable-targets pour déterminer les activités de mise à l'échelle dont l'état est Suspendu pour une cible évolutive.

Linux, macOS ou Unix

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

Windows

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

Voici un exemple de sortie.

{ "ScalableTargets": [ { "ServiceNamespace": "dynamodb", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "ResourceId": "table/my-table", "MinCapacity": 1, "MaxCapacity": 20, "SuspendedState": { "DynamicScalingOutSuspended": true, "DynamicScalingInSuspended": true, "ScheduledScalingSuspended": true }, "CreationTime": 1558125758.957, "RoleARN": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable" } ] }

Reprise des activités de mise à l'échelle

Lorsque vous êtes prêt à reprendre l'activité de mise à l'échelle, vous pouvez utiliser la commande register-scalable-target.

L'exemple de commande suivant reprend toutes les activités de mise à l'échelle pour la cible scalable spécifiée.

Linux, macOS ou Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

Cet exemple suppose que le fichier config.json contient les paramètres au format JSON suivants.

{ "DynamicScalingInSuspended":false, "DynamicScalingOutSuspended":false, "ScheduledScalingSuspended":false }

En cas de réussite, cette commande renvoie l'ARN de la cible évolutive.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }