Scalabilité automatique du parc d’instances Spot - Amazon Elastic Compute Cloud

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.

Scalabilité automatique du parc d’instances Spot

La scalabilité automatique est l’aptitude à augmenter ou à diminuer automatiquement la capacité cible de votre parc d’instances Spot en fonction de la demande. Un parc d’instances Spot peut lancer des instances (augmenter) ou résilier des instances (diminuer), dans la plage que vous choisissez, en réponse à une ou plusieurs politiques de mise à l’échelle.

Le parc d’instances Spot prend en charge les types de scalabilité automatique suivants :

  • Mise à l’échelle du suivi de cible : augmente ou réduit la capacité actuelle de la flotte en fonction d’une valeur cible pour une métrique spécifique. Cette option est similaire à la façon dont votre thermostat maintient la température de votre domicile : vous sélectionnez une température et le thermostat se charge du reste.

  • Mise à l’échelle d’étape : augmente ou réduit la capacité actuelle de la flotte en fonction d’un ensemble d’ajustements de la mise à l’échelle, appelés ajustements d’étape, qui varient en fonction de la valeur d’utilisation hors limites de l’alarme.

  • Mise à l’échelle planifiée : augmente ou réduit la capacité actuelle de la flotte en fonction de la date et de l’heure.

Si vous utilisez une pondération d’instance, gardez à l’esprit que le parc d’instances Spot peut dépasser la capacité cible si nécessaire. La capacité fournie peut correspondre à un nombre à virgule flottante, mais la capacité cible doit être un nombre entier pour que le parc d’instances Spot puisse l’arrondir au nombre entier suivant. Vous devez prendre ces comportements en compte lorsque vous examinez les résultats d’une politique de dimensionnement lorsqu’une alarme se déclenche. Par exemple, supposons que la capacité cible est 30, que la capacité fournie est 30,1 et que la politique de dimensionnement soustrait 1. Lorsque l’alarme se déclenche, le processus de scalabilité automatique soustrait 1 de 30,1 pour obtenir 29,1, puis arrondit la valeur à 30. Aucune action de mise à l’échelle n’est alors effectuée. Pour prendre un autre exemple, supposons que vous avez sélectionné des pondérations d’instance de 2, 4 et 8, et une capacité cible de 10, mais qu’aucune instance de pondération 2 n’était disponible, si bien que le parc d’instances Spot a provisionné des instances de pondération 4 et 8 pour une capacité fournie de 12. Si la politique de mise à l’échelle réduit la capacité cible de 20 % et qu’une alarme se déclenche, le processus de scalabilité automatique soustrait 12 x 0,2 de 12 pour obtenir 9,6, puis arrondit la valeur à 10. Aucune action de mise à l’échelle n’est alors effectuée.

Les politiques de mise à l’échelle que vous créez pour le parc d’instances Spot prennent en charge un temps de stabilisation. C’est le nombre de secondes après la fin d’une activité de dimensionnement au cours desquelles les activités de dimensionnement précédentes liées à un déclencheur peuvent influer sur les événements de dimensionnement futurs. Pour les politiques de montée en charge (scale-out), pendant la durée du temps de stabilisation, la capacité qui a été ajoutée par l’événement de montée en charge précédent qui a lancé la stabilisation est calculée dans le cadre de la capacité souhaitée pour la montée en charge suivante. L’objectif est d’effectuer une montée en charge continue (mais pas excessive). Pour les politiques de diminution de charge, la période de récupération est utilisée pour bloquer les demandes de montée en charge suivantes jusqu’à leur expiration. L’objectif est de diminuer la charge avec prudence afin de protéger la disponibilité de votre application. Toutefois, si une autre alarme déclenche une politique de montée en charge pendant le temps de stabilisation après une diminution en charge (scale-in), la scalabilité automatique monte immédiatement en charge votre cible scalable.

Nous vous recommandons de dimensionner sur des métriques d’instance à une fréquence de 1 minute, car cela permet de réagir plus rapidement aux modifications d’utilisation. Un dimensionnement sur des métriques à une fréquence de 5 minutes peut entraîner des temps de réponse plus lents et un dimensionnement sur des données de métrique obsolètes. Pour envoyer des données métriques pour vos instances par périodes d' CloudWatch une minute, vous devez spécifiquement activer la surveillance détaillée. Pour plus d’informations, consultez Activer ou désactiver la surveillance détaillée pour vos instances et Création d’une demande de parc d’instances Spot à l’aide des paramètres définis (console).

Pour plus d’informations sur la configuration de la mise à l’échelle du parc d’instances Spot , consultez les ressources suivantes :

Autorisations IAM requises pour la scalabilité automatique d’un parc d’instances Spot

Le dimensionnement automatique pour Spot Fleet est rendu possible par une combinaison des API Amazon EC2 CloudWatch, Amazon et Application Auto Scaling. Les demandes Spot Fleet sont créées avec Amazon EC2, les alarmes sont créées avec CloudWatch Application Auto Scaling et les politiques de dimensionnement sont créées avec Application Auto Scaling.

Outre les autorisations IAM pour le parc d’instances Spot, et Amazon EC2, l’utilisateur qui accède aux paramètres de mise à l’échelle de la flotte doit disposer des autorisations appropriées pour les services qui prennent en charge la mise à l’échelle dynamique. Les utilisateurs doivent être autorisés à utiliser les actions dans l’exemple de politique suivant.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "ec2:DescribeSpotFleetRequests", "ec2:ModifySpotFleetRequest", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "iam:CreateServiceLinkedRole", "sns:CreateTopic", "sns:Subscribe", "sns:Get*", "sns:List*" ], "Resource": "*" } ] }

Vous pouvez également créer vos propres politiques IAM qui permettent de créer des autorisations plus détaillées pour les appels vers l’API Application Auto Scaling. Pour plus d’informations, veuillez consulter Authentification et contrôle d’accès dans le Guide de l’utilisateur Application Auto Scaling.

Le service Application Auto Scaling a également besoin d'une autorisation pour décrire votre parc de spots et vos CloudWatch alarmes, ainsi que d'autorisations pour modifier la capacité cible de votre parc de spots en votre nom. Si vous activez la scalabilité automatique pour votre parc d’instances Spot, il crée un rôle lié à un service nommé AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest. Le rôle lié à un service donne à Application Auto Scaling l’autorisation de décrire les alarmes de vos politiques, de surveiller la capacité actuelle du flotte et éventuellement de la modifier. Le rôle de parc d’instances Spot géré original pour Application Auto Scaling était aws-ec2-spot-fleet-autoscale-role, mais il n’est plus nécessaire. Le rôle lié à un service est le rôle par défaut pour Application Auto Scaling. Pour plus d’informations, consultez Rôles liés à un service dans le Guide de l’utilisateur Application Auto Scaling.