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 des stratégies d'allocation pour déterminer comment EC2 Fleet ou Spot Fleet exploite les capacités sur place et à la demande
Lorsque vous utilisez plusieurs pools de capacités (chacun comprenant un type d'instance et une zone de disponibilité) dans un EC2 parc ou un parc d'emplacements, vous pouvez utiliser une stratégie d'allocation pour gérer la manière dont Amazon EC2 utilise vos capacités ponctuelles et à la demande à partir de ces pools. Les stratégies d'allocation peuvent optimiser la capacité disponible, le prix et les types d'instances à utiliser. Il existe différentes stratégies d'allocation pour les instances Spot et les instances à la demande.
Rubriques
Stratégies d’allocation pour instances Spot
Votre configuration de lancement détermine tous les pools de capacité Spot possibles (types d'instances et zones de disponibilité) à partir desquels EC2 Fleet ou Spot Fleet peut lancer des instances Spot. Cependant, lors du lancement des instances, le parc d’instances Spot utilise la stratégie d’allocation que vous spécifiez pour choisir les groupes spécifiques parmi tous vos groupes possibles.
Note
(Instances Linux uniquement) Si vous configurez votre instance Spot pour qu'elle soit lancée avec AMDSEV- SNP activé, des frais d'utilisation supplémentaires vous sont facturés, équivalant à 10 % du tarif horaire à la demande
Vous pouvez spécifier l’une des stratégies d’allocation suivantes pour les instances Spot :
- price-capacity-optimized (optimisation du rapport prix/capacité) (recommandé)
-
La flotte EC2 identifie les groupes dotés des capacités disponibles les plus élevées pour le nombre d’instances qui sont lancées. Cela signifie que nous demanderons des instances Spot auprès des groupes qui, selon nous, présentent le moins de risques d’interruption à court terme. Le parc d’instances Spot demande ensuite des instances Spot auprès du pool le moins coûteux de ces pools.
La stratégie d’allocation constitue le meilleur choix pour la plupart des charges de travail Spot, telles que les applications conteneurisées sans état, les microservices, les applications Web, les tâches de données et d’analyse, ainsi que le traitement par lots.
Si vous utilisez le AWS CLI, le nom du paramètre est
price-capacity-optimized
pour EC2 Fleet etpriceCapacityOptimized
pour Spot Fleet. - capacity-optimized (capacité optimisée)
-
La flotte EC2 identifie les groupes dotés des capacités disponibles les plus élevées pour le nombre d’instances qui sont lancées. Cela signifie que nous demanderons des instances Spot auprès des groupes qui, selon nous, présentent le moins de risques d’interruption à court terme. Vous pouvez éventuellement définir une priorité pour chaque type d'instance de votre flotte, qui optimise la capacité d'abord, mais respecte les priorités de type d'instance sur la base du meilleur effort.
Avec les instances Spot, la tarification change lentement au fil du temps en fonction des tendances à long terme en matière d’offre et de demande, mais la capacité fluctue en temps réel. La stratégie lance automatiquement des instances Spot dans les pools les plus disponibles en examinant les données de capacité en temps réel et en prédisant les instances les plus disponibles. Cela fonctionne bien pour les charges de travail dont le coût d'interruption lié au redémarrage du travail peut être plus élevé, telles que les longues charges de travail liées à l'intégration continue (CI), au rendu d'images et de médias, à l'apprentissage profond et au calcul haute performance (HPC) qui peuvent entraîner un coût d'interruption plus élevé associé au redémarrage du travail. En offrant la possibilité de moins d’interruptions, la stratégie peut réduire le coût global de votre charge de travail.
Alternativement, vous pouvez utiliser la stratégie d’allocation avec un paramètre de priorité pour définir l’ordre des types d’instance à utiliser de la priorité la plus élevée à la plus basse. Vous pouvez définir la même priorité pour différents types d’instance. Le parc d’instances Spot optimisera d’abord la capacité, mais respectera les priorités de type d’instance sur la base du meilleur effort (par exemple, si le respect des priorités n’affecte pas de manière significative la capacité du parc d’instances Spot à fournir une capacité optimale). C’est une bonne option pour les charges de travail pour lesquelles la possibilité de perturbation doit être minimisée, mais la priorité de certains types d’instances est également importante. Notez que lorsque vous définissez la priorité sur , la même priorité est également appliquée à vos instances à la demande si l’option à la demande est définie sur . L’utilisation des priorités n’est prise en charge que si votre flotte utilise un modèle de lancement.
Si vous utilisez le AWS CLI, les noms des paramètres sont
capacity-optimized
etcapacity-optimized-prioritized
pour EC2 FleetcapacityOptimized
etcapacityOptimizedPrioritized
pour Spot Fleet. - diversified
-
Les instances Spot sont réparties sur tous les groupes de capacité Spot. Si vous utilisez le AWS CLI, le nom du paramètre correspond à la fois
diversified
à EC2 Fleet et à Spot Fleet. - Prix le plus bas (non recommandé)
-
Avertissement
Nous ne recommandons pas la stratégie d'allocation du prix le plus bas, car c'est elle qui présente le risque d'interruption le plus élevé pour vos instances Spot.
Les instances Spot proviennent du groupe dont le tarif est le plus bas et qui dispose d’une capacité disponible. Lorsque vous utilisez le AWS CLI, il s'agit de la stratégie par défaut. Nous vous recommandons toutefois de remplacer la valeur par défaut en spécifiant la stratégie d’allocation .
Si le groupe le moins coûteux ne dispose pas de capacité, les instances Spot proviennent du groupe le moins coûteux suivant qui a une capacité disponible. Si un groupe n’a plus de capacité avant de répondre à votre demande, la flotte EC2 continue de répondre à votre demande en puisant dans le groupe suivant le moins coûteux. Pour garantir que la capacité souhaitée est atteinte, vous pouvez recevoir des instances Spot de plusieurs groupes.
Cette stratégie prenant uniquement en compte que le prix des instances et non la capacité disponible, elle peut entraîner des taux d’interruption élevés.
La stratégie de répartition du prix le plus bas n'est disponible que si vous utilisez le AWS CLI. Le nom du paramètre est
lowest-price
pour EC2 Fleet etlowestPrice
pour Spot Fleet. - Nombre de piscines à utiliser
-
Nombre de groupes d’instances Spot auxquels allouer votre capacité Spot cible. Valide uniquement lorsque la stratégie d’allocation est définie sur . Le parc d’instances Spot sélectionne les groupes d’instances Spot les moins chers et répartit équitablement votre capacité Spot cible entre le nombre de groupes d’instances Spot que vous spécifiez.
Notez qu’EC2 Fleet tente de puiser au mieux des instances Spot dans le nombre de groupes que vous spécifiez. Si un groupe n’a plus de capacité Spot avant de répondre à votre capacité cible, la flotte EC2 continue de répondre à votre demande en puisant dans le groupe suivant le moins coûteux. Pour garantir l’atteinte de votre capacité cible, il se peut que vous receviez des instances Spot provenant d’un nombre de groupes supérieur à celui que vous avez spécifié. De même, si la plupart des pools n’ont pas de capacité Spot, il se peut que vous receviez votre capacité cible complète à partir d’un nombre de groupes inférieur à celui que vous avez spécifié.
Ce paramètre n'est disponible que lorsque vous spécifiez la stratégie d'allocation du prix le plus bas et uniquement lorsque vous utilisez le AWS CLI. Le nom du paramètre concerne
InstancePoolsToUseCount
à la fois EC2 Fleet et Spot Fleet.
Stratégie d'allocation avec les instances à la demande
Votre configuration de lancement détermine tous les pools de capacités possibles (types d'instances et zones de disponibilité) à partir desquels EC2 Fleet ou Spot Fleet peut lancer des instances à la demande. Cependant, lors du lancement des instances, le parc d’instances Spot utilise la stratégie d’allocation que vous spécifiez pour choisir les groupes spécifiques parmi tous vos groupes possibles.
Vous pouvez spécifier l’une des stratégies d’allocation suivantes pour les instances Spot :
- prix le plus bas
-
Les instances Spot proviennent du groupe dont le tarif est le plus bas et qui dispose d’une capacité disponible. Il s’agit de la stratégie par défaut.
Si le groupe le moins coûteux ne dispose pas de capacité, les instances Spot proviennent du groupe le moins coûteux suivant qui a une capacité disponible.
Si un groupe n’a plus de capacité avant de répondre à votre demande, la flotte EC2 continue de répondre à votre demande en puisant dans le groupe suivant le moins coûteux. Pour garantir que la capacité souhaitée est atteinte, vous pouvez recevoir des instances Spot de plusieurs groupes.
- prioritized (priorisé)
-
: la flotte EC2 se sert de la priorité que vous avez affectée à chaque remplacement du modèle de lancement, en lançant la priorité la plus élevée en premier. Cette stratégie ne peut pas être utilisée avec une sélection de type d'instance basée sur des attributs. Pour obtenir un exemple de la manière d'utiliser cette stratégie d'allocation, reportez-vous àHiérarchiser les types d’instance pour la capacité à la demande.
Choisir la stratégie d’allocation appropriée
Vous pouvez optimiser votre flotte en fonction de votre cas d’utilisation en choisissant la stratégie d’allocation de points appropriée.
Trouver un équilibre entre le prix le plus bas et la capacité disponible
Pour trouver un équilibre entre les groupes de capacité Spot les moins chers et les groupes de capacité Spot présentant la disponibilité de capacité la plus élevée, nous vous recommandons d’utiliser la stratégie d’allocation . Cette stratégie prend des décisions concernant les groupes auprès desquels il convient de demander des instances Spot en fonction à la fois du prix des groupes et de la capacité disponible des instances Spot dans ces groupes. Cela signifie que nous demanderons des instances Spot auprès des groupes qui, selon nous, présentent le moins de risques d’interruption à court terme, tout en tenant compte du prix.
Si votre flotte exécute des charges de travail résilientes et sans état, notamment des applications conteneurisées, des microservices, des applications web, des tâches de données et d’analyse et des traitements par lots, utilisez la stratégie d’allocation pour optimiser les économies de coûts et la capacité disponible.
Si votre flotte exécute des charges de travail dont l’interruption entraîne des coûts plus élevés associés au travail de redémarrage, vous devez implémenter des points de contrôle afin que les applications puissent redémarrer à partir de ce point, si elles sont interrompues. En utilisant des points de contrôle, vous adaptez la stratégie d’allocation à ces charges de travail, car elle alloue la capacité à partir des groupes les moins chers qui offrent également un faible taux d’interruption des instances Spot.
Pour des exemples de JSON configurations qui utilisent la stratégie d'allocation optimisée par le prix et la capacité, consultez ce qui suit :
-
EC2Flotte — Exemple 10 : Lancer des instances ponctuelles dans une price-capacity-optimized flotte
-
Parc d’instances Spot
Lorsque les charges de travail ont un coût d’interruption élevé
Vous pouvez éventuellement utiliser la stratégie si vous exécutez des charges de travail utilisant des types d’instances dont le prix est similaire, ou lorsque le coût des interruptions est si important que toute économie de coûts est insuffisante par rapport à une augmentation marginale du nombre d’interruptions. Cette stratégie alloue la capacité à partir des groupes de capacité Spot les plus disponibles qui offrent la possibilité de moins d’interruptions, ce qui peut réduire le coût global de votre charge de travail.
Lorsque le risque d’interruption doit être minimisé, mais que la préférence pour certains types d’instance est importante, vous pouvez exprimer vos priorités de groupe en utilisant la stratégie d’allocation , puis définir l’ordre des types d’instance à utiliser de la priorité la plus élevée à la plus basse.
Notez que lorsque vous définissez les priorités sur , les mêmes priorités sont également appliquées à vos instances à la demande si l'option à la demande est définie sur . Veuillez noter que l’utilisation des priorités n’est prise en charge que si votre flotte utilise un modèle de lancement.
Pour des exemples de JSON configurations qui utilisent la stratégie d'allocation optimisée en termes de capacité, consultez les rubriques suivantes :
-
EC2Flotte — Exemple 9 : lancer des instances Spot dans une flotte optimisée pour la capacité
-
Parc d’instances Spot
Pour des exemples de JSON configurations qui utilisent la stratégie d'allocation priorisée optimisée en termes de capacité, consultez ce qui suit :
-
EC2Flotte — Exemple 10 : lancer des instances Spot dans une flotte optimisée pour la capacité avec des priorités
-
Parc d’instances Spot
Lorsque votre charge de travail est flexible dans le temps et que la capacité disponible n’est pas un facteur
Si votre flotte est de petite taille ou si elle s’exécute pendant un temps limité, vous pouvez utiliser pour maximiser vos économies tout en tenant compte de la capacité disponible.
Lorsque votre flotte est importante ou s’exécute pendant une longue période
Si votre parc est important ou qu’il s’exécute pendant une longue durée, vous pouvez améliorer sa disponibilité en répartissant les Instances Spot entre plusieurs groupes en utilisant la stratégie . Par exemple, si votre parc d’instances Spot spécifie 10 groupes et une capacité cible de 100 instances, la flotte lance 10 instances Spot dans chaque groupe. Si le prix Spot d’un pool dépasse le prix maximum de ce pool, seul 10 % de votre flotte est touché. Avec cette stratégie, votre flotte est également moins affecté par les augmentations du prix Spot dans un pool au fil du temps. Avec la stratégie , le parc d’instances Spot ne lance pas d’instances Spot dans des groupes dont le prix Spot est supérieur ou égal au prix à la demande.
Maintenir la capacité cible pour les instances Spot
Une fois les instances Spot résiliées en raison d’un changement de prix Spot ou de la modification de la capacité disponible d’un groupe de capacités Spot, un parc d’instances Spot de type maintain
lance des instances Spot de remplacement. La stratégie d’allocation détermine les groupes à partir desquels les instances de remplacement sont lancées, comme suit :
-
Si la stratégie d’allocation est , la flotte lance les instances de remplacement dans les groupes présentant le plus de capacités d’instances Spot disponibles, tout en tenant compte du prix et en identifiant les groupes les moins chers avec une capacité disponible élevée.
-
Si la stratégie d’allocation est sélectionnée, la flotte lance les instances de remplacement dans les groupes avec le plus de capacités d’instances Spot disponibles.
-
Si la stratégie d’allocation est , le parc d’instances répartit les Instances Spot de remplacement entre les groupes restants.
Hiérarchiser les types d’instance pour la capacité à la demande
Lorsqu'une EC2 flotte ou une flotte ponctuelle tente d'atteindre votre capacité à la demande, elle lance par défaut le type d'instance le moins cher en premier. Si AllocationStrategy est défini sur prioritized, EC2 Fleet utilise la priorité pour déterminer quel remplacement du modèle de lancement utiliser en premier pour satisfaire la capacité à la demande. La priorité est affectée au remplacement du modèle de lancement, et la priorité la plus élevée est lancée en premier.
Exemple : donner la priorité aux types d’instance
Dans cet exemple, vous configurez trois dérogations au modèle de lancement, chacune avec un type d’instance différent.
Le prix à la demande des types d’instance varie. Voici les types d’instance utilisés dans cet exemple, classés par ordre de prix, en commençant par le type d’instance le moins cher :
-
m4.large
: le moins cher -
m5.large
-
m5a.large
Si vous n’utilisez pas la priorité pour déterminer l’ordre, la flotte remplit la capacité à la demande en commençant par le type d’instance le moins cher.
Toutefois, supposons que vous avez des instances réservées m5.large
inutilisées que vous voulez utiliser en premier. Vous pouvez définir la priorité de remplacement du modèle de lancement afin que les types d’instance soient utilisés dans l’ordre de priorité, comme suit :
-
m5.large
: priorité 1 -
m4.large
: priorité 2 -
m5a.large
: priorité 3