Ce document présente le processus d'arrêt correct 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 la section Cycle de vie des instances Compute Engine.
Lorsque vous arrêtez ou supprimez une instance, Compute Engine permet à l'OS invité de s'arrêter complètement pendant un court instant. 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 corrompre des systèmes de fichiers.
Pour éviter ces problèmes, vous pouvez activer l'arrêt correct dans une instance. Lorsque ce paramètre est activé, l'OS invité dispose d'une heure maximum pour terminer les tâches en cours d'exécution avant que Compute Engine ne l'arrête. L'arrêt élégant est utile dans les scénarios suivants:
Autoriser l'arrêt complet d'une tâche de calcul hautes performances (HPC).
Permet à une base de données de terminer l'envoi des transactions actives.
Autoriser un serveur de messagerie à terminer le traitement avant l'arrêt.
Autoriser l'exécution d'une session de jeu multijoueur jusqu'à son terme.
À propos de l'arrêt progressif
Les sections suivantes expliquent le fonctionnement de l'arrêt correct.
Période d'arrêt
Dans une instance de calcul, l'arrêt correct 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: de 1 seconde à 1 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 d'exécution. 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 toutes les tâches de l'OS invité terminées, vous pouvez arrêter manuellement l'arrêt de manière élégante 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 dont l'arrêt correct est activé, ou si Compute Engine l'arrête ou la supprime pour un arrêt ou une suppression planifiée, l'état de l'instance passe à PENDING_STOP
. L'arrêt correct commence, ce qui permet à vos applications de terminer l'exécution de leurs tâches.
Compute Engine met fin à l'arrêt normal d'une instance lorsque la période d'arrêt normal expire ou que vous mettez fin manuellement à l'arrêt normal 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
.De Google Cloud. Arrêtez ou supprimez l'instance à l'aide de l'une des méthodes suivantes:
Console Google Cloud: procédez comme suit:
Accédez à la page Instances de VM.
Sélectionnez l'instance, puis cliquez sur
Stop (Arrêter) ou Delete (Supprimer).Dans la boîte de dialogue qui s'affiche, cochez la case Ignorer l'arrêt élégant (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.
À la fin du processus d'arrêt correct, Compute Engine envoie le signal ACPI 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
Une fois que vous avez activé l'arrêt élégant dans une instance, vous pouvez toujours l'arrêter ou la supprimer sans passer par le processus d'arrêt élégant. Cette approche vous permet de réduire les coûts lorsque, par exemple, vous n'avez pas besoin d'arrêter proprement 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:
Ignorez l'arrêt progressif pour les opérations uniques. Laissez l'arrêt élégant activé, mais ignorez-le pour des opérations d'arrêt ou de suppression spécifiques. Pour ce faire, suivez le processus d'arrêt manuel.
Désactiver complètement l'arrêt progressif Si vous n'avez plus besoin d'arrêter correctement une instance, vous pouvez désactiver cette fonctionnalité. Pour en savoir plus, consultez la section Désactiver l'arrêt correct dans une instance Compute Engine.
Limites
L'arrêt élégant présente les limites suivantes:
Vous ne pouvez pas activer l'arrêt correct dans les instances de calcul suivantes:
Instances appartenant à un groupe d'instances géré (MIG).
Instances qui spécifient une durée d'exécution limitée.
Une fois que vous avez activé l'arrêt correct 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 opérations 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 correctement ou un arrêt progressif est interrompu si les événements suivants se produisent:
Votre VM Spot ou votre instance préemptive est 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 pour un événement hôte.
Vous ne pouvez arrêter et supprimer de manière appropriée que 8 000 instances à la fois par projet et par région.
Vous ne pouvez arrêter de manière appropriée ou modifier les paramètres d'arrêt approprié pour les 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 aucuns frais.
Toutefois, lorsque vous arrêtez ou supprimez une instance pour laquelle l'arrêt élégant est activé, des frais vous sont facturés comme si l'instance était en cours d'exécution. Ces frais s'arrêtent lorsque la période d'arrêt progressif se termine et que l'état de l'instance passe à STOPPING
.
Pour obtenir des informations détaillées sur les prix, consultez la section Tarifs des instances de VM.