Mise à l'échelle planifiée pour Amazon EC2 Auto Scaling - 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.

Mise à l'échelle planifiée pour Amazon EC2 Auto Scaling

Avec le dimensionnement planifié, vous pouvez configurer le dimensionnement automatique de votre application en fonction des changements de charge prévisibles. Vous créez des actions planifiées qui augmentent ou diminuent la capacité souhaitée de votre groupe à des moments précis.

Par exemple, vous êtes confronté à un schéma de trafic hebdomadaire régulier dans lequel la charge augmente en milieu de semaine et diminue vers la fin de la semaine. Vous pouvez configurer un calendrier de dimensionnement dans Amazon EC2 Auto Scaling qui s'aligne sur le modèle suivant :

  • Mercredi matin, une action planifiée augmente la capacité en augmentant la capacité souhaitée précédemment définie pour le groupe Auto Scaling.

  • Vendredi soir, une autre action planifiée réduit la capacité en diminuant la capacité souhaitée précédemment définie pour le groupe Auto Scaling.

Ces actions de mise à l’échelle planifiées vous permettent d’optimiser les coûts et les performances. Votre application dispose d'une capacité suffisante pour gérer le pic de trafic en milieu de semaine, mais elle ne surfournit pas de capacité inutile à d'autres moments.

Vous pouvez utiliser conjointement le dimensionnement planifié et les politiques de dimensionnement pour tirer parti des avantages des deux approches de dimensionnement. Après l’exécution d’une action de mise à l’échelle planifiée, la stratégie de mise à l’échelle peut continuer à prendre des décisions sur l’opportunité de poursuivre la mise à l’échelle de la capacité. Cela vous permet de vous assurer que vous avez une capacité suffisante pour gérer la charge de votre application. Bien que votre application soit mise à l'échelle pour répondre à la demande, la capacité actuelle doit se situer dans les limites de la capacité minimale et maximale qui a été fixée par votre action planifiée.

Comment fonctionne la mise à l'échelle planifiée

Pour utiliser le dimensionnement planifié, créez des actions planifiées, qui indiquent à Amazon EC2 Auto Scaling d'effectuer des activités de dimensionnement à des moments précis. Lorsque vous créez une action planifiée, vous spécifiez le groupe Auto Scaling, le moment où l'activité de dimensionnement doit avoir lieu, la nouvelle capacité souhaitée, et éventuellement une nouvelle capacité minimale et une nouvelle capacité maximale. Vous pouvez créer des actions planifiées pour une mise à l’échelle unique ou selon une planification récurrente.

À l'heure spécifiée, Amazon EC2 Auto Scaling évolue en fonction des nouvelles valeurs de capacité, en comparant la capacité actuelle à la capacité souhaitée spécifiée.

  • Si la capacité actuelle est inférieure à la capacité souhaitée spécifiée, Amazon EC2 Auto Scaling augmente ou ajoute des instances à la capacité souhaitée spécifiée.

  • Si la capacité actuelle est supérieure à la capacité souhaitée spécifiée, Amazon EC2 Auto Scaling intègre ou supprime des instances jusqu'à la capacité souhaitée spécifiée.

Une action planifiée définit la capacité souhaitée, minimale et maximale du groupe à la date et à l'heure spécifiées. Vous pouvez créer une action planifiée pour une seule de ces capacités à la fois, par exemple la capacité souhaitée. Cependant, dans certains cas, vous devez inclure les capacités minimale et maximale pour vous assurer que la capacité souhaitée que vous avez spécifiée dans l'action ne dépasse pas ces limites.

Planifications récurrentes

Pour créer un calendrier récurrent à l'aide du SDK AWS CLI ou d'un SDK, spécifiez une expression cron et un fuseau horaire pour décrire le moment où cette action planifiée doit se reproduire. Vous pouvez éventuellement spécifier une date et une heure pour l'heure de début, l'heure de fin, voire les deux.

Pour créer un calendrier récurrent à l'aide du AWS Management Console, spécifiez le schéma de récurrence, le fuseau horaire, l'heure de début et l'heure de fin facultative de votre action planifiée. Toutes les options de motif de récurrence sont basées sur des expressions cron. Vous pouvez également écrire votre propre expression cron personnalisée.

L'expression cron est constituée de cinq champs séparés par des espaces : [Minute] [Heure] [Jour_du_Mois] [Mois_de_Année] [Jour_de_Semaine]. Par exemple, l'expression cron 30 6 * * 2 configure une action planifiée qui se répète tous les mardis à 6h30. L'astérisque est utilisé comme caractère générique pour correspondre à toutes les valeurs d'un champ. Pour d'autres exemples d'expressions cron, consultez https://crontab.guru/examples.html. Pour plus d'informations sur l'écriture de vos propres expressions cron dans ce format, consultez Crontab.

Choisissez avec soin vos heures de début et de fin. Gardez à l'esprit les points suivants :

  • Si vous spécifiez une heure de début, Amazon EC2 Auto Scaling exécute l'action à ce moment-là, puis exécute l'action basée sur la planification récurrente.

  • Si vous spécifiez une heure de fin, l'action cesse de se répéter après cette heure. Une action planifiée n'est pas conservée dans votre compte une fois qu'elle a atteint son heure de fin.

  • L'heure de début et l'heure de fin doivent être définies en UTC lorsque vous utilisez le AWS CLI ou un SDK.

Fuseau horaire

Par défaut, les planifications récurrentes que vous définissez sont exprimées en heure UTC (temps universel coordonné). Vous pouvez modifier le fuseau horaire afin qu'elle corresponde à votre fuseau horaire local ou à celui d'une autre partie de votre réseau. Lorsque vous spécifiez un fuseau horaire qui observe l'heure d'été (DST), l'action s'ajuste automatiquement pour l'heure d'été.

Les valeurs valides sont les noms canoniques des fuseaux horaires issus de la base de données des fuseaux horaires de l'Internet Assigned Numbers Authority (IANA). Par exemple, l'heure de l'Est des États-Unis est identifiée canoniquement commeAmerica/New_York. Pour plus d'informations, consultez https://www.iana.org/time-zones.

Fuseaux horaires basés sur la localisation, tels que l'ajustement America/New_York automatique pour l'heure d'été. Cependant, un fuseau horaire basé sur UTC tel que Etc/UTC est une heure absolue qui ne s'ajuste pas à l'heure d'été.

Par exemple, vous avez une planification récurrente dont le fuseau horaire est America/New_York. La première action de mise à l'échelle se produit dans le fuseau horaire America/New_York avant le début de l'heure d'été. La prochaine action de mise à l'échelle se produit dans le fuseau horaire America/New_York après le démarrage de l'heure d'été. La première action commence à 8h00 UTC-5 en heure locale, tandis que la deuxième fois commence à 8h00 UTC-4 en heure locale.

Si vous créez une action planifiée à l'aide du AWS Management Console et que vous spécifiez un fuseau horaire respectant l'heure d'été, le calendrier récurrent ainsi que les heures de début et de fin s'ajustent automatiquement à l'heure d'été.

Considérations

Lorsque vous créez une action planifiée, gardez les éléments suivants à l'esprit.

  • L'ordre d'exécution des actions planifiées est garanti dans le même groupe, mais pas entre les groupes.

  • Une action planifiée s'exécute généralement en quelques secondes. Cependant, l'action peut être retardée de deux minutes au plus par rapport à l'heure de début planifiée. Dans la mesure où les actions planifiées d'un groupe Auto Scaling sont exécutées dans l'ordre dans lequel elles sont spécifiées, celles dont les heures de début planifiées sont trop proches les unes des autres peuvent prendre plus de temps à s'exécuter.

  • Vous pouvez désactiver temporairement la mise à l'échelle planifiée pour un groupe Auto Scaling en suspendant le processus ScheduledActions. Cela vous permet d'empêcher les actions planifiées d'être actives sans avoir à les supprimer. Vous pouvez ensuite reprendre la mise à l'échelle planifiée lorsque vous souhaitez l'utiliser à nouveau. Pour plus d’informations, consultez Suspendre et reprendre les processus Amazon EC2 Auto Scaling.

  • Après avoir créé une action planifiée, vous pouvez mettre à jour n'importe lequel de ses paramètres, à l'exception du nom.

Création d'une action planifiée

Pour créer une action planifiée pour votre groupe Auto Scaling, appliquez l'une des méthodes suivantes :

Console
Pour créer une action planifiée
  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 dans Actions planifiées, choisissez Créer une action planifiée.

  4. Dans le champ Name (Nom), attribuez un nom à l'action planifiée.

  5. Pour Capacité souhaitée, Min, Max, choisissez la nouvelle capacité souhaitée du groupe et les nouvelles limites de taille minimale et maximale. Cette capacité souhaitée doit être supérieure ou égale à la taille minimale du groupe et inférieure ou égale à la taille maximale du groupe.

  6. Pour Recurrence (Récurrence), choisissez l'une des options disponibles.

    • Si vous souhaitez effectuer des mises à l'échelle selon un calendrier récurrent, choisissez la fréquence à laquelle Amazon EC2 Auto Scaling doit exécuter l'action planifiée.

      • Si vous sélectionnez une option qui commence par Every (Toutes les), l'expression Cron est créée pour vous.

      • Si vous sélectionnez Cron, tapez une expression Cron qui spécifie l'heure à laquelle exécuter l'action.

    • Si vous ne souhaitez mettre à l'échelle qu'une seule fois, choisissez Once (Une fois).

  7. Dans le champ Time zone (Fuseau horaire), choisissez un fuseau horaire. L’argument par défaut est Etc/UTC.

    Tous les fuseaux horaires répertoriés proviennent de la base de données des fuseaux horaires IANA. Pour plus d'informations, consultez https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

  8. Définissez une date et une heure pour Specific start time (Heure de début spécifique).

    • Si vous avez choisi une planification récurrente, l'heure de début définit le moment où la première action planifiée de la série récurrente s'exécute.

    • Si vous avez choisi Once (Une fois) comme récurrence, l'heure de début définit la date et l'heure d'exécution de l'action de planification.

  9. (Facultatif) Pour les programmes récurrents, vous pouvez spécifier une heure de fin en sélectionnant Définir l'heure de fin puis en choisissant une date et une heure pour End by (Fin le).

  10. Choisissez Créer. La console affiche les actions planifiées pour le groupe Auto Scaling.

AWS CLI

Pour créer une action planifiée, vous pouvez utiliser l'un des exemples de commandes suivants. Remplacez chaque espace réservé à la saisie de l'utilisateur par vos propres informations.

Exemple : Pour planifier un dimensionnement unique

Utilisez la commande put-scheduled-update-group-action suivante avec les options et. --start-time "YYYY-MM-DDThh:mm:ssZ" --desired-capacity

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-one-time-action \ --auto-scaling-group-name my-asg --start-time "2021-03-31T08:00:00Z" --desired-capacity 3
Exemple : pour planifier le dimensionnement selon un calendrier récurrent

Utilisez la commande put-scheduled-update-group-action suivante avec les options et. --recurrence "cron expression" --desired-capacity

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-recurring-action \ --auto-scaling-group-name my-asg --recurrence "0 9 * * *" --desired-capacity 3

Par défaut, Amazon EC2 Auto Scaling exécute le calendrier de récurrence spécifié en fonction du fuseau horaire UTC. Pour spécifier un autre fuseau horaire, incluez l'--time-zoneoption et le nom du fuseau horaire IANA, comme dans l'exemple suivant.

--time-zone "America/New_York"

Pour plus d’informations, consultez https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

Afficher les détails des actions planifiées

Pour consulter le détail des prochaines actions planifiées pour votre groupe Auto Scaling, appliquez l'une des méthodes suivantes :

Console
Pour afficher les détails des actions planifiées
  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. Sélectionnez votre groupe Auto Scaling.

  3. Dans l'onglet Mise à l'échelle automatique, dans la section Actions planifiées, vous pouvez consulter les actions planifiées à venir.

Notez que la console affiche les valeurs de l'heure de début et de fin en heure locale avec le décalage UTC en vigueur à la date et à l'heure spécifiées. Le décalage UTC est la différence, en heures et en minutes, entre l'heure locale et l'heure UTC. La valeur de fuseau horaire affiche le fuseau horaire demandé, par exemple,America/New_York.

AWS CLI

Utilisez la commande describe-scheduled-actions suivante.

aws autoscaling describe-scheduled-actions --auto-scaling-group-name my-asg

Si elle aboutit, cette commande renvoie un résultat similaire à ce qui suit.

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2020-12-01T00:30:00Z", "Time": "2020-12-01T00:30:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4 } ] }

Vérifier les activités de mise à l’échelle

Pour vérifier les activités de mise à l’échelle associées à la mise à l’échelle planifiée, voir Vérifier une activité de mise à l'échelle pour un groupe Auto Scaling.

Supprimer une action planifiée

Pour supprimer une action planifiée, appliquez l'une des méthodes suivantes :

Console
Pour supprimer une action planifiée
  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. Sélectionnez votre groupe Auto Scaling.

  3. Sous l’onglet Scalabilité automatique dans Actions planifiées, sélectionnez une action planifiée.

  4. Choisissez Actions, Delete (Supprimer).

  5. Lorsque vous êtes invité à confirmer l’opération, choisissez Supprimer.

AWS CLI

Utilisez la commande delete-scheduled-action suivante.

aws autoscaling delete-scheduled-action --auto-scaling-group-name my-asg \ --scheduled-action-name my-recurring-action

Limites

  • Les noms des actions planifiées doivent être uniques pour chaque groupe Auto Scaling.

  • Une action planifiée doit posséder une valeur de temps unique. Si vous tentez de planifier une activité à un moment où une autre activité de mise à l'échelle est déjà planifiée, l'appel est rejeté et renvoie une erreur indiquant qu'une action planifiée avec cette heure de début planifiée existe déjà.

  • Vous pouvez créer 125 actions planifiées maximum par groupe Auto Scaling.