Présentation de la configuration - 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.

Présentation de la configuration

Cette rubrique fournit une vue d’ensemble et les meilleures pratiques pour créer un groupe d’instances mixtes.

Présentation

Pour créer un groupe d’instances mixtes, deux options s’offrent à vous :

Manual selection

Les étapes suivantes expliquent comment créer un groupe d’instances mixtes en choisissant manuellement des types d’instance :

  1. Sélectionnez un modèle de lancement contenant les paramètres pour lancer une instance EC2. Les paramètres des modèles de lancement sont facultatifs, mais Amazon EC2 Auto Scaling ne peut pas lancer une instance si l’identifiant Amazon Machine Image (AMI) est absent du modèle de lancement.

  2. Choisissez l’option pour remplacer le modèle de lancement.

  3. Choisissez manuellement les types d’instances adaptés à votre charge de travail.

  4. Spécifiez les pourcentages des instances à la demande et des instances Spot à lancer.

  5. Choisissez les stratégies d'allocation qui déterminent la façon dont Amazon EC2 Auto Scaling satisfait les capacités à la demande et Spot des types d'instances possibles.

  6. Choisissez les zones de disponibilité et les sous-réseaux VPC dans lesquels vous souhaitez lancer vos instances.

  7. Indiquez la taille initiale du groupe (la capacité souhaitée), ainsi que la taille minimale et maximale du groupe.

Des remplacements sont nécessaires pour remplacer le type d’instance déclaré dans le modèle de lancement et utiliser plusieurs types d’instances intégrés dans la définition de ressources du groupe Auto Scaling. Pour plus d'informations sur les types d'instances disponibles, consultez la section Types d'instances dans le guide de l'utilisateur Amazon EC2.

Vous pouvez également configurer les paramètres facultatifs suivants pour chaque type d’instance :

  • LaunchTemplateSpecification— Vous pouvez attribuer un modèle de lancement différent à un type d'instance selon vos besoins. Cette option n’est actuellement pas disponible à partir de la console. Pour plus d’informations, consultez Utiliser un modèle de lancement différent pour un type d’instance.

  • WeightedCapacity— Vous décidez dans quelle mesure l'instance compte pour la capacité souhaitée par rapport au reste des instances de votre groupe. Si vous spécifiez une valeur WeightedCapacity pour un type d’instance, vous devez spécifier une valeur WeightedCapacity pour tous les types d’instance. Par défaut, chaque instance compte pour un dans la capacité souhaitée. Pour plus d’informations, consultez Configurer un groupe Auto Scaling pour utiliser les poids d'instance.

Attribute-based selection

Pour permettre à Amazon EC2 Auto Scaling de choisir automatiquement vos types d’instances en fonction de leurs attributs d’instance spécifiques, suivez les étapes suivantes pour créer un groupe d’instances mixte en spécifiant vos besoins de calcul :

  1. Sélectionnez un modèle de lancement contenant les paramètres pour lancer une instance EC2. Les paramètres des modèles de lancement sont facultatifs, mais Amazon EC2 Auto Scaling ne peut pas lancer une instance si l’identifiant Amazon Machine Image (AMI) est absent du modèle de lancement.

  2. Choisissez l’option pour remplacer le modèle de lancement.

  3. Spécifiez les attributs d’instance qui correspondent à vos exigences de calcul, telles que les vCPU et la mémoire.

  4. Spécifiez les pourcentages des instances à la demande et des instances Spot à lancer.

  5. Choisissez les stratégies d'allocation qui déterminent la façon dont Amazon EC2 Auto Scaling satisfait les capacités à la demande et Spot des types d'instances possibles.

  6. Choisissez les zones de disponibilité et les sous-réseaux VPC dans lesquels vous souhaitez lancer vos instances.

  7. Indiquez la taille initiale du groupe (la capacité souhaitée), ainsi que la taille minimale et maximale du groupe.

Des remplacements sont nécessaires pour remplacer le type d’instance déclaré dans le modèle de lancement et utiliser un ensemble d’attributs d’instance qui décrivent vos exigences de calcul. Pour les attributs pris en charge, consultez InstanceRequirementsle manuel Amazon EC2 Auto Scaling API Reference. Vous pouvez également utiliser un modèle de lancement qui contient déjà la définition des attributs d’instance.

Vous pouvez également configurer le paramètre LaunchTemplateSpecification dans la structure de remplacement pour attribuer un modèle de lancement différent à un ensemble d’exigences d’instance selon les besoins. Cette option n’est actuellement pas disponible à partir de la console. Pour plus d'informations, consultez la section LaunchTemplateOverrides dans le manuel Amazon EC2 Auto Scaling API Reference.

Par défaut, vous définissez le nombre d’instances pour qu’il corresponde à la capacité souhaitée de votre groupe Auto Scaling.

Vous pouvez également définir la valeur de la capacité souhaitée comme le nombre de vCPU ou la quantité de mémoire. Pour ce faire, utilisez la propriété DesiredCapacityType dans le fonctionnement de l’API CreateAutoScalingGroup ou le champ déroulant Type de capacité souhaitée dans la AWS Management Console. Il s’agit d’une alternative utile aux pondérations d’instance.

Flexibilité du type d’instance

Pour améliorer la disponibilité, déployez votre application sur plusieurs types d’instances. Il est recommandé d’utiliser plusieurs types d’instance pour satisfaire les exigences de capacité. Amazon EC2 Auto Scaling peut ainsi lancer un autre type d'instance si la capacité d'instance est insuffisante dans les zones de disponibilité que vous avez choisies.

Si la capacité des instances Spot est insuffisante, Amazon EC2 Auto Scaling poursuivra ses tentatives de lancement à partir d’autres pools d’instances Spot. (Les pools qu'il utilise sont déterminés par votre choix de types d'instances et de stratégie d'allocation.) Amazon EC2 Auto Scaling vous aide à tirer parti des économies réalisées grâce aux instances Spot en les lançant à la place des instances à la demande.

Nous vous recommandons d’être flexible sur au moins 10 types d’instance pour chaque charge de travail. Lorsque vous choisissez des types d’instance, ne vous limitez pas aux nouveaux types d’instance les plus populaires. Choisir des types d’instance de génération plus ancienne a tendance à entraîner moins d’interruptions Spot, car ils sont moins demandés par les clients à la demande.

Flexibilité des zones de disponibilité

Nous vous recommandons fortement de répartir votre groupe Auto Scaling sur plusieurs zones de disponibilité. Avec plusieurs zones de disponibilité, vous pouvez concevoir des applications qui basculent automatiquement d’une zone à l’autre pour une plus grande résilience.

L’avantage supplémentaire est que vous pouvez accéder à un groupe de capacités Amazon EC2 plus important par rapport aux groupes d’une seule zone de disponibilité. Dans la mesure où la capacité fluctue en toute indépendance pour chaque type d’instance de chaque zone de disponibilité, il est souvent possible d’obtenir davantage de capacité de calcul lorsque l’on fait preuve de souplesse dans le choix à fois des types d’instances et de zones de disponibilité.

Pour plus d’informations sur l’utilisation des zones de disponibilité multiples, consultez Exemple : répartir les instances dans les zones de disponibilité.

prix Spot max

Lorsque vous créez votre groupe Auto Scaling à l'aide du AWS CLI ou d'un SDK, vous pouvez spécifier le SpotMaxPrice paramètre. Le paramètre SpotMaxPrice détermine le prix maximum que vous êtes prêt à payer pour une heure d’instance Spot.

Lorsque vous indiquez le paramètre WeightedCapacity dans vos remplacements (ou "DesiredCapacityType": "vcpu" ou "DesiredCapacityType": "memory-mib" au niveau du groupe), le prix maximum représente le prix unitaire maximum, et non le prix maximum pour une instance complète.

Nous vous recommandons fortement de ne pas indiquer de prix maximum. Votre application peut ne pas fonctionner si vous ne recevez pas d'Instances Spot, par exemple lorsque votre prix maximum est trop bas. Si vous ne spécifiez pas de prix maximum, la valeur par défaut est le prix à la demande. Vous payez uniquement le prix pour les instances Spot que vous lancez. Vous pouvez toujours bénéficier des remises importantes proposées par les instances Spot. Ces remises sont possibles en raison de la tarification stable des instances Spot qui est disponible grâce au modèle de tarification Spot. Pour plus d'informations, consultez la section Tarification et économies dans le guide de l'utilisateur Amazon EC2.

Rééquilibrage de capacité proactif

Si votre cas d’utilisation le permet, nous vous recommandons un rééquilibrage de la capacité. 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 Spot en cours ne reçoive l’avis d’interruption d’instance Spot de deux minutes.

Lorsque le rééquilibrage de la capacité est activé, Amazon EC2 Auto Scaling tente de remplacer de manière proactive les instances Spot qui ont reçu une recommandation de rééquilibrage. Cela vous permet de rééquilibrer votre charge de travail en de nouvelles instances Spot qui ne présentent pas un risque élevé d’interruption.

Pour plus d’informations, consultez Utiliser le rééquilibrage de la capacité pour gérer les interruptions Spot Amazon EC2.

Comportement de mise à l’échelle.

Lorsque vous créez un groupe d’instances mixtes, il utilise des instances à la demande par défaut. Pour utiliser des instances Spot, vous devez modifier le pourcentage du groupe à lancer en tant qu’instances à la demande. Vous pouvez spécifier n'importe quel nombre compris entre 0 et 100 pour le pourcentage d'instances à la demande.

En option, vous pouvez également désigner un nombre de base d'instances à la demande pour commencer. Si vous procédez de la sorte, Amazon EC2 Auto Scaling attend le lancement des instances Spot jusqu’à ce que la capacité de base soit atteinte lorsque le groupe monte en puissance. Tout dépassement de la capacité de base utilise le pourcentage à la demande pour déterminer le nombre d'instances à la demande et le nombre d'instances ponctuelles à lancer.

Amazon EC2 Auto Scaling convertit le pourcentage en nombre équivalent d'instances. Si le résultat est un nombre fractionnaire, il est arrondi à l’entier supérieur en faveur des instances à la demande.

Le tableau suivant montre le comportement du groupe Auto Scaling à mesure que la taille du groupe augmente et diminue.

Exemple : comportement de mise à l'échelle
Options d’achat La taille de groupe et le nombre total d’instances en cours d’exécution, toutes options d’achat confondues
10 20 30 40

Exemple 1 : base de 10, 50/50 % à la demande/Spot

Instances à la demande (montant de base) 10 10 10 10
On-Demand instances 0 5 10 15
Spot instances 0 5 10 15

Exemple 2 : base de 0, 0/100 % à la demande/Spot

Instances à la demande (montant de base) 0 0 0 0
On-Demand instances 0 0 0 0
Spot instances 10 20 30 40

Exemple 3 : base de 0, 60/40 % à la demande/Spot

Instances à la demande (montant de base) 0 0 0 0
On-Demand instances 6 12 18 24
Spot instances 4 8 12 16

Exemple 4 : base de 0, 100/0 % à la demande/Spot

Instances à la demande (montant de base) 0 0 0 0
On-Demand instances 10 20 30 40
Spot instances 0 0 0 0

Exemple 5 : base de 12, 0/100 % à la demande/Spot

Instances à la demande (montant de base) 10 12 12 12
On-Demand instances 0 0 0 0
Spot instances 0 8 18 28

Lorsque la taille du groupe augmente, Amazon EC2 Auto Scaling tente d’équilibrer votre capacité uniformément entre les zones de disponibilité que vous avez indiquées. Ensuite, il lance des types d'instance en fonction de la stratégie d'allocation qui est spécifiée.

Lorsque la taille du groupe diminue, Amazon EC2 Auto Scaling identifie d’abord lequel des deux types (Spot ou à la demande) doit être résilié. Il essaye ensuite de résilier les instances de manière équilibrée dans les zones de disponibilité que vous avez indiquées. Cela favorise également la résiliation des instances d’une manière qui correspond le mieux à vos stratégies d’allocation. Pour plus d’informations sur les politiques de mise hors service, consultez la section Configurer les politiques de résiliation pour Amazon EC2 Auto Scaling.

Disponibilité régionale des types d’instances

La disponibilité des types d'instances EC2 varie en fonction de vos Région AWS besoins. Par exemple, les types d’instance de la nouvelle génération peuvent ne pas encore être disponibles dans une région donnée. En raison des variations de disponibilité des instances d’une région à l’autre, vous pouvez rencontrer des problèmes lorsque vous effectuez des demandes par programmation si plusieurs types d’instances dans vos remplacements ne sont pas disponibles dans votre région. L’utilisation de plusieurs types d’instances qui ne sont pas disponibles dans votre région peut entraîner l’échec total de la demande. Pour résoudre le problème, effectuez de nouveau la demande avec différents types d’instance, en vous assurant que chaque type d’instance est disponible dans la région. Pour rechercher les types d’instance offerts par emplacement, utilisez la commande describe-instance-type-offerings. Pour plus d'informations, consultez Trouver un type d'instance Amazon EC2 dans le guide de l'utilisateur Amazon EC2.

Pour en savoir plus sur les meilleures pratiques relatives aux instances Spot, consultez la section Meilleures pratiques pour EC2 Spot dans le guide de l'utilisateur Amazon EC2.

Limites

Après avoir ajouté des remplacements à un groupe Auto Scaling à l'aide d'une politique d'instances mixtes, vous pouvez mettre à jour les remplacements avec l'appel d'UpdateAutoScalingGroupAPI, mais pas les supprimer. Pour supprimer complètement les dérogations, vous devez d'abord changer de groupe Auto Scaling afin d'utiliser un modèle de lancement ou une configuration de lancement au lieu d'une politique d'instances mixtes. Vous pouvez ensuite ajouter à nouveau une politique d'instances mixtes sans aucune dérogation.