Cette page décrit les instances de machine virtuelle (VM) préemptive. Pour apprendre à créer une instance préemptive, consultez la documentation sur la création et l'utilisation de VM préemptives. Pour en savoir plus sur les instances en général, consultez la documentation relative aux instances de machine virtuelle.
Qu'est-ce qu'une instance préemptive ?
Les instances de VM préemptives sont disponibles à un prix nettement inférieur (une remise de 60 à 91 %) par rapport au prix des VM standards. Cependant, Compute Engine peut arrêter (préempter) ces instances s'il doit récupérer la capacité de calcul pour d'autres VM. Les instances préemptives utilisent la capacité excédentaire de Compute Engine. Leur disponibilité varie donc en fonction des usages.
Si vos applications sont tolérantes aux pannes et peuvent résister à de possibles préemptions d'instances, les instances préemptives vous aideront à réduire considérablement les frais liés à Compute Engine. Par exemple, les tâches de traitement par lot peuvent s'exécuter sur des instances préemptives. Si certaines de ces instances s'arrêtent pendant le traitement, celui-ci se poursuit malgré tout, mais plus lentement. Les instances préemptives effectuent vos tâches de traitement par lot sans imposer de charge de travail supplémentaire à vos instances existantes et sans vous obliger à payer le prix fort pour des instances normales supplémentaires.
Limitations de l'instance préemptive
Les instances préemptives fonctionnent comme des instances normales, mais présentent les limitations suivantes :
- Compute Engine peut arrêter des instances préemptives à tout moment en raison d'événements système. La probabilité que Compute Engine arrête une instance préemptive pour un événement système est généralement faible, mais peut varier d'un jour à l'autre et d'une zone à l'autre, en fonction des conditions du moment.
- Compute Engine arrête toujours les instances préemptives dans un délai de 24 heures. Certaines actions réinitialisent ce délai.
- Les instances préemptives sont des ressources finies de Compute Engine. Elles peuvent donc ne pas être toujours disponibles.
- Les instances préemptives ne peuvent pas migrer à chaud vers une instance de VM standard ou être configurées pour redémarrer automatiquement en cas d'événement de maintenance.
- En raison des limites précédentes, les instances préemptives ne sont couvertes par aucun contrat de niveau de service et sont exclues du contrat de niveau de service de Compute Engine.
- Les crédits de la version gratuite de Google Cloud pour Compute Engine ne s'appliquent pas aux instances préemptives.
Préemption des VM préemptives
Cette section décrit comment les VM préemptives sont préemptées par Compute Engine et quelles sont les VM sélectionnées pour la préemption.
Processus de préemption
Pour préempter une instance, Compute Engine effectue les étapes suivantes :
- Compute Engine envoie un avis de préemption à l'instance sous la forme d'un signal ACPI G2 Soft Off. Vous pouvez utiliser un script d'arrêt pour traiter cet avis de préemption et effectuer des actions de nettoyage avant que l'instance ne s'arrête. La période d'arrêt pour une notification de préemption est optimale et peut atteindre 30 secondes.
- Si l'instance ne s'est pas arrêtée après le délai d'arrêt pour la notification de préemption, Compute Engine envoie un signal ACPI G3 Mechanical Off au système d'exploitation.
- Compute Engine fait passer l'instance à l'état
TERMINATED
.
Vous pouvez simuler une préemption d'instance en arrêtant l'instance.
Les instances préemptées apparaissent toujours dans votre projet, mais vous n'êtes pas facturé pour les heures où l'instance se trouve dans l'état TERMINATED
. Vous pouvez accéder aux données et les récupérer à partir de tous les disques persistants associés à l'instance. Ces disques continuent néanmoins à entraîner des frais de stockage tant qu'ils n'ont pas été supprimés. Comme pour les instances normales, les disques persistants sélectionnés pour la suppression automatique sont supprimés en même temps que l'instance préemptive. Vous pouvez redémarrer une instance préemptée autant de fois que vous le souhaitez tant que vous disposez d'une capacité suffisante. Le redémarrage d'une instance préemptive réinitialise le processus de préemption.
Si Compute Engine arrête une instance préemptive moins d'une minute après sa création, vous n'êtes pas facturé pour l'utilisation de cette instance de VM. Cela garantit que vous ne payez pas pour les instances préemptives, sauf si celles-ci ont accompli un travail conséquent. Cependant, les frais des systèmes d'exploitation premium sont calculés comme habituellement.
Sélection de préemption
Pour obtenir des suggestions sur la façon de réduire le taux de préemption, consultez nos bonnes pratiques. Notez que Compute Engine ne vous facture pas les instances si elles sont préemptées dans la minute qui suit leur exécution.
Certaines actions réinitialisent le délai de 24 heures associé aux instances préemptives.
Plus précisément, si vous arrêtez et démarrez une instance, Compute Engine réinitialise le délai, car l'instance passe à l'état TERMINATED
. Ce délai n'est toutefois pas réinitialisé par d'autres actions qui maintiennent l'état RUNNING
, par exemple la réinitialisation d'une instance ou l'exécution de la commande sudo reboot
depuis la VM.
Tarifs
Les VM préemptives utilisent les tarifs Spot, le même modèle de tarification que les VM Spot. Pour en savoir plus sur la tarification des VM préemptives, consultez la section concernant les tarifs des VM Spot.
Utiliser des VM préemptives avec Compute Engine
Cette section fournit des informations importantes sur l'utilisation de VM préemptives avec d'autres offres Compute Engine. Découvrez comment utiliser des VM préemptives avec des groupes d'instances gérés, des systèmes d'exploitation premium, des SSD locaux et des GPU. Découvrez également comment les VM préemptives affectent vos quotas pour les ressources Compute Engine.
Instances préemptives dans un groupe d'instances géré
Vous pouvez créer des instances préemptives dans un groupe d'instances géré. Spécifiez l'option préemptive dans le modèle d'instance avant de créer ou de mettre à jour le groupe.
Les groupes d'instances gérés ne peuvent créer ou ajouter de nouvelles instances préemptives que lorsque d'autres ressources Compute Engine sont disponibles. Si ces ressources sont limitées, les groupes d'instances gérés ne peuvent ni redimensionner, ni remettre à l'échelle automatiquement le nombre d'instances préemptives dans le groupe.
Les groupes d'instances gérés tentent toujours de conserver leur taille cible ou la taille spécifiée par l'autoscaler pour ce groupe. Si Compute Engine arrête une instance préemptive dans un groupe d'instances géré, le groupe tente à plusieurs reprises de recréer cette instance à l'aide du modèle d'instance spécifié. Si les ressources nécessaires sont à nouveau disponibles, le groupe recrée l'instance et conserve la taille du groupe cible.
Systèmes d'exploitation premium sur des instances préemptives
Les instances préemptives ne réduisent pas le coût des systèmes d'exploitation premium et ne modifient pas la manière dont vous êtes facturé pour l'utilisation de ces systèmes d'exploitation. Si Compute Engine arrête une instance préemptive qui exécute un système d'exploitation premium, vous êtes facturé pour ce système d'exploitation comme si vous aviez vous-même arrêté l'instance. Les frais d'utilisation minimale s'appliquent toujours, et Compute Engine calcule toujours les factures des systèmes d'exploitation premium en arrondissant le prix à la tranche d'utilisation la plus proche.
Les types de machines sur instances préemptives qui s'exécutent sur des systèmes d'exploitation premium sont toujours facturés à la seconde et suivent les prix indiqués sur la page Tarifs des instances de VM.
Disques SSD locaux sur des instances préemptives
Si vous démarrez une VM Spot ou une VM préemptive avec un disque SSD local, Compute Engine applique des tarifs Spot avec remise pour l'utilisation de ce disque. Les disques SSD locaux associés à des VM Spot ou préemptives fonctionnent comme des disques SSD locaux normaux, conservent les mêmes caractéristiques de persistance des données et restent associés pendant toute la durée de vie de VM.
L'utilisation des disques SSD locaux sur une VM Spot ou une VM préemptive ne vous est pas facturée par Compute Engine si la VM est préemptée dans la minute qui suit son exécution.
GPU sur des instances préemptives
Vous pouvez ajouter des GPU à vos instances de VM préemptives en bénéficiant des prix Spot pour les GPU. Les GPU associés à des instances préemptives fonctionnent comme des GPU normaux dont la durée de vie n'excède pas celle de l'instance. Les instances préemptives dotées de GPU suivent le même processus de préemption que toutes les instances préemptives.
Envisagez de demander un quota Preemptible GPU
dédié à utiliser pour les GPU sur les instances préemptives. Pour plus d'informations, consultez la section Quotas pour les instances de VM préemptives.
Lors des événements de maintenance, les instances préemptives avec GPU sont préemptées par défaut et ne peuvent pas être redémarrées automatiquement. Si vous souhaitez recréer vos instances après leur préemption, utilisez un groupe d'instances géré. Les groupes d'instances gérés recréent vos instances si les ressources de processeur virtuel, de mémoire et de GPU sont disponibles.
Si vous souhaitez être averti avant que votre instance soit préemptée, ou encore configurer votre instance pour qu'elle redémarre automatiquement après un événement de maintenance, utilisez une instance standard avec un GPU. Pour les instances standards avec GPU, Google envoie un avis préalable une heure avant la préemption.
L'utilisation de GPU sur Compute Engine ne vous est pas facturée si leurs instances sont préemptées dans la minute qui suit leur exécution.
Pour connaître les étapes permettant de faire en sorte qu'une instance standard redémarre automatiquement, consultez la section Mettre à jour les options d'une instance.
Pour apprendre à créer des instances préemptives avec des GPU associés, consultez la section Créer une VM avec des GPU associés.
Quotas pour les instances de VM préemptives
Comme les autres VM, les VM préemptives nécessitent des quotas de processeurs disponibles. En outre, si vous prévoyez d'utiliser des VM préemptives avec des disques SSD locaux ou avec des GPU, les VM préemptives nécessitent également un quota de disques et un quota de GPU respectivement.
Si vous utilisez des VM préemptives avec ces ressources et que vous n'avez pas demandé de quota préemptif, les VM préemptives consomment votre quota standard pour ces ressources. Si vous prévoyez d'utiliser des VM préemptives, envisagez de demander un quota préemptif pour ces ressources afin d'empêcher les VM préemptives de consommer vos quotas.
Lorsque Compute Engine vous accorde un quota préemptif dans une région, toutes les VM préemptives (et toutes les VM Spot) de cette région sont prises en compte dans ce quota. Toutes les VM standards de cette région continuent d'être comptabilisées dans le quota standard. Dans les régions où vous ne disposez pas de quota préemptif, vous pouvez utiliser le quota standard pour lancer des VM préemptives.
Le quota préemptif n'est pas visible sur les pages de quota de gcloud CLI ou de la console Google Cloud, sauf s'il a été accordé par Compute Engine. Pour en savoir plus, consultez la section Quotas d'allocation pour des ressources préemptives.
Étape suivante
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Compute Engine en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai gratuit de Compute Engine