Création d'une politique de dimensionnement prédictive - Amazon EC2 Auto Scaling

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.

Création d'une politique de dimensionnement prédictive

Les procédures suivantes vous aident à créer une politique de dimensionnement prédictive à l'aide du AWS Management Console ou AWS CLI.

Si le groupe Auto Scaling est nouveau, il doit fournir au moins 24 heures de données avant qu'Amazon EC2 Auto Scaling puisse générer une prévision.

Créer une politique de mise à l'échelle prédictive (console)

Si c'est la première fois que vous créez une politique de dimensionnement prédictif, nous vous recommandons d'utiliser la console pour créer plusieurs politiques de dimensionnement prédictif en mode prévision uniquement. Cela vous permet de tester les effets potentiels de différentes mesures et valeurs cibles. Vous pouvez créer plusieurs politiques de mise à l'échelle prédictive pour chaque groupe Auto Scaling, mais une seule de ces politiques peut être utilisée pour la mise à l'échelle active.

Utilisez la procédure suivante pour créer une politique de mise à l'échelle prédictive à l'aide de métriques prédéfinies (CPU, I/O réseau ou nombre de requêtes Application Load Balancer par cible). La manière la plus simple de créer une politique de mise à l'échelle prédictive consiste à utiliser des métriques prédéfinies. Si vous préférez utiliser des métriques personnalisées, consultez Créer une politique de mise à l'échelle prédictive dans la console (métriques personnalisées).

Pour créer une politique de mise à l'échelle prédictive
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Groupes Auto Scaling dans le panneau de navigation.

  2. Cochez la case située en regard de votre groupe Auto Scaling.

    Un volet fractionné s'ouvre en bas de la page.

  3. Sous l'onglet Mise à l'échelle automatique, accédez au champ Stratégies de mise à l'échelle et choisissez Créer une stratégie de mise à l'échelle prédictive.

  4. Entrez le nom de la politique.

  5. Activez Mise à l'échelle basée sur la prévision pour autoriser Amazon EC2 Auto Scaling à lancer immédiatement la mise à l'échelle.

    Pour que la stratégie reste en mode prévision uniquement, n'activez pas Mise à l'échelle basée sur la prévision.

  6. Sous Métriques, choisissez vos métriques dans la liste des options. Les options incluent Processeur, Entrée réseau, Sortie réseau, Nombre de demandes Application Load Balancer et Paire de métriques personnalisées.

    Si vous avez choisi Nombre de demandes Application Load Balancer par cible, choisissez un groupe cible dans le champ Groupe cible. L'option Nombre de demandes Application Load Balancer par cible n'est prise en charge que si vous avez attaché un groupe cible Application Load Balancer à votre groupe Auto Scaling.

    Si vous avez choisi Paire de métriques personnalisées, sélectionnez les métriques individuelles dans les listes déroulantes Métrique de charge et Métrique de mise à l'échelle.

  7. Dans le champ Objectif d'utilisation, saisissez la valeur cible à maintenir par Amazon EC2 Auto Scaling. Amazon EC2 Auto Scaling adapte votre capacité jusqu'à ce que l'utilisation moyenne corresponde à l'objectif, ou jusqu'à ce qu'elle atteigne le nombre maximal d'instances que vous avez spécifié.

    Si votre métrique de mise à l'échelle est... L'objectif d'utilisation représente...
    CPU

    Pourcentage du processeur que chaque instance devrait idéalement utiliser.

    Entrée réseau

    Nombre moyen d'octets par minute que chaque instance devrait idéalement recevoir.

    Sortie réseau

    Nombre moyen d'octets par minute que chaque instance devrait idéalement envoyer.

    Nombre de demandes Application Load Balancer par cible

    Nombre moyen de demandes par minute que chaque instance devrait idéalement recevoir.

  8. (Facultatif) Dans le champ Pré-lancement des instances, choisissez combien de temps à l'avance vous souhaitez que vos instances soient lancées avant que la prévision n'appelle une augmentation de la charge.

  9. (Facultatif) Dans le champ Max capacity behavior (Comportement de capacité maximale), choisissez d'autoriser ou non Amazon EC2 Auto Scaling à monter en puissance au-delà de la capacité maximale du groupe lorsque la capacité prévue dépasse le maximum défini. L'activation de ce paramètre permet de monter en puissance pendant les périodes où l'on prédit que le trafic sera le plus élevé.

  10. (Facultatif) Dans le champ Capacité maximale du tampon supérieure à la capacité prédite, choisissez la capacité supplémentaire à utiliser lorsque la capacité prévue est proche de la capacité maximale ou la dépasse. La valeur est exprimée en pourcentage par rapport à la capacité prévue. Par exemple, si la valeur du tampon est 10, cela implique un tampon de 10 %. Par conséquent, si la capacité prévue est 50 et que la capacité maximale est 40, la capacité maximale effective est 55.

    Si la valeur est définie sur 0, Amazon EC2 Auto Scaling peut augmenter la capacité au-delà de la capacité maximale pour égaler la capacité prévue, mais pas la dépasser.

  11. Choisissez Créer une stratégie de mise à l'échelle prédictive.

Utilisez la procédure suivante pour créer une politique de mise à l'échelle prédictive à l'aide de métriques personnalisées. Les métriques personnalisées peuvent inclure d'autres métriques fournies par CloudWatch ou sur lesquelles vous publiez CloudWatch. Pour utiliser les métriques de CPU, d'I/O réseau ou de nombre de demandes Application Load Balancer par cible, consultez Créer une politique de mise à l'échelle prédictive dans la console (métriques prédéfinies).

Pour créer une politique de mise à l'échelle prédictive à l'aide de métriques personnalisées, procédez comme suit :

  • Vous devez fournir les requêtes brutes qui permettent à Amazon EC2 Auto Scaling d'interagir avec les métriques contenues. CloudWatch Pour plus d’informations, consultez Configurations avancées de la politique de mise à l'échelle prédictive à l'aide de métriques personnalisées. Pour être sûr qu'Amazon EC2 Auto Scaling peut extraire les données métriques CloudWatch, vérifiez que chaque requête renvoie des points de données. Confirmez cela à l'aide de la CloudWatch console ou de l'opération CloudWatch GetMetricDataAPI.

    Note

    Nous fournissons des exemples de charges utiles JSON dans l'éditeur JSON de la console Amazon EC2 Auto Scaling. Ces exemples vous fournissent une référence pour les paires clé-valeur requises pour ajouter d'autres CloudWatch mesures fournies par AWS ou sur lesquelles vous avez précédemment publié. CloudWatch Vous pouvez les utiliser comme point de départ, puis les personnaliser en fonction de vos besoins.

  • Si vous utilisez des mathématiques de métriques, vous devez construire manuellement la charge utile JSON pour l'adapter à votre scénario unique. Pour plus d’informations, consultez Utiliser des expressions mathématiques de métrique. Avant d'utiliser les mathématiques de métriques dans votre politique, vérifiez que les requêtes de métriques basées sur des expressions mathématiques de métriques sont valides et renvoient une seule série temporelle. Confirmez cela à l'aide de la CloudWatch console ou de l'opération CloudWatch GetMetricDataAPI.

Si vous faites une erreur dans une requête en fournissant des données incorrectes, par exemple un nom de groupe Auto Scaling erroné, la prévision ne contiendra aucune donnée. Pour résoudre les problèmes liés aux métriques personnalisées, consultez Considérations et dépannage.

Pour créer une politique de mise à l'échelle prédictive
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Groupes Auto Scaling dans le panneau de navigation.

  2. Cochez la case située en regard de votre groupe Auto Scaling.

    Un volet fractionné s'ouvre en bas de la page.

  3. Sous l'onglet Mise à l'échelle automatique, accédez au champ Stratégies de mise à l'échelle et choisissez Créer une stratégie de mise à l'échelle prédictive.

  4. Entrez le nom de la politique.

  5. Activez Mise à l'échelle basée sur la prévision pour autoriser Amazon EC2 Auto Scaling à lancer immédiatement la mise à l'échelle.

    Pour que la stratégie reste en mode prévision uniquement, n'activez pas Mise à l'échelle basée sur la prévision.

  6. Pour Metrics (Métriques), choisissez Custom metric pair (Paire de métriques personnalisées).

    1. Pour Métrique de charge, choisissez CloudWatch Métrique personnalisée pour utiliser une métrique personnalisée. Construisez la charge utile JSON qui contient la définition de la métrique de charge de la politique et collez-la dans la zone de l'éditeur JSON pour remplacer le contenu qui s'y trouve déjà.

    2. Pour Scaling metric, choisissez Custom CloudWatch metric pour utiliser une métrique personnalisée. Construisez la charge utile JSON qui contient la définition de la métrique de mise à l'échelle de la politique et collez-la dans la zone de l'éditeur JSON pour remplacer le contenu qui s'y trouve déjà.

    3. (Facultatif) Pour ajouter une métrique de capacité personnalisée, cochez la case Add custom capacity metric (Ajouter une métrique de capacité personnalisée). Construisez la charge utile JSON qui contient la définition de la métrique de capacité personnalisée de la politique et collez-la dans la zone de l'éditeur JSON pour remplacer le contenu qui s'y trouve déjà.

      Vous devez uniquement activer cette option pour créer une nouvelle série temporelle de capacité si vos données de métriques de capacité couvrent plusieurs groupes Auto Scaling. Dans ce cas, vous devez utiliser les mathématiques de métriques pour agréger les données en une seule série temporelle.

  7. Dans le champ Objectif d'utilisation, saisissez la valeur cible à maintenir par Amazon EC2 Auto Scaling. Amazon EC2 Auto Scaling adapte votre capacité jusqu'à ce que l'utilisation moyenne corresponde à l'objectif, ou jusqu'à ce qu'elle atteigne le nombre maximal d'instances que vous avez spécifié.

  8. (Facultatif) Dans le champ Pré-lancement des instances, choisissez combien de temps à l'avance vous souhaitez que vos instances soient lancées avant que la prévision n'appelle une augmentation de la charge.

  9. (Facultatif) Dans le champ Max capacity behavior (Comportement de capacité maximale), choisissez d'autoriser ou non Amazon EC2 Auto Scaling à monter en puissance au-delà de la capacité maximale du groupe lorsque la capacité prévue dépasse le maximum défini. L'activation de ce paramètre permet de monter en puissance pendant les périodes où l'on prédit que le trafic sera le plus élevé.

  10. (Facultatif) Dans le champ Capacité maximale du tampon supérieure à la capacité prédite, choisissez la capacité supplémentaire à utiliser lorsque la capacité prévue est proche de la capacité maximale ou la dépasse. La valeur est exprimée en pourcentage par rapport à la capacité prévue. Par exemple, si la valeur du tampon est 10, cela implique un tampon de 10 %. Par conséquent, si la capacité prévue est 50 et que la capacité maximale est 40, la capacité maximale effective est 55.

    Si la valeur est définie sur 0, Amazon EC2 Auto Scaling peut augmenter la capacité au-delà de la capacité maximale pour égaler la capacité prévue, mais pas la dépasser.

  11. Choisissez Créer une stratégie de mise à l'échelle prédictive.

Pour créer une stratégie de mise à l'échelle prédictive (AWS CLI)

Utilisez ce qui AWS CLI suit pour configurer les politiques de dimensionnement prédictif pour votre groupe Auto Scaling. Remplacez chaque espace réservé à la saisie de l'utilisateur par vos propres informations.

Pour plus d'informations sur les CloudWatch métriques que vous pouvez spécifier, consultez le PredictiveScalingMetricSpecificationmanuel Amazon EC2 Auto Scaling API Reference.

Exemple 1 : stratégie de mise à l'échelle prédictive qui crée des prévisions mais ne met pas à l'échelle

L'exemple de stratégie suivant illustre une configuration de stratégie complète qui utilise les métriques d'utilisation du processeur pour la mise à l'échelle prédictive avec un objectif d'utilisation de 40. Le mode ForecastOnly est utilisé par défaut, sauf si vous spécifiez explicitement le mode à utiliser. Enregistrez cette configuration dans un fichier nommé config.json.

{ "MetricSpecifications": [ { "TargetValue": 40, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization" } } ] }

Pour créer la politique à partir de la ligne de commande, exécutez la put-scaling-policycommande avec le fichier de configuration spécifié, comme illustré dans l'exemple suivant.

aws autoscaling put-scaling-policy --policy-name cpu40-predictive-scaling-policy \ --auto-scaling-group-name my-asg --policy-type PredictiveScaling \ --predictive-scaling-configuration file://config.json

Si elle aboutit, cette commande renvoie l'Amazon Resource Name (ARN) de la stratégie.

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/cpu40-predictive-scaling-policy", "Alarms": [] }

Exemple 2 : stratégie de mise à l'échelle prédictive qui prédit et met à l'échelle

Pour créer une stratégie permettant à Amazon EC2 Auto Scaling de prédire et de mettre à l'échelle, ajoutez la propriété Mode associée à la valeur ForecastAndScale. L'exemple suivant illustre une configuration de stratégie qui utilise les métriques Nombre de demandes Application Load Balancer de charge. L'objectif d'utilisation est de 1000, et la mise à l'échelle prédictive est définie sur le mode ForecastAndScale.

{ "MetricSpecifications": [ { "TargetValue": 1000, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ALBRequestCount", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" } } ], "Mode": "ForecastAndScale" }

Pour créer cette politique, exécutez la put-scaling-policycommande avec le fichier de configuration spécifié, comme illustré dans l'exemple suivant.

aws autoscaling put-scaling-policy --policy-name alb1000-predictive-scaling-policy \ --auto-scaling-group-name my-asg --policy-type PredictiveScaling \ --predictive-scaling-configuration file://config.json

Si elle aboutit, cette commande renvoie l'Amazon Resource Name (ARN) de la stratégie.

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/my-asg:policyName/alb1000-predictive-scaling-policy", "Alarms": [] }

Exemple 3 : stratégie de mise à l'échelle prédictive qui peut augmenter la capacité au-delà de la capacité maximale

L'exemple suivant montre comment créer une stratégie permettant d'aller au-delà de la limite de taille maximale du groupe lorsque vous en avez besoin pour gérer une charge supérieure à la normale. Par défaut, Amazon EC2 Auto Scaling ne va pas au-delà de la capacité maximale définie pour votre instance EC2. Toutefois, un léger dépassement de la capacité maximale peut parfois être utile afin d'éviter les problèmes de performances ou de disponibilité.

Pour permettre à Amazon EC2 Auto Scaling d'approvisionner de la capacité supplémentaire lorsque les prévisions sont égales ou très proches de la taille maximale de votre groupe, définissez les propriétés MaxCapacityBreachBehavior et MaxCapacityBuffer, comme illustré dans l'exemple suivant. Vous devez définir la propriété MaxCapacityBreachBehavior sur IncreaseMaxCapacity. Le nombre maximal d'instances que votre groupe peut accueillir dépend de la valeur de la propriété MaxCapacityBuffer.

{ "MetricSpecifications": [ { "TargetValue": 70, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization" } } ], "MaxCapacityBreachBehavior": "IncreaseMaxCapacity", "MaxCapacityBuffer": 10 }

Dans cet exemple, la stratégie est configurée pour utiliser un tampon de 10 % ("MaxCapacityBuffer": 10). Ainsi, si la capacité prévue est de 50 et la capacité maximale de 40, la capacité maximale effective est de 55. Une stratégie permettant d'augmenter la capacité au-delà de la capacité maximale pour égaler mais pas dépasser la capacité prévue aurait un tampon de 0 ("MaxCapacityBuffer": 0).

Pour créer cette politique, exécutez la put-scaling-policycommande avec le fichier de configuration spécifié, comme illustré dans l'exemple suivant.

aws autoscaling put-scaling-policy --policy-name cpu70-predictive-scaling-policy \ --auto-scaling-group-name my-asg --policy-type PredictiveScaling \ --predictive-scaling-configuration file://config.json

Si elle aboutit, cette commande renvoie l'Amazon Resource Name (ARN) de la stratégie.

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:d02ef525-8651-4314-bf14-888331ebd04f:autoScalingGroupName/my-asg:policyName/cpu70-predictive-scaling-policy", "Alarms": [] }