Utilisez le rééquilibrage des capacités dans la flotte EC2 et le parc Spot pour remplacer les instances ponctuelles à risque - 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.

Utilisez le rééquilibrage des capacités dans la flotte EC2 et le parc Spot pour remplacer les instances ponctuelles à risque

Grâce au rééquilibrage des capacités, votre flotte EC2 ou votre parc d’instances Spot peut maintenir la capacité Spot souhaitée en remplaçant de manière proactive les instances Spot présentant un risque d’interruption. Lorsqu’une instance Spot présente un risque élevé d’interruption, Amazon EC2 envoie une recommandation de rééquilibrage. Si le rééquilibrage de capacité est activé, la recommandation de rééquilibrage déclenche le lancement d’une nouvelle instance ponctuelle avant que l’instance à risque ne soit interrompue.

Le rééquilibrage de capacité vous permet de maintenir la disponibilité de la charge de travail en augmentant de manière proactive votre flotte avec une nouvelle instance Spot avant qu’une instance en cours d’exécution ne soit interrompue par Amazon EC2.

Pour configurer la flotte EC2 afin qu’elle utilise le rééquilibrage des capacités pour lancer une instance Spot de remplacement

Utilisez la commande create-fleet et les paramètres appropriés dans la structure MaintenanceStrategies. Pour obtenir un exemple de configuration JSON, consultez Exemple 7 : Configurer le rééquilibrage de capacité pour lancer les instances Spot de remplacement.

Pour configurer un parc d’instances Spot afin d’utiliser le rééquilibrage des capacités pour lancer une Instance Spot de remplacement

Vous pouvez utiliser la console Amazon EC2 ou le AWS CLI pour configurer le rééquilibrage de capacité.

(Console) Lors de la création du parc d’instances Spot, cochez la case Rééquilibrage des capacités. Pour plus d’informations, consultez l’étape 6.d dans Création d’une demande de parc d’instances Spot à l’aide de paramètres définis.

(AWS CLI) Utilisez la commande request-spot-fleet les paramètres correspondants dans la structure SpotMaintenanceStrategies. Pour obtenir un exemple de configuration JSON, consultez Exemple 8 : Configurer le rééquilibrage de capacité pour lancer les instances Spot de remplacement.

Limitations

  • Le rééquilibrage de capacité est disponible uniquement pour les flottes de type maintain.

  • Lorsque la flotte est en cours d’exécution, vous ne pouvez pas modifier le paramètre Rééquilibrage de capacité. Pour modifier le paramètre Rééquilibrage de capacité, vous devez supprimer la flotte et en créer un nouveau.

Options de configuration

La ReplacementStrategy pour la flotte EC2 et le parc d’instances Spot prennent en charge les deux valeurs suivantes :

launch-before-terminate

Amazon EC2 met fin aux instances Spot qui reçoivent une notification de rééquilibrage après le lancement de nouvelles instances Spot de remplacement. Quand vous spécifiez launch-before-terminate, vous devez également spécifier une valeur pour termination-delay. Une fois les nouvelles instances de remplacement lancées, Amazon EC2 attend la durée du termination-delay, puis résilie les anciennes instances. Pour termination-delay, le minimum est de 120 secondes (2 minutes) et le maximum est de 7 200 secondes (2 heures).

Nous vous recommandons d’utiliser launch-before-terminate uniquement si vous pouvez prédire la durée de la procédure d’arrêt de votre instance. Cela garantit que les anciennes instances ne sont résiliées qu’une fois les procédures d’arrêt terminées. Notez qu’Amazon EC2 peut interrompre les anciennes instances avec un avertissement de deux minutes avant le termination-delay.

Nous déconseillons fortement d’utiliser la stratégie d’allocation lowest-price (flotte EC2) ou lowestPrice (parc d’instances Spot) en combinaison avec launch-before-terminate pour éviter d’avoir des instances Spot de remplacement qui sont également à un risque élevé d’interruption.

launch

Amazon EC2 lance des instances Spot de remplacement lorsqu’une notification de rééquilibrage est émise pour les instances Spot existantes. Amazon EC2 ne résilie pas les instances qui reçoivent une notification de rééquilibrage. Vous pouvez résilier les anciennes instances ou les laisser en cours d’exécution. Toutes les instances en cours d’exécution vous sont facturées.

Considérations

Si vous configurez une flotte EC2 ou un parc d’instances Spot pour le rééquilibrage de capacité, tenez compte des points suivants :

Fournissez autant de groupes de capacité Spot que possible dans la demande

Configurez votre flotte pour utiliser plusieurs types d’instance et zones de disponibilité. Cela permet de lancer des instances Spot dans divers groupes dz capacité Spot. Pour de plus amples informations, consultez Soyez flexible en ce qui concerne les types d’instance et les zones de disponibilité.

Éviter un risque élevé d’interruption des instances Spot de remplacement

Pour éviter un risque d’interruption élevé, nous vous recommandons vivement de ne pas utiliser la stratégie d’allocation capacity-optimized ou capacity-optimized-prioritized. Ces stratégies garantissent que les instances Spot de remplacement sont lancées dans les groupes de capacité Spot optimaux et sont donc moins susceptibles d’être interrompues dans un proche avenir. Pour de plus amples informations, consultez Utiliser la stratégie d’allocation optimisée pour le prix et la capacité.

Vos instances Spot de remplacement peuvent présenter un risque élevé d’interruption si vous utilisez la stratégie d’allocation lowest-price. En effet, Amazon EC2 lancera toujours des instances dans le groupe le moins cher qui dispose de capacités disponibles à ce moment, même si vos instances Spot de remplacement risquent d’être interrompues peu après leur lancement.

Amazon EC2 ne lancera une nouvelle instance que si la disponibilité est identique ou meilleure

L’un des objectifs du rééquilibrage de capacité est d’améliorer la disponibilité d’une instance Spot. Si une instance Spot existante reçoit une recommandation de rééquilibrage, Amazon EC2 ne lancera une nouvelle instance que si la nouvelle instance offre une disponibilité supérieure ou égale à celle de l’instance existante. Si le risque d’interruption d’une nouvelle instance est plus important que celui de l’instance existante, Amazon EC2 ne lancera pas de nouvelle instance. Amazon EC2 continuera toutefois à évaluer les groupes de capacité Spot et lancera une nouvelle instance si la disponibilité s’améliore.

Il est possible que votre instance existante soit interrompue sans qu’Amazon EC2 ne lance une nouvelle instance de manière proactive. Lorsque cela se produit, Amazon EC2 essayera de lancer une nouvelle instance, que la nouvelle instance présente un risque d’interruption élevé ou non.

Le rééquilibrage de capacité n’augmente pas le taux d’interruption de votre instance Spot

Lorsque vous activez le rééquilibrage de la capacité, cette action n’augmente pas votre Taux d’interruption d’instance Spot.(le nombre d’instances Spot qui sont récupérées lorsqu’Amazon EC2 doit récupérer de l’espace. Toutefois, si le rééquilibrage de la capacité détecte une potentielle interruption d’instance, Amazon EC2 essayera instantanément de lancer une nouvelle instance. En résultat, un nombre supérieur d’instances pourraient être remplacées, comparativement au scénario où vous attendriez qu’Amazon EC2 lance une nouvelle instance après l’interruption de l’instance à risque.

Bien que vous puissiez remplacer davantage d’instances lorsque le rééquilibrage de la capacité est activé, vous gagnerez à faire preuve de proactivité que de réactivité en disposant de plus de temps d’action avant l’interruption de vos instances. En général, après un Avis d’interruption d’instance Spot., vous ne disposez que deux minutes pour arrêter correctement votre instance. Etant donné que le rééquilibrage de la capacité lance une nouvelle instance à l’avance, vous donnez aux processus existants de meilleures chances de se terminer sur votre instance à risque. Vous pouvez démarrer les procédures d’arrêt de votre instance et empêcher la planification de nouveaux travaux sur votre instance à risque. Vous pouvez également commencer à préparer l’instance nouvellement lancée afin de prendre le contrôle de l’application. Grâce au remplacement proactif de Capacity Rebalancing, vous bénéficiez d’une continuité.

À titre d’exemple théorique pour démontrer les risques et les avantages liés au rééquilibrage des capacités, considérez le scénario suivant :

  • 14 h 00 : une recommandation de rééquilibrage est reçue pour l’instance-A, et Amazon EC2 essaie instantanément de lancer une Instance-B de remplacement, ce qui vous laisse le temps de démarrer vos procédures d’arrêt.*

  • 14 h 30 — Une recommandation de rééquilibrage est reçue pour l’instance-B, remplacée par Instance-C, ce qui vous donne le temps de démarrer vos procédures d’arrêt. *

  • 14 h 32 — Si le rééquilibrage de la capacité n’était pas activé, et si un avis d’interruption d’instance Spot avait été reçu à 14h32 pour l’instance-A, vous n’auriez disposé que de deux minutes pour agir. Cependant, l’instance-A aurait été en cours d’exécution jusqu’à ce moment.

* Si launch-before-terminate est spécifié, Amazon EC2 mettra fin à l’instance à risque après la mise en ligne de l’instance de remplacement.

Amazon EC2 peut lancer de nouvelles instances Spot de remplacement jusqu’à ce que la capacité exécutée représente le double de la capacité cible

Lorsqu’une flotte est configurée pour le rééquilibrage de capacité, la flotte tente de lancer une nouvelle instance Spot de remplacement pour chaque instance Spot qui reçoit une recommandation de rééquilibrage. Une fois qu’une instance Spot reçoit une recommandation de rééquilibrage, elle n’est plus comptabilisée dans la capacité exécutée. Selon la stratégie de remplacement, Amazon EC2 résilie l’instance après un délai de terminaison préconfiguré ou la laisse en cours d’exécution. Cela vous donne la possibilité d’effectuer des actions de rééquilibrage sur l’instance.

Si votre flotte atteint le double de sa capacité cible, il cesse de lancer de nouvelles instances de remplacement même si les instances de remplacement elles-mêmes reçoivent une recommandation de rééquilibrage.

Par exemple, vous créez une flotte avec une capacité cible de 100 instances Spot. Toutes les instances Spot reçoivent une recommandation de rééquilibrage, ce qui entraîne le lancement par Amazon EC2 de 100 instances Spot de remplacement. Cela augmente le nombre d’instances Spot exécutées à 200, soit le double de la capacité cible. Certaines des instances de remplacement reçoivent une recommandation de rééquilibrage, mais aucune autre instance de remplacement n’est lancée car la flotte ne peut pas dépasser le double de sa capacité cible.

Notez que vous êtes facturé pour toutes les instances pendant qu’elles sont en cours d’exécution.

Nous vous recommandons de configurer votre flotte pour qu’elle mette fin aux instances Spot qui reçoivent une recommandation de rééquilibrage

Si vous configurez votre flotte pour le rééquilibrage de capacité, nous vous recommandons de choisir launch-before-terminate avec un délai de résiliation approprié uniquement si vous pouvez prédire la durée de la procédure d’arrêt de votre instance. Cela garantit que les anciennes instances ne sont résiliées qu’une fois les procédures d’arrêt terminées.

Si vous choisissez de résilier vous-même les instances recommandées pour le rééquilibrage, nous vous recommandons de surveiller le signal de recommandation de rééquilibrage reçu par les instances Spot de la flotte. En surveillant le signal, vous pouvez effectuer rapidement des actions de rééquilibrage sur les instances concernées avant qu’Amazon EC2 ne les interrompe, puis vous pouvez les résilier manuellement. Si vous ne résiliez pas les instances, vous continuez à les payer pendant qu’elles sont en cours d’exécution. Amazon EC2 ne résilie pas automatiquement les instances qui reçoivent une recommandation de rééquilibrage.

Vous pouvez configurer des notifications à l’aide d’Amazon EventBridge ou de métadonnées d’instance. Pour de plus amples informations, consultez Surveiller les signaux de recommandation de rééquilibrage.

La flotte ne compte pas les instances qui reçoivent une recommandation de rééquilibrage lorsqu’elle calcule la capacité remplie lors d’une mise à l’échelle ou d’une sortie

Si votre flotte est configurée pour le rééquilibrage de capacité et que vous modifiez la capacité cible pour qu’elle soit diminuée ou augmentée, la flotte ne comptabilise pas les instances marquées pour rééquilibrage dans le cadre de la capacité exécutée, comme suit :

  • Mise à l’échelle horizontale : si vous diminuez la capacité cible souhaitée, Amazon EC2 résilie les instances qui ne sont pas marquées pour rééquilibrage tant que la capacité souhaitée n’est pas atteinte. Les instances marquées pour rééquilibrage ne sont pas prises en compte dans la capacité exécutée.

    Par exemple, vous créez une flotte avec une capacité cible de 100 instances Spot, 10 instances reçoivent une recommandation de rééquilibrage, Amazon EC2 lance alors 10 nouvelles instances de remplacement, ce qui donne une capacité exécutée de 110 instances. Vous réduisez ensuite la capacité cible à 50 (mise à l’échelle horizontale), mais la capacité exécutée est en fait de 60 instances car les 10 instances marquées pour rééquilibrage ne sont pas résiliées par Amazon EC2. Vous devez résilier manuellement ces instances, ou vous pouvez les laisser en cours d’exécution.

  • Montée en puissance : si vous augmentez la capacité cible souhaitée, Amazon EC2 lance de nouvelles instances tant que la capacité souhaitée n’est pas atteinte. Les instances marquées pour rééquilibrage ne sont pas prises en compte dans la capacité exécutée.

    Par exemple, vous créez une flotte avec une capacité cible de 100 instances Spot, 10 instances reçoivent une recommandation de rééquilibrage, la flotte lance alors 10 nouvelles instances de remplacement, ce qui donne une capacité exécutée de 110 instances. Vous augmentez ensuite la capacité cible à 200 (augmentation), mais la capacité exécutée est en fait de 210 instances car les 10 instances marquées pour rééquilibrage ne sont pas comptabilisées par la flotte comme faisant partie de la capacité cible. Vous devez résilier manuellement ces instances, ou vous pouvez les laisser en cours d’exécution.