Ce document présente le processus d'arrêt progressif dans les instances Compute Engine. Pour en savoir plus sur les états qu'une instance peut traverser au cours de son cycle de vie, consultez Cycle de vie des instances Compute Engine.
Lorsque vous arrêtez ou supprimez une instance, Compute Engine laisse un court délai à l'OS invité pour qu'il s'arrête complètement. Si l'OS invité ne termine pas l'exécution des tâches dans ce délai, Compute Engine force l'arrêt, ce qui peut entraîner une perte de données ou une corruption du système de fichiers.
Pour éviter ces problèmes, vous pouvez activer l'arrêt progressif dans une instance. Lorsque ce paramètre est activé, l'OS invité dispose d'une heure maximum pour terminer l'exécution des tâches avant que Compute Engine ne l'arrête. L'arrêt progressif est utile dans les scénarios où vous souhaitez effectuer les opérations suivantes :
Permettre l'arrêt complet d'un job de calcul hautes performances (HPC).
Autoriser une base de données à terminer l'envoi des transactions actives.
Permettre à un serveur de messagerie de terminer le traitement avant l'arrêt
Autoriser une session de jeu multijoueur à se terminer
À propos de l'arrêt progressif
Les sections suivantes expliquent comment fonctionne l'arrêt progressif.
Période d'arrêt
Dans une instance de calcul, l'arrêt progressif est désactivé par défaut. Vous pouvez l'activer lorsque vous créez ou mettez à jour une instance. Lorsque vous activez l'arrêt progressif, vous pouvez spécifier une période d'arrêt comme suit :
Période par défaut : si vous ne spécifiez pas de période d'arrêt, Compute Engine utilise une période par défaut de 10 minutes.
Période personnalisée : d'une seconde à une heure.
Nous vous recommandons de choisir une période d'arrêt qui laisse suffisamment de temps à vos applications pour terminer les tâches en cours. Par exemple, si vous estimez que vos applications ont besoin de 10 minutes pour terminer l'exécution des tâches, nous vous recommandons de spécifier une période d'arrêt de 15 minutes. Cette approche empêche l'arrêt forcé des tâches et la corruption potentielle des données. Une fois que toutes les tâches de l'OS invité ont été exécutées, vous pouvez mettre fin manuellement à l'arrêt progressif pour réduire les coûts, comme décrit dans la section suivante.
Processus d'arrêt
Lorsque vous arrêtez ou supprimez une instance de calcul pour laquelle l'arrêt progressif est activé, ou si Compute Engine l'arrête ou la supprime pour un arrêt ou une suppression planifiés, l'état de l'instance passe à PENDING_STOP
. L'arrêt progressif commence, ce qui permet à vos applications de terminer l'exécution de leurs tâches.
Compute Engine met fin à l'arrêt progressif d'une instance lorsque la période d'arrêt progressif expire ou que vous y mettez fin manuellement comme suit :
À partir de l'OS invité Vous arrêtez l'instance à l'aide de la commande d'arrêt du système d'exploitation invité, par exemple
sudo shutdown -h now
.À partir de Google Cloud. Arrêtez ou supprimez l'instance à l'aide de l'une des méthodes suivantes :
ConsoleGoogle Cloud : procédez comme suit :
Accédez à la page Instances de VM.
Sélectionnez l'instance, puis cliquez sur
Arrêter ou Supprimer. Si les options Arrêter ou Supprimer ne sont pas disponibles, cliquez sur Autres actions > Arrêter ou Supprimer.Dans la boîte de dialogue qui s'affiche, cochez la case Ignorer l'arrêt progressif (le cas échéant) avant de confirmer l'arrêt ou la suppression de l'instance.
Google Cloud CLI : incluez l'option
--no-graceful-shutdown
dans la commande.API REST : incluez le paramètre de requête
noGracefulShutdown=true
dans l'URL de la requête.
Une fois le processus d'arrêt progressif terminé, Compute Engine envoie le signal ACPI (Advanced Configuration and Power Interface) G2 Soft Off à l'OS invité, définit l'état de l'instance sur STOPPING
, puis poursuit l'opération d'arrêt ou de suppression.
Arrêter ou supprimer sans arrêt progressif
Même si vous avez activé l'arrêt progressif dans une instance, vous pouvez toujours l'arrêter ou la supprimer sans passer par le processus d'arrêt progressif. Cette approche vous permet de réduire les coûts lorsque, par exemple, vous n'avez pas besoin d'arrêter correctement votre instance un jour spécifique ou si la charge de travail exécutée sur l'instance a changé.
Pour ignorer l'arrêt progressif, effectuez l'une des opérations suivantes :
Ignorer l'arrêt progressif pour les opérations individuelles Maintenez l'arrêt progressif activé, mais contournez-le pour des opérations d'arrêt ou de suppression spécifiques. Pour ce faire, suivez la procédure d'arrêt manuel.
Désactivez complètement l'arrêt progressif. Si vous n'avez plus besoin d'arrêter une instance en douceur, vous pouvez désactiver cette fonctionnalité. Pour en savoir plus, consultez Désactiver l'arrêt progressif dans une instance Compute Engine.
Limites
L'arrêt progressif présente les limites suivantes :
Vous ne pouvez pas activer l'arrêt progressif dans les instances de calcul suivantes :
Instances faisant partie d'un groupe d'instances géré (MIG).
Instances qui spécifient une durée d'exécution limitée.
Une fois l'arrêt progressif activé dans une instance, vous ne pouvez plus effectuer les opérations suivantes :
Vous ne pouvez pas mettre à jour les propriétés d'instance qui nécessitent un redémarrage.
Si l'instance est une VM TPU, vous ne pouvez pas simuler d'événements de maintenance de l'hôte.
Si un arrêt progressif est en cours (
PENDING_STOP
), vous ne pouvez pas effectuer les actions suivantes :Vous ne pouvez pas mettre à jour les propriétés de l'instance.
Si l'instance est en cours de suppression, vous ne pouvez pas activer ni désactiver la protection contre la suppression.
Votre instance ne s'arrête pas de manière progressive ou un arrêt progressif est interrompu si l'un des événements suivants se produit :
Votre VM Spot ou instance préemptive a été préemptée.
La stratégie de maintenance de l'hôte de votre instance est définie sur
TERMINATE
, et Compute Engine arrête l'instance en cas d'événement de l'hôte.
Vous ne pouvez arrêter et supprimer correctement que 8 000 instances à la fois par projet et par région.
Vous ne pouvez arrêter en douceur ou modifier les paramètres d'arrêt en douceur des instances créées de manière groupée qu'une fois que Compute Engine a terminé de créer toutes les instances.
Tarifs
L'activation ou la désactivation de l'arrêt progressif dans une instance de calcul n'entraîne aucun frais.
Toutefois, lorsque vous arrêtez ou supprimez une instance pour laquelle l'arrêt progressif est activé, vous continuez à payer des frais pour l'instance comme si elle était en cours d'exécution. Ces frais cessent de s'appliquer à la fin de la période d'arrêt progressif et lorsque l'état de l'instance passe à STOPPING
.
Pour obtenir des informations détaillées sur les tarifs, consultez la page Tarifs des instances de VM.