Ce document explique comment suspendre ou réactiver des instances Compute Engine. Pour en savoir plus sur la suspension, l'arrêt ou la réinitialisation d'instances, consultez Suspendre, arrêter ou réinitialiser des instances Compute Engine.
Si vous souhaitez conserver votre instance Compute Engine, mais que vous ne souhaitez pas qu'elle vous soit facturée lorsqu'elle n'est pas utilisée, vous pouvez la suspendre. La suspension d'une instance la conserve et migre le contenu de sa mémoire vers l'espace de stockage. Une fois l'instance réactivée, Compute Engine migre sa mémoire de l'espace de stockage vers l'instance, et l'instance recommence à s'exécuter.
Suspendre une instance Compute Engine est utile dans les cas suivants:
Pour les environnements de développement et de test qui ne sont pas pleinement utilisés pendant les périodes creuses, telles que le soir ou le week-end, et que vous souhaitez conserver pour réduire les coûts ou accélérer l'initialisation plutôt que de créer de nouvelles instances.
Pour les applications qui nécessitent une longue période d'initialisation après le démarrage de l'instance, mais avant que l'application soit prête à traiter sa première requête, telles que des postes de travail de développeur virtuel ou des applications Java complexes.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux Google Cloud services et aux API.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Pour suspendre une instance :
compute.instances.suspend
-
Pour réactiver une instance :
compute.instances.resume
Vous ne pouvez suspendre une instance que si l'OS invité le permet. Pour en savoir plus, consultez la page Détails des systèmes d'exploitation.
Vous ne pouvez suspendre une instance qui utilise Debian 8 ou 9 comme OS invité que si vous configurez l'OS avant de suspendre l'instance.
Vous ne pouvez suspendre une instance que pendant une durée maximale de 60 jours avant que Compute Engine ne passe automatiquement à l'état
TERMINATED
.Vous pouvez suspendre des VM Spot ou des instances préemptives. Toutefois, si Compute Engine préempte l'instance avant la fin de l'opération de suspension, il met fin à l'opération de suspension et préempte les instances.
Vous ne pouvez pas suspendre des instances auxquelles des GPU sont associés.
Vous ne pouvez pas suspendre des instances Bare Metal.
Vous ne pouvez pas suspendre de Confidential VMs.
Vous ne pouvez pas suspendre les instances à l'aide des processus standards intégrés à leur environnement invité. Les commandes telles que
systemctl suspend
dans Ubuntu 16.04 ou version ultérieure ne sont pas prises en charge. Si elle est appelée, Compute Engine ignore le signal en mode invité.Vous ne pouvez pas suspendre des instances disposant de plus de 208 Go de mémoire.
Vous ne pouvez pas suspendre des instances auxquelles des disques protégés par CSEK sont associés.
Recommandation: Configurer l'ACPID
Si ce n'est pas déjà fait, connectez-vous à votre instance Linux.
Créez le dossier
events
dans le dossieracpi
:sudo mkdir -p /etc/acpi/events/
Configurez l'ACPID pour qu'il gère l'événement du bouton de mise en veille:
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOF
Créez le script de gestion des événements de mise en veille :
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOF
Configurez les autorisations pour le script :
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.sh
Pour que les modifications prennent effet, redémarrez l'ACPID:
sudo systemctl restart acpid.service
Si ce n'est pas déjà fait, connectez-vous à votre instance Linux.
Installez D-Bus:
sudo apt-get install dbus
Pour que les modifications prennent effet, redémarrez
logind
:sudo systemctl restart systemd-logind.service
Si aucun disque SSD local n'est associé à votre instance, consultez la section Suspendre une instance sans disque SSD local.
Si des disques SSD locaux sont associés à votre instance et que vous souhaitez supprimer ou conserver (Aperçu) les données de ces disques, consultez Suspendre une instance avec des disques SSD locaux.
Dans la console Google Cloud, accédez à la page Instances de VM.
Sélectionnez une ou plusieurs instances à suspendre.
Cliquez sur
Suspendre, puis sur Suspendre pour confirmer.INSTANCE_NAMES
: liste de noms d'instances séparés par des espaces (par exemple,instance-01 instance-02 instance-03
).ZONE
: zone où se trouvent les instancesPROJECT_ID
: ID du projet dans lequel se trouve l'instance.ZONE
: zone où se trouve l'instanceINSTANCE_NAME
: nom de l'instance.Pour conserver les données des disques SSD locaux associés à une instance (à l'exception des instances Z3), suspendez l'instance à l'aide de gcloud CLI ou de l'API REST.
Pour suspendre plusieurs instances simultanément, utilisez la console Google Cloud ou, pour les instances situées dans la même zone, la gcloud CLI.
Dans la console Google Cloud, accédez à la page Instances de VM.
Sélectionnez une ou plusieurs instances à suspendre.
Cliquez sur
Suspendre, puis sur Suspendre pour confirmer.Pour supprimer les données de SSD local, exécutez la commande
gcloud compute instances suspend
avec l'option--discard-local-ssd=true
:gcloud compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE
Pour conserver les données du SSD local, utilisez la commande
gcloud beta compute instances suspend
avec l'option--discard-local-ssd=false
:gcloud beta compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
INSTANCE_NAMES
: liste de noms d'instances séparés par des espaces (par exemple,instance-01 instance-02 instance-03
).ZONE
: zone où se trouvent les instancesPour supprimer les données de SSD local, envoyez une requête
POST
à la méthodeinstances.suspend
. Dans l'URL de la requête, incluez le paramètre de requêtediscardLocalSsd
défini surtrue
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=true
Pour conserver les données du SSD local, envoyez une requête
POST
à la méthodebeta.instances.suspend
. Dans l'URL de la requête, incluez le paramètre de requêtediscardLocalSsd
défini surfalse
:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=false
PROJECT_ID
: ID du projet dans lequel se trouve l'instance.ZONE
: zone où se trouve l'instanceINSTANCE_NAME
: nom de l'instance.Vous ne pouvez réactiver une instance que si la capacité est suffisante dans la zone où se trouve l'instance. Ce n'est généralement pas un problème. Si vous ne parvenez pas à réactiver une instance, réessayez plus tard.
Si vous avez associé des disques SSD locaux à l'instance et que vous avez choisi de conserver les données des disques SSD locaux lors de la suspension, vous devrez peut-être les réinstaller après la reprise. Pour en savoir plus, découvrez comment réinstaller des disques non de démarrage sur des instances Linux ou des instances Windows.
Dans la console Google Cloud, accédez à la page Instances de VM.
Sélectionnez une ou plusieurs instances suspendues à réactiver.
Cliquez sur
Démarrer / Réactiver, puis sur Démarrer.INSTANCE_NAMES
: liste de noms d'instances séparés par des espaces (par exemple,instance-01 instance-02 instance-03
).ZONE
: zone où se trouvent les instances suspendues.INSTANCE_NAME
: nom de l'instance de suspension à reprendre.PROJECT_ID
: ID du projet dans lequel se trouve l'instance suspendue.ZONE
: zone où se trouve l'instance suspendue.
Go
Pour utiliser les exemples Go de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Node.js
Pour utiliser les exemples Node.js de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
PHP
Pour utiliser les exemples PHP de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Rôles requis
Pour obtenir les autorisations nécessaires pour suspendre ou reprendre une instance Compute, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) sur l'instance. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.Ce rôle prédéfini contient les autorisations requises pour suspendre ou reprendre une instance de calcul. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour suspendre ou reprendre une instance de calcul:
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
Lorsque vous suspendez une instance de calcul, les limites suivantes s'appliquent:
Activer les opérations de suspension dans Debian 8 ou 9
Si une instance de calcul exécute Debian 8 et 9 comme OS invité, vous devez activer les opérations de suspension et de reprise avant de suspendre l'instance en procédant comme suit:
Configurer l'ACPID
Pour activer l'opération de suspension et de reprise dans Debian 8 ou 9, vous pouvez configurer le daemon d'événements ACPI (Advanced Configuration and Power Interface) (ACPID) pour qu'il gère l'événement du bouton de mise en veille. Après avoir activé l'événement du bouton de mise en veille profonde, vous pouvez ajouter un script shell pour gérer l'événement de mise en veille, comme décrit dans cette section.
Pour configurer l'ACPID pour qu'il prenne en charge les opérations de suspension et de reprise, procédez comme suit:
Installer D-Bus
Pour activer la suspension et la reprise dans Debian 8 ou 9, vous pouvez installer D-Bus.
Pour installer D-Bus dans l'OS invité de votre instance de calcul lorsque l'OS utilise Debian 8 ou 9, procédez comme suit:
Suspendre une instance
Si l'OS invité de votre instance de calcul utilise Debian 8 ou 9, vous devez configurer l'OS invité pour qu'il prenne en charge les opérations de suspension et de reprise, comme décrit dans ce document, avant de suspendre l'instance.
Pour suspendre une instance, utilisez l'une des méthodes suivantes, selon que des disques SSD locaux sont associés à l'instance:
Suspendre une instance sans disques SSD locaux
Vous pouvez suspendre plusieurs instances de calcul simultanément ou des instances individuelles. Pour plusieurs instances, utilisez la console Google Cloud ou, pour les instances situées dans la même zone, la Google Cloud CLI. Pour des instances individuelles, sélectionnez l'une des options suivantes:
Console
gcloud
Pour suspendre une ou plusieurs instances dans une seule zone, exécutez la commande
gcloud compute instances suspend
:gcloud compute instances suspend INSTANCE_NAMES \ --zone=ZONE
Remplacez les éléments suivants :
Go
Java
Node.js
PHP
Python
REST
Pour suspendre une instance, envoyez une requête
POST
à la méthodeinstances.suspend
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend
Remplacez les éléments suivants :
Suspendre une instance avec des disques SSD locaux
En fonction du nombre d'instances de calcul que vous souhaitez suspendre simultanément et si vous devez conserver les données de leurs disques SSD locaux associés, procédez comme suit:
Pour suspendre une ou plusieurs instances auxquelles sont associés des disques SSD locaux, sélectionnez l'une des options suivantes:
Console
gcloud
Lorsque vous suspendez une ou plusieurs instances dans une seule zone associées à des disques SSD locaux, indiquez si vous souhaitez supprimer ou conserver les données des disques SSD locaux comme suit:
Remplacez les éléments suivants :
REST
Lorsque vous suspendez une instance à laquelle des disques SSD locaux sont associés, indiquez si vous souhaitez supprimer ou conserver les données de SSD locaux comme suit:
Remplacez les éléments suivants :
Réactiver une instance suspendue
Avant de réactiver une instance de calcul suspendue, tenez compte des points suivants:
Vous pouvez reprendre plusieurs instances simultanément ou des instances individuelles. Pour plusieurs instances, utilisez la console Google Cloud ou, pour les instances situées dans la même zone, la CLI gcloud. Pour des instances individuelles, sélectionnez l'une des options suivantes:
Console
gcloud
Pour réactiver une ou plusieurs instances suspendues dans une seule zone, utilisez la commande
gcloud compute instances resume
:gcloud compute instances resume INSTANCE_NAMES \ --zone=ZONE
Remplacez les éléments suivants :
Go
Java
Node.js
PHP
Python
REST
Pour réactiver une instance suspendue, envoyez une requête
POST
à la méthodeinstances.resume
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/resume
Remplacez les éléments suivants :
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/02/14 (UTC).
-