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.
Amazon EC2 fournit un accès à de la capacité de EC2 calcul inutilisée dans le AWS Cloud cadre d'instances Spot via des instances ponctuelles, ce qui permet de réaliser des économies allant jusqu'à 90 % par rapport aux prix à la demande. La seule différence entre les instances à la demande et les instances ponctuelles est que les instances ponctuelles peuvent être interrompues par Amazon EC2, moyennant un préavis de deux minutes, si Amazon EC2 a besoin de récupérer la capacité. Pour garantir une expérience optimale avec les instances Spot, il est important de comprendre et d’appliquer les meilleures pratiques relatives à leur utilisation.
Les instances Spot sont recommandés pour les applications flexibles sans état, tolérantes aux pannes. Par exemple, instances Spot fonctionne bien pour le Big Data, les charges de travail conteneurisées, les CI/CD, les serveurs Web sans état, le calcul haute performance (HPC) et les charges de travail de rendu.
En cours d’exécution, les instances Spot sont exactement les mêmes que instances à la demande. Toutefois, Spot ne garantit pas que vous pouvez conserver vos instances en cours d’exécution suffisamment longtemps pour terminer vos charges de travail. Spot ne garantit pas non plus que vous pouvez obtenir la disponibilité immédiate des instances que vous recherchez, ou que vous pouvez toujours obtenir la capacité globale que vous avez demandée. De plus, les interruptions et la capacité des instances Spot peuvent changer au fil du temps, car leur disponibilité varie en fonction de l’offre et de la demande, et les performances passées ne sont pas une garantie de résultats futurs.
Les instances Spot ne conviennent pas aux charges de travail inflexibles, dynamiques, intolérantes aux pannes ou étroitement couplées entre des nœuds d’instance. Nous ne recommandons pas les instances Spot pour les charges de travail qui ne tolèrent pas les périodes occasionnelles pendant lesquelles la capacité cible n’est pas entièrement disponible. Bien que le respect des meilleures pratiques Spot en matière de flexibilité des types d’instances et des zones de disponibilité donne toutes les chances d’obtenir une haute disponibilité, rien ne garantit que la capacité sera disponible, car l’augmentation de la demande d’instances à la demande peut perturber les charges de travail sur les instances Spot.
Il est fortement déconseillé d’utiliser des instances Spot pour ces charges de travail ou d’essayer de basculer sur des instances à la demande pour gérer les interruptions ou les périodes d’indisponibilité. Le passage à des instances à la demande peut entraîner des interruptions accidentelles de vos autres instances Spot. En outre, si des instances Spot correspondant à une combinaison spécifique de type d’instance et de zone de disponibilité sont interrompues, il peut s’avérer difficile d’obtenir des instances à la demande ayant cette même combinaison.
Que vous soyez un utilisateur Spot expérimenté ou un nouvel utilisateur des instances Spot, si vous rencontrez actuellement des problèmes avec les interruptions ou la disponibilité des instances Spot, nous vous recommandons de suivre ces bonnes pratiques pour bénéficier de la meilleure expérience d’utilisation du service Spot.
Bonnes pratiques en matière d’instances Spot
Soyez flexible en ce qui concerne les types d’instance et les zones de disponibilité
Utilisation d’une sélection de type d’instance basée sur des attributs
Utilisez les groupes EC2 Auto Scaling ou EC2 Fleet pour gérer votre capacité globale
Utiliser la stratégie d’allocation optimisée pour le prix et la capacité
Utilisez AWS des services intégrés pour gérer vos instances Spot
Quelle est la meilleure méthode de demande Spot à utiliser ?
Préparer des instances individuelles pour les interruptions
La meilleure façon pour vous de gérer fluidement les interruptions d’instance Spot consiste à concevoir votre application pour qu’elle soit tolérante aux pannes. Pour ce faire, vous pouvez tirer parti des recommandations de rééquilibrage des EC2 instances et des avis d'interruption des instances ponctuelles.
Une recommandation de rééquilibrage d' EC2 instance est un signal qui vous avertit lorsqu'une instance Spot présente un risque élevé d'interruption. Le signal vous donne la possibilité de gérer de manière proactive l’instance Spot avant son avis d’interruption à deux minutes. Vous pouvez décider de rééquilibrer votre charge de travail en une instances Spot nouvelle ou existante qui ne présente pas un risque élevé d'interruption. Nous vous avons facilité l'utilisation de ce signal en utilisant la fonction de rééquilibrage de capacité dans les groupes et les EC2 flottes Auto Scaling.
Un avis d'interruption d'une instance Spot est un avertissement émis deux minutes avant qu'Amazon n' EC2 interrompe une instance Spot. Si votre charge de travail est « flexible dans le temps », vous pouvez configurer vos instances Spot pour qu’elles soient arrêtées ou mises en veille prolongée plutôt que résiliées lorsqu’elles sont interrompues. Amazon arrête ou met EC2 automatiquement en veille prolongée vos instances Spot en cas d'interruption, et les reprend automatiquement lorsque la capacité est disponible.
Nous vous recommandons de créer une règle dans Amazon EventBridge qui capture les recommandations de rééquilibrage et les notifications d'interruption, puis déclenche un point de contrôle pour suivre l'évolution de votre charge de travail ou gère correctement l'interruption. Pour de plus amples informations, veuillez consulter Surveiller les signaux de recommandation de rééquilibrage. Pour un exemple détaillé expliquant comment créer et utiliser des règles relatives aux événements, consultez Taking Advantage of Amazon EC2 Spot Instance Interruption Notices
Pour plus d’informations, consultez EC2 recommandations de rééquilibrage des instances et Interruptions d’instance Spot.
Soyez flexible en ce qui concerne les types d’instance et les zones de disponibilité
Un pool de capacité Spot est un ensemble d' EC2 instances inutilisées ayant le même type d'instance (par exemplem5.large
) et la même zone de disponibilité (par exemple, us-east-1a). Vous devez être flexible quant aux types d’instance que vous demandez et aux zones de disponibilité dans lesquelles vous pouvez déployer votre charge de travail. Cela donne à Spot une meilleure chance de trouver et d’allouer la quantité requise de capacité de calcul. Par exemple, ne demandez pas simplement c5.large
si vous seriez prêt à utiliser des larges des familles c4, m5 et m4.
En fonction de vos besoins spécifiques, vous pouvez évaluer les types d’instance que vous pouvez utiliser pour répondre à vos besoins de calcul. Si une charge de travail peut être redimensionnée verticalement, vous devez inclure des types d'instances plus importants (plus de v CPUs et de mémoire) dans vos demandes. Si vous ne pouvez évoluer qu’horizontalement, vous devez inclure des types d’instance de génération plus ancienne car ils sont moins demandés par les clients à la demande.
Une bonne règle générale est d’être flexible sur au moins 10 types d’instance pour chaque charge de travail. En outre, assurez-vous que toutes les zones de disponibilité sont configurées pour être utilisées dans votre VPC et sélectionnées pour votre charge de travail.
Utilisation d’une sélection de type d’instance basée sur des attributs
Grâce à la sélection du type d'instance basée sur les attributs, vous pouvez spécifier des attributs d'instance, tels que vCPUs, mémoire et stockage, pour la charge de travail que vous souhaitez exécuter. EC2 Auto Scaling ou EC2 Fleet identifieront et lanceront ensuite automatiquement les instances correspondant aux attributs que vous avez spécifiés. Cela élimine l’effort de sélection manuelle des types d’instance spécifiques, ce qui nécessite une compréhension approfondie de l’offre de chaque type d’instance.
En outre, la sélection des types d’instance basée sur les attributs vous permet d’utiliser automatiquement les nouveaux types d’instance dès qu’ils sont disponibles. Cela garantit un accès sans faille à une gamme de plus en plus large de capacités d’instances Spot.
La sélection de type d’instance basée sur les attributs est idéale pour les charges de travail et les cadres qui peuvent être flexibles quant aux types d’instance sur lesquels ils s’exécutent, tels que les charges de travail de calcul haute performance (HPC) et de big data.
Pour plus d'informations, consultez la section Créer un groupe d'instances mixtes à l'aide de la sélection du type d'instance basée sur les attributs dans le guide de l'utilisateur Amazon EC2 Auto Scaling et Spécifiez les attributs pour la sélection du type d'instance pour EC2 Fleet ou Spot Fleet dans ce guide.
Utiliser les scores de placement Spot pour identifier les régions et les zones de disponibilité optimales
Les instances ponctuelles sont des EC2 capacités inutilisées, et cette capacité fluctue en fonction de l' EC2 offre et de la demande. Par conséquent, il se peut que vous n’obteniez pas toujours la capacité Spot exacte dont vous avez besoin à un endroit et à un moment précis. Pour atténuer cette imprévisibilité, vous pouvez utiliser la fonctionnalité de score de placement Spot. Cette fonctionnalité fournit des recommandations pour les régions ou les zones de disponibilité les plus susceptibles de disposer d’une capacité suffisante pour répondre à vos besoins en matière de capacité Spot, sans que vous ayez à lancer d’abord des instances Spot dans ces zones.
Il est préférable d’utiliser le score de placement Spot pour les charges de travail qui peuvent être flexibles quant aux types d’instances et à la région ou à la zone de disponibilité qu’elles peuvent utiliser. Il vous suffit de préciser la capacité Spot dont vous avez besoin, les exigences relatives au type d’instance et si vous souhaitez recevoir des recommandations de régions ou de zones de disponibilité. Vous recevez une note allant de 1 à 10 pour chaque région ou zone de disponibilité, indiquant la probabilité de provisionner avec succès la capacité Spot que vous avez demandée dans cet endroit. Un score de 10 indique que votre demande de Spot a de fortes chances d’aboutir.
Il est important de noter qu'un score de placement Spot est une point-in-time recommandation, car la capacité peut varier au fil du temps. La capacité disponible n’est pas garantie et le risque d’interruption n’est pas prévisible.
Vous pouvez utiliser la fonction de score de placement Spot dans la EC2 console Amazon ou un SDK. AWS CLI Pour de plus amples informations, veuillez consulter Score de placement Spot.
Utilisez les groupes EC2 Auto Scaling ou EC2 Fleet pour gérer votre capacité globale
Spot vous permet de penser en termes de capacité globale (en unités incluant vCPUs, mémoire, stockage ou débit réseau) plutôt que de penser en termes d'instances individuelles. Les groupes Auto Scaling et EC2 Fleet vous permettent de lancer et de maintenir une capacité cible, et de demander automatiquement des ressources pour remplacer celles qui sont perturbées ou arrêtées manuellement. Lorsque vous configurez un groupe ou un EC2 parc Auto Scaling, il vous suffit de spécifier les types d'instances et la capacité cible en fonction des besoins de votre application. Pour plus d'informations, consultez les groupes Auto Scaling dans le guide de l'utilisateur Amazon EC2 Auto Scaling et Création d'une EC2 flotte dans ce guide de l'utilisateur.
Utiliser la stratégie d’allocation optimisée pour le prix et la capacité
Les stratégies d’allocation dans les groupes Auto Scaling vous aident à provisionner votre capacité cible sans avoir à rechercher manuellement des groupes de capacités Spot avec une capacité de réserve. Nous vous recommandons d’utiliser la stratégie price-capacity-optimized
, car elle alloue automatiquement les instances des groupes de capacités Spot les plus disponibles qui présentent également le prix le plus bas. Vous pouvez également tirer parti de la stratégie d'price-capacity-optimized
allocation dans EC2 Fleet. Étant donné que votre capacité d’instance Spot provient de pools avec une capacité optimale, cela réduit la possibilité que vos instances Spot soient demandées. Pour plus d'informations, consultez la section Stratégies d'allocation pour plusieurs types d'instances dans le guide de l'utilisateur Amazon EC2 Auto Scaling et Lorsque les charges de travail ont un coût d’interruption élevé dans ce guide de l'utilisateur.
Utilisez AWS des services intégrés pour gérer vos instances Spot
D'autres AWS services s'intègrent à Spot pour réduire les coûts de calcul globaux sans qu'il soit nécessaire de gérer les instances ou les flottes individuelles. Nous vous recommandons d'envisager les solutions suivantes pour vos charges de travail applicables : Amazon EMR, Amazon Elastic Container Service AWS Batch, Amazon Elastic Kubernetes Service, Amazon AI et Amazon SageMaker AWS Elastic Beanstalk Servers. GameLift Pour en savoir plus sur les meilleures pratiques de Spot relatives à ces services, consultez le site Web Amazon EC2 Spot Instances Workshops
Quelle est la meilleure méthode de demande Spot à utiliser ?
Utilisez le tableau suivant pour déterminer quelle API utiliser pour les demandes d’instances Spot.
« Hello, World! » | Quand l’utiliser ? | Cas d’utilisation | Devrais-je utiliser cette API ? |
---|---|---|---|
|
Créez un groupe Auto Scaling qui gère le cycle de vie de vos instances tout en gardant le nombre d’instances souhaité. Prend en charge la mise à l’échelle horizontale (ajout d’instances supplémentaires) entre les limites minimale et maximale spécifiées. |
Oui | |
CreateFleet |
|
Créez une flotte d’instances à la demande et d’instances Spot dans une seule demande, avec plusieurs spécifications de lancement qui varient selon le type d’instance, l’AMI, la zone de disponibilité ou le sous-réseau. La stratégie d’allocation d’instances Spot est définie par défaut sur |
Oui – en mode |
RunInstances |
|
Lancez un nombre spécifié d’instances en utilisant un AMI et un type d’instance. |
Non, car il RunInstances n'autorise pas les types d'instances mixtes dans une seule demande |
RequestSpotFleet |
|
NE PAS UTILISER. RequestSpotFleet est une ancienne API sans investissement planifié. |
Non |
RequestSpotInstances |
|
NE PAS UTILISER. RequestSpotInstances est une ancienne API sans investissement planifié. |
Non |