3.28 Les demandes d'instances flottes
Voyons en détail les Spot Requests et les Spot Fleets. Une instance Spot offre jusqu'à 90 % de réduction comparée à une instance On-Demand. Le principe : on définit un prix maximum qu'on est prêt à payer ; tant que le tarif Spot du marché reste en dessous, on conserve l'instance. Si le tarif Spot dépasse le prix max, AWS reprend l'instance.
Quand le prix max est dépassé, deux options : arrêter l'instance pour la reprendre plus tard, ou la résilier définitivement. AWS laisse une fenêtre de 2 minutes de préavis après le franchissement du seuil. Pour éviter les interruptions, on peut utiliser les Spot Blocks : ils garantissent l'instance pendant une durée fixe de 1 à 6 heures sans interruption. Les Spot ne conviennent pas pour les tâches critiques ni les bases de données — mais sont parfaits pour de l'analyse de données ou des batchs tolérants aux pannes.
Modes one-time, persistent et Spot Fleets
Une Spot Request peut être one-time (la requête s'efface dès que l'instance est lancée — pratique pour une exécution unique) ou persistent (la requête reste active : si l'instance est arrêtée car le prix dépasse, elle redémarrera automatiquement dès que le prix repasse en dessous). Pour arrêter complètement des instances Spot persistent, il faut d'abord annuler la requête, puis terminer les instances.
Une Spot Fleet est un ensemble d'instances Spot (avec optionnellement des On-Demand) qui s'ajuste pour atteindre une capacité cible. On peut définir plusieurs pools (combinaisons type d'instance/OS/zone/région) et choisir une stratégie d'allocation :
- Lowest Price — pioche dans le pool le moins cher (optimisation coût pour charges faibles).
- Diversified — répartit la flotte sur plusieurs pools pour la haute disponibilité (gros traitements).
- Capacity-Optimized — choisit le pool offrant la meilleure capacité par rapport au nombre d'instances demandé.
Les Spot Fleets sont très puissantes : elles permettent de demander automatiquement des instances Spot au meilleur prix et de maintenir la capacité même si certaines instances sont reprises. C'est l'outil idéal pour orchestrer des workloads de calcul intensif tout en optimisant les coûts.