Prise en charge d'une instance Spot - AWS Elastic Beanstalk

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.

Prise en charge d'une instance Spot

Pour tirer parti des instances Amazon EC2 Spot, vous pouvez activer une option Spot pour votre environnement. Le groupe Auto Scaling de votre environnement combine ensuite les options EC2 d'achat Amazon et gère une combinaison d'instances à la demande et d'instances ponctuelles.

Note

Le paramètre d'EnableSpotoption peut amener Elastic Beanstalk à créer un environnement avec un modèle de lancement ou à mettre à jour un environnement existant, des configurations de lancement aux modèles de lancement. Pour de plus amples informations, veuillez consulter Modèles de lancement.

Cette rubrique décrit les méthodes suivantes pour activer les demandes d'instance Spot pour votre environnement :

Important

La demande d'instances ponctuelles peut varier considérablement d'un moment à l'autre, et la disponibilité des instances ponctuelles peut également varier considérablement en fonction du nombre d'EC2instances Amazon non utilisées disponibles. Par ailleurs, votre instance Spot est susceptible d'être interrompue.

Pour minimiser l'impact de ces interruptions sur votre application, vous pouvez activer l'option Capacity Rebalancing incluse dans Amazon EC2 Auto Scaling. Lorsque cette fonctionnalité est activée, tente EC2 automatiquement de remplacer les instances Spot dans un groupe Auto Scaling avant qu'elles ne soient interrompues. Pour activer cette fonction, configurez le groupe Auto Scaling dans la console Elastic Beanstalk Vous pouvez également définir la valeur de l'option de configuration EnableCapacityRebalancing Elastic Beanstalk sur truedans l'espace de noms aws:autoscaling:asg.

Pour plus d'informations, consultez Capacity Rebalancing dans le guide de l'utilisateur Amazon EC2 Auto Scaling et Spot Instance Interruptions dans le guide de EC2 l'utilisateur Amazon.

Elastic Beanstalk propose plusieurs options de configuration pour la prise en charge de la fonction Spot. Ces options sont abordées dans les sections suivantes qui expliquent la configuration de votre groupe Auto Scaling.

Deux de ces options, dans l'espace de noms aws:ec2:instances, méritent une attention toute particulière :

  • SpotFleetOnDemandBase

  • SpotFleetOnDemandAboveBasePercentage

Ces deux options sont en corrélation avec l'option MinSize de l'espace de nom aws:autoscaling:asgaws:autoscaling:asg :

  • Seule MinSize détermine la capacité initiale de votre environnement, c'est-à-dire le nombre d'instances que vous souhaitez exécuter au minimum.

  • SpotFleetOnDemandBase n'affecte pas la capacité initiale. Si Spot est activé, cette option ne détermine que le nombre d'instances à la demande allouées avant la prise en compte des instances Spot.

  • Imaginez quand SpotFleetOnDemandBase est inférieur à MinSize. Vous aurez toujours exactement MinSize instances comme capacité initiale. Au moins SpotFleetOnDemandBase d'entre elles doivent être des instances à la demande.

  • Imaginez que SpotFleetOnDemandBase est supérieur à MinSize. À mesure de la mise à l'échelle de votre environnement, vous êtes assuré d'obtenir au minimum une quantité d'instances supplémentaires égale à la différence entre les deux valeurs. Autrement dit, vous êtes assuré d'obtenir au moins (SpotFleetOnDemandBase - MinSize) instances supplémentaires qui sont à la demande avant de satisfaire à l'exigence SpotFleetOnDemandBase.

Dans les environnements de production, les instances Spot sont particulièrement utiles dans le cadre d'un environnement scalable et à charge équilibrée. Nous ne recommandons pas d'utiliser Spot dans un environnement à instance unique. Si les instances Spot ne sont pas disponibles, vous risquez de perdre toute la capacité (une instance unique) de votre environnement. Vous pouvez toujours souhaiter utiliser une instance Spot dans un environnement à instance unique pour le développement ou le test. Dans ce cas, assurez-vous de définir l SpotFleetOnDemandBase et SpotFleetOnDemandAboveBasePercentage à zéro. Tout autre paramétrage donne lieu à une instance à la demande.

Remarques
  • Certains AWS comptes plus anciens peuvent fournir à Elastic Beanstalk des types d'instances par défaut qui ne prennent pas en charge les instances Spot (par exemple, t1.micro). Si vous activez les demandes d'instances Spot et que l'erreur None of the instance types you specified supports Spot (Aucun des types d'instance spécifiés ne prend en charge les instances Spot) s'affiche, assurez-vous de configurer des types d'instance qui prennent en charge les instances Spot. Pour choisir des types d'instance Spot, utilisez Spot Instance Advisor.

  • L'activation des demandes d'instance Spot nécessite l'utilisation de modèles de EC2 lancement Amazon. Lorsque vous configurez cette fonctionnalité lors de la création ou des mises à jour de l'environnement, Elastic Beanstalk tente de configurer votre environnement pour utiliser les modèles de lancement EC2 Amazon (si l'environnement ne les utilise pas déjà). Dans ce cas, si votre politique d'utilisateur ne dispose pas des autorisations nécessaires, la création ou les mises à jour de l'environnement peuvent échouer. Par conséquent, nous vous recommandons d'utiliser notre politique d'utilisateur gérée ou d'ajouter les autorisations requises à vos politiques personnalisées. Pour plus d'informations sur les autorisations requises, consultez Création d'une stratégie utilisateur personnalisée.

Les exemples suivants illustrent différents scénarios de définition des différentes options de mise à l'échelle. Tous les exemples supposent qu'un environnement à charge équilibrée avec les demandes d'instances Spot activées a été défini.

Exemple 1 : Capacité initiale avec instances à la demande et instances Spot
Paramètres d'option
Option Namespace Valeur

MinSize

aws:autoscaling:asg

10

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

Dans cet exemple, l'environnement commence avec dix instances, dont sept instances à la demande (quatre de base et 50 % des six autres au-delà) et trois instances Spot. L'environnement peut accepter jusqu'à 24 instances. Au fur et à mesure du dimensionnement, la proportion d'instances à la demande de la partie du parc au-delà des quatre instances à la demande de base est maintenue à 50 %, jusqu'à un maximum de 24 instances au total, dont 14 sont des instances à la demande (quatre de base et 50 % des 20 autres au-delà de la base) et 10 sont des instances Spot.

Exemple 2 : Capacité initiale avec uniquement des instances à la demande
Paramètres d'option
Option Namespace Valeur

MinSize

aws:autoscaling:asg

4

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

Dans cet exemple, l'environnement commence avec quatre instances à la demande. L'environnement peut accepter jusqu'à 24 instances. Au fur et à mesure du dimensionnement, la proportion d'instances à la demande de la partie du parc au-delà des quatre instances à la demande de base est maintenue à 50 %, jusqu'à un maximum de 24 instances au total, dont 14 sont des instances à la demande (quatre de base et 50 % des 20 autres au-delà de la base) et 10 sont des instances Spot.

Exemple 3 :Instances à la demande de base supplémentaires au-delà de la capacité initiale
Paramètres d'option
Option Namespace Valeur

MinSize

aws:autoscaling:asg

3

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

Dans cet exemple, l'environnement commence avec trois instances à la demande. L'environnement peut accepter jusqu'à 24 instances. La première instance supplémentaire au-delà des trois instances initiales est une instance à la demande, pour compléter les quatre instances à la demande de base. Au fur et à mesure du dimensionnement, la proportion d'instances à la demande de la partie du parc au-delà des quatre instances à la demande de base est maintenue à 50 %, jusqu'à un maximum de 24 instances au total, dont 14 sont des instances à la demande (quatre de base et 50 % des 20 autres au-delà de la base) et 10 sont des instances Spot.