Cette page explique comment arrêter et démarrer une instance de machine virtuelle (VM). Notez que Compute Engine utilise
STOP
et TERMINATE
de manière interchangeable. Pour suspendre et réactiver une VM, consultez la page Suspendre et réactiver une VM.
Pour en savoir plus sur l'arrêt et la suspension d'une VM, consultez la page Cycle de vie des instances de VM.
Dans la plupart des cas, vous pouvez arrêter temporairement une VM si vous n'en avez plus besoin, puis la redémarrer ultérieurement. Pour connaître les exceptions, consultez la section Restrictions. Une VM arrêtée conserve ses disques persistants, ses adresses IP internes et ses adresses MAC. Cependant, elle arrête le système d'exploitation invité et perd l'état de l'application. Si vous devez conserver le système d'exploitation invité et l'état de l'application, suspendez plutôt la VM. En fait, une VM arrêtée revient à son état de mise sous tension et aucune donnée n'est enregistrée. Arrêtez une VM si vous souhaitez modifier le type de machine, ajouter ou supprimer des disques associés, modifier la configuration minimale de la plate-forme du processeur, ajouter ou supprimer des GPU, ou appliquer des recommandations de types de machines.
Lorsque vous arrêtez une VM, Compute Engine lui envoie le signal d'arrêt ACPI. Les systèmes d'exploitation invités modernes sont configurés de manière à effectuer un arrêt normal avant de s'éteindre en réponse au signal de mise hors tension.
Compute Engine attend donc un court instant jusqu'à l'arrêt complet de l'invité, puis transitionne la VM à l'état TERMINATED
.
Avant de commencer
- Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, procédez comme suit :
- Installez la dernière version de Google Cloud CLI ou appliquez la mise à jour correspondante.
- Définissez une région et une zone par défaut.
- Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
Restrictions
Vous ne pouvez pas arrêter ou démarrer une VM dotée d'un disque SSD local associé. Toutefois, si la VM utilise des disques SSD locaux, Compute Engine ne vous empêche pas d'arrêter la VM depuis le système d'exploitation invité. Si vous arrêtez une VM dotées de disques SSD locaux via le système d'exploitation invité, vous ne pourrez pas la redémarrer ultérieurement, et les données stockées sur le disque SSD local seront perdues. Assurez-vous de migrer vos données critiques du disque SSD local vers un disque persistant ou vers une autre VM avant de supprimer la VM.
Facturation
Les VM à l'état TERMINATED
ne sont pas facturées pour une utilisation à la seconde et ne sont pas comptabilisées dans votre quota régional de processeurs. Toutefois, toutes les ressources associées à la VM, telles que les disques persistants et les adresses IP externes, sont facturées jusqu'à leur suppression. Pour ne plus être facturé pour les ressources associées, vous pouvez reconfigurer une VM arrêtée pour qu'elle ne les utilise plus, puis les supprimer.
Vous pouvez donc choisir d'arrêter les VM que vous n'utilisez pas, et éviter ainsi d'être facturé pour des VM inactives. Lorsque vous êtes prêt, vous pouvez redémarrer les VM avec les mêmes propriétés, métadonnées et ressources de VM.
Arrêter une VM
Pour arrêter une VM, utilisez Google Cloud Console, gcloud CLI ou l'API Compute Engine.
Console
Dans Cloud Console, accédez à la page Instances de VM.
Sélectionnez une ou plusieurs VM à arrêter.
Cliquez sur Stop (Arrêter).
gcloud
Pour arrêter des VM, exécutez la commande gcloud compute instances stop
, et spécifiez une ou plusieurs VM que vous souhaitez arrêter :
gcloud compute instances stop VM_NAME
Remplacez VM_NAME
par le nom de la VM à arrêter.
API
Pour arrêter une VM, envoyez une requête POST
à l'aide de la méthode instances.stop
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Remplacez l'élément suivant :
PROJECT_ID
: le projet dans lequel se trouve votre VM.ZONE
: zone où se trouve votre VM.VM_NAME
: nom de la VM à arrêter.
Go
Java
Node.js
PHP
Python
Une VM à l'état TERMINATED
existe toujours avec ses paramètres de configuration et ses métadonnées d'instance, mais elle perd ses données en mémoire et son état de machine virtuelle. Toutes les ressources associées à la VM arrêtée le resteront jusqu'à ce que vous dissociiez manuellement ces ressources ou que vous supprimiez la VM.
Lorsqu'une VM est à l'état TERMINATED
, vous pouvez la démarrer ou la supprimer. Si vous n'envisagez pas de démarrer la VM, supprimez-la.
Arrêter une VM via le système d'exploitation
Vous pouvez éventuellement arrêter une VM via le système d'exploitation invité à l'aide de la commande sudo shutdown -h now
ou sudo poweroff
. Utilisez ces commandes pour arrêter une VM qui utilise des disques SSD locaux. Exécutez l'une des commandes suivantes lorsque vous êtes connecté à la VM :
sudo shutdown -h now
sudo poweroff
Démarrer une VM arrêtée qui n'est pas associée à un disque chiffré
Pour démarrer une VM arrêtée, utilisez la méthode instances().start
.
Cette méthode démarre une VM arrêtée dont l'état est TERMINATED
.
La méthode start
démarre une VM à l'état TERMINATED
, tandis que les méthodes telles que reset()
et sudo reboot
ne fonctionnent qu'avec les VM en cours d'exécution.
Presque toutes les VM, y compris les VM préemptives, peuvent être démarrées si leur état est TERMINATED
.
Console
Dans Google Cloud Console, accédez à la page Instances de VM.
Sélectionnez une ou plusieurs VM à démarrer.
Cliquez sur Démarrer/Réactiver.
gcloud
Pour démarrer des VM, exécutez la commande gcloud compute instances start
, et spécifiez une ou plusieurs VM que vous souhaitez démarrer :
gcloud compute instances start VM_NAME
Remplacez VM_NAME
par le nom de la VM à démarrer.
API
Pour démarrer une VM, envoyez une requête POST
à l'aide de la méthode instances.start
:
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Remplacez l'élément suivant :
PROJECT_ID
: le projet dans lequel se trouve votre VM.ZONE
: zone où se trouve votre VM.VM_NAME
: nom de la VM à démarrer.
Go
Java
Node.js
PHP
Python
Démarrer une VM associée à des disques chiffrés
Si la VM que vous souhaitez démarrer utilise des clés de chiffrement fournies par le client, vous devez les indiquer lorsque vous essayez de démarrer cette VM.
Console
Dans Google Cloud Console, accédez à la page Instances de VM.
Sélectionnez la VM que vous souhaitez démarrer.
Cliquez sur Démarrer/Réactiver. Une fenêtre s'ouvre dans laquelle vous pouvez spécifier des clés de chiffrement pour les périphériques associés à cette VM.
Spécifiez la clé de chiffrement de chaque disque chiffré associé à cette VM.
Cliquez sur Démarrer pour démarrer la VM.
gcloud
Pour démarrer une VM qui utilise des clés de chiffrement, exécutez la commande gcloud compute instances
start
avec l'option --csek-key-file
gcloud beta
.
gcloud compute instances start VM_NAME \ --csek-key-file ENCRYPTION_KEY_FILE
Remplacez l'élément suivant :
VM_NAME
: nom de la VM à démarrer.ENCRYPTION_KEY_FILE
: chemin d'accès relatif au fichier JSON contenant la clé de chiffrement. Cette clé permet de chiffrer les disques persistants associés à la VM. Pour en savoir plus, consultez la section Format du fichier de clé de chiffrement.
API
Pour démarrer une VM qui possède des clés de chiffrement, envoyez une requête POST
à l'aide de la méthode instances.startWithEncryptionKey
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/startWithEncryptionKey { "disks": [ { "source": "DISK_URL", "diskEncryptionKey": { "ENCRYPTION_TYPE": "ENCRYPTION_KEY" } } ] }
Remplacez l'élément suivant :
PROJECT_ID
: le projet dans lequel se trouve votre VM.ZONE
: zone où se trouve votre VM.VM_NAME
: nom de la VM à démarrer.DISK_URL
: URL de la ressource correspondant au nom complet de la ressource du disque associé qui est chiffré avec une clé de chiffrement fournie par le client.ENCRYPTION_TYPE
: type de chiffrement de disque que vous utilisez (rawKey
,kmsKeyName
oursaEncryptedKey
). Si vous utilisez le chiffrementrsaEncryptedKey
, vous devez utiliser l'API bêta plutôt que l'API v1.ENCRYPTION_KEY
: clé de chiffrement que vous utilisez pour chiffrer les disques persistants associés à la VM. Les clés de typerawKey
oursaEncryptedKey
doivent être encodées en base64. Préparez une clé de typersaEncryptedKey
en suivant les instructions de la section Encapsuler une clé RSA.
Go
Java
Node.js
PHP
Python
Réinitialiser une VM
La réinitialisation de votre VM revient à effectuer une réinitialisation matérielle sur votre ordinateur, en appuyant sur un bouton de réinitialisation ou en maintenant enfoncé le bouton Marche/Arrêt. La réinitialisation forcée d'une VM efface le contenu de la mémoire de la machine et rétablit l'état initial de la VM. La VM ne procède pas à un arrêt normal du système d'exploitation invité. Tout au long de ce processus, la VM reste à l'état RUNNING
.
Pour réinitialiser une VM en cours d'exécution, utilisez Google Cloud Console, gcloud CLI ou l'API Compute Engine.
Console
Dans Google Cloud Console, accédez à la page Instances de VM.
Sélectionnez une ou plusieurs VM à réinitialiser.
Cliquez sur Réinitialiser.
gcloud
Pour réinitialiser des VM en cours d'exécution, exécutez la commande gcloud compute instances reset
, et spécifiez une ou plusieurs VM que vous souhaitez réinitialiser :
gcloud compute instances reset VM_NAME
Remplacez VM_NAME
par le nom de la VM à réinitialiser.
API
Pour réinitialiser une VM, envoyez une requête POST
à l'aide de la méthode instances.reset
:
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/reset
Remplacez l'élément suivant :
PROJECT_ID
: le projet dans lequel se trouve votre VM.ZONE
: zone où se trouve votre VM.VM_NAME
: nom de la VM à réinitialiser.
Go
Java
Node.js
PHP
Python
Lorsque vous exécutez la commande reset
, l'opération de zone suivante renvoie l'état DONE
une fois la VM arrêtée.
Autres méthodes de démarrage
Vous pouvez également choisir de réinitialiser votre VM à l'aide des méthodes suivantes :
sudo reboot
(seulement sous Linux) : appelez cette méthode à partir de la VM. Elle efface la mémoire et réinitialise la VM avec les métadonnées, l'image et les disques persistants d'origine. Cette commande ne récupère pas les versions mises à jour de l'image, et la VM conserve la même adresse IP éphémère. Cette méthode revient à redémarrer votre ordinateur.- Redémarrer une VM Windows : vous pouvez redémarrer une VM Windows, comme pour
sudo reboot
dans l'exemple précédent, à l'aide du menu Démarrer. Dans le menu Démarrer, cliquez sur la flèche située à côté du bouton Déconnexion, puis sur Redémarrer.
Étape suivante
- Découvrez comment programmer automatiquement le démarrage et l'arrêt de vos VM.
- Découvrez comment résoudre les problèmes liés aux arrêts et aux redémarrages des VM.
- Utilisez la console série interactive pour dépanner une VM.
- Apprendre à changer le type de machine.