Ce document explique comment réduire le temps d'arrêt d'une instance Compute Engine en configurant l'instance pour qu'elle ignore l'arrêt de l'OS invité lors de l'arrêt ou de la suppression.
Si vous configurez une instance pour qu'elle ignore l'arrêt de l'OS invité lors de l'arrêt ou de la suppression, Compute Engine arrête immédiatement l'OS invité lorsque l'état de l'instance passe à STOPPING
. Cette action vous permet de libérer plus rapidement du quota ou des ressources en accélérant l'arrêt ou la suppression d'une instance. Pour en savoir plus sur les phases qu'une instance traverse lors de l'arrêt ou de la suppression, y compris l'intervalle par défaut pour l'arrêt propre du système d'exploitation invité, consultez Opération d'arrêt.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . 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:
gcloud
-
Installez la Google Cloud CLI. Une fois l'installation terminée, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
- Set a default region and zone.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI. Une fois l'installation terminée, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
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 configurer une instance afin qu'elle ignore l'arrêt de l'OS invité, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) sur votre projet. 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 configurer une instance afin qu'elle ignore l'arrêt de l'OS invité. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour configurer une instance afin qu'elle ignore l'arrêt de l'OS invité :
-
Pour créer une instance :
compute.instances.create
sur le projet- Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnly
sur l'image - Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnly
sur l'instantané - Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnly
sur le modèle d'instance - Pour attribuer un ancien réseau à la VM :
compute.networks.use
sur le projet - Pour spécifier une adresse IP statique pour la VM :
compute.addresses.use
sur le projet - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau :
compute.networks.useExternalIp
sur le projet - Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.use
sur le projet ou sur le sous-réseau choisi - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un réseau VPC :
compute.subnetworks.useExternalIp
sur le projet ou sur le sous-réseau choisi - Pour définir les métadonnées d'instance de VM pour la VM :
compute.instances.setMetadata
sur le projet - Pour définir des tags pour la VM :
compute.instances.setTags
sur la VM - Pour définir des libellés pour la VM :
compute.instances.setLabels
sur la VM - Pour définir un compte de service à utiliser avec la VM :
compute.instances.setServiceAccount
sur la VM - Pour créer un disque pour la VM :
compute.disks.create
sur le projet - Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture :
compute.disks.use
sur le disque - Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnly
sur le disque
-
Pour créer un modèle d'instance :
compute.instanceTemplates.create
sur le projet. -
Pour mettre à jour une instance :
compute.instances.update
sur l'instance
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer des instances pour ignorer l'arrêt de l'OS invité
Pour configurer une instance de calcul afin qu'elle ignore l'arrêt de l'OS invité lorsque vous arrêtez ou supprimez l'instance, utilisez l'une des méthodes suivantes :
Configurer l'arrêt de l'OS invité dans une instance existante
Configurer l'arrêt de l'OS invité lors de la création d'une instance
Configurer l'arrêt de l'OS invité lorsque vous créez des instances de manière groupée
Configurer l'arrêt de l'OS invité lors de la création d'un modèle d'instance
Configurer l'arrêt de l'OS invité dans une instance existante
Vous ne pouvez configurer une instance de calcul pour qu'elle ignore l'arrêt du système d'exploitation invité que si l'instance est arrêtée (
TERMINATED
).Pour configurer une instance afin qu'elle ignore l'arrêt de l'OS invité, sélectionnez l'une des options suivantes :
gcloud
Si vous ne l'avez pas déjà fait, arrêtez l'instance.
Pour configurer une instance afin qu'elle ignore l'arrêt de l'OS invité, utilisez la commande
gcloud beta compute instances set-scheduling
avec l'indicateur--skip-guest-os-shutdown
:gcloud compute instances set-scheduling INSTANCE_NAME \ --skip-guest-os-shutdown \ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.ZONE
: zone où se trouve l'instance.
REST
Si vous ne l'avez pas déjà fait, arrêtez l'instance.
Pour configurer une instance afin qu'elle ignore l'arrêt de l'OS invité, envoyez une requête
POST
à la méthodeinstances.setScheduling
. Dans le corps de la requête, incluez le champskipGuestOsShutdown
et définissez-le surtrue
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "skipGuestOsShutdown": true }
Pour savoir comment mettre à jour une instance, consultez Mettre à jour les propriétés d'une instance.
Configurer l'arrêt de l'OS invité lors de la création d'une instance
Pour créer une instance de calcul configurée pour ignorer l'arrêt de l'OS invité, sélectionnez l'une des options suivantes :
gcloud
Pour créer une instance configurée pour ignorer l'arrêt de l'OS invité, exécutez la commande
gcloud compute instances create
avec l'option--skip-guest-os-shutdown
:gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown \ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.MACHINE_TYPE
: type de machine à utiliser pour l'instance.ZONE
: zone dans laquelle vous souhaitez créer l'instance.
REST
Pour créer une instance configurée pour ignorer l'arrêt de l'OS invité, envoyez une requête
POST
à la méthodeinstances.insert
. Dans le corps de la requête, incluez le champskipGuestOsShutdown
défini surtrue
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer l'instance.ZONE
: zone dans laquelle vous souhaitez créer l'instance.INSTANCE_NAME
: nom de l'instance.MACHINE_TYPE
: type de machine à utiliser pour l'instance.IMAGE_PROJECT
: projet contenant l'image, par exemple,debian-cloud
. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.IMAGE
: spécifiez l'une des options suivantes :Version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617
Une famille d'images, que vous devez mettre au format
family/IMAGE_FAMILY
. Cette valeur spécifie l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12
, Compute Engine utilise la dernière version de la famille d'images Debian 12. Pour en savoir plus sur l'utilisation des familles d'images, consultez les bonnes pratiques concernant les familles d'images.
Pour en savoir plus sur la création d'une instance, consultez Créer et démarrer une instance Compute Engine.
Configurer l'arrêt de l'OS invité lors de la création groupée d'instances
Pour créer de manière groupée des instances de calcul configurées pour ignorer l'arrêt de l'OS invité, sélectionnez l'une des options suivantes :
gcloud
Pour créer de manière groupée des instances configurées pour ignorer l'arrêt de l'OS invité, utilisez la commande
gcloud compute instances bulk create
avec l'option--skip-guest-os-shutdown
.Par exemple, pour créer des instances de manière groupée qui utilisent un format de nom dans une seule zone, exécutez la commande suivante :
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --skip-guest-os-shutdown \ --zone=ZONE
Remplacez les éléments suivants :
COUNT
: nombre d'instances à créer.MACHINE_TYPE
: type de machine à utiliser pour les instances.NAME_PATTERN
: modèle de nom des instances. Pour remplacer une séquence de nombres dans un nom d'instance, utilisez une séquence de caractères de hachage (#
). Par exemple, si vous utilisezinstance-#
comme modèle de nom, Compute Engine génère des instances dont les noms commencent parinstance-1
,instance-2
, et ainsi de suite, jusqu'au nombre d'instances que vous spécifiez dansCOUNT
.ZONE
: zone dans laquelle vous souhaitez créer des instances.
REST
Pour créer des instances de manière groupée qui sont configurées pour ignorer l'arrêt de l'OS invité, envoyez une requête
POST
à la méthodeinstances.bulkInsert
. Dans le corps de la requête, incluez le champskipGuestOsShutdown
défini surtrue
.Par exemple, pour créer des instances de manière groupée qui utilisent un format de nom dans une seule zone, envoyez une requête
POST
comme suit :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer des instances de manière groupée.ZONE
: zone dans laquelle vous souhaitez créer des instances.COUNT
: nombre d'instances à créer.NAME_PATTERN
: modèle de nom des instances. Pour remplacer une séquence de nombres dans un nom d'instance, utilisez une séquence de caractères de hachage (#
). Par exemple, si vous utilisezinstance-#
comme modèle de nom, Compute Engine génère des instances dont les noms commencent parinstance-1
,instance-2
, et ainsi de suite, jusqu'au nombre d'instances que vous spécifiez dansCOUNT
.MACHINE_TYPE
: type de machine à utiliser pour les instances.IMAGE_PROJECT
: projet contenant l'image, par exemple,debian-cloud
. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.IMAGE
: spécifiez l'une des options suivantes :Version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617
Une famille d'images, que vous devez mettre au format
family/IMAGE_FAMILY
. Cette valeur spécifie l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12
, Compute Engine utilise la dernière version de la famille d'images Debian 12. Pour en savoir plus sur l'utilisation des familles d'images, consultez les bonnes pratiques concernant les familles d'images.
Pour savoir comment créer des instances de manière groupée, consultez Créer des instances de manière groupée.
Configurer l'arrêt de l'OS invité lors de la création d'un modèle d'instance
Après avoir créé un modèle d'instance configuré pour ignorer l'arrêt de l'OS invité lorsque vous arrêtez ou supprimez des instances de calcul, vous pouvez utiliser le modèle d'instance pour effectuer les opérations suivantes :
Vous pouvez configurer les instances d'un groupe d'instances géré (MIG) pour qu'elles ignorent l'arrêt du système d'exploitation invité lors de l'arrêt ou de la suppression lorsque vous effectuez les opérations suivantes :
Créer une instance configurée pour ignorer l'arrêt du système d'exploitation invité
Pour créer un modèle d'instance configuré pour ignorer l'arrêt de l'OS invité, sélectionnez l'une des options suivantes :
gcloud
Pour créer un modèle d'instance configuré pour ignorer l'arrêt de l'OS invité, utilisez la commande
gcloud compute instance-templates create
avec l'option--skip-guest-os-shutdown
.Par exemple, pour créer un modèle d'instance régional qui spécifie d'ignorer l'arrêt de l'OS invité, exécutez la commande suivante. Si vous souhaitez créer un modèle d'instance global, utilisez la même commande sans l'option
--instance-template-region
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown
Remplacez les éléments suivants :
INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.REGION
: région dans laquelle vous souhaitez créer le modèle d'instance.MACHINE_TYPE
: type de machine à spécifier dans le modèle d'instance.
REST
Pour créer un modèle d'instance configuré pour ignorer l'arrêt de l'OS invité, envoyez une requête
POST
à l'une des méthodes suivantes :Pour créer un modèle d'instance global : méthode
instanceTemplates.insert
Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insert
Dans le corps de la requête, incluez le champ
skipGuestOsShutdown
défini surtrue
.Par exemple, pour créer un modèle d'instance régional qui spécifie d'ignorer l'arrêt de l'OS invité, envoyez une requête
POST
comme suit :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "skipGuestOsShutdown": true } } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer le modèle d'instance.REGION
: région dans laquelle vous souhaitez créer le modèle d'instance.INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.IMAGE_PROJECT
: projet contenant l'image, par exemple,debian-cloud
. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.IMAGE
: spécifiez l'une des options suivantes :Version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617
Une famille d'images, qui doit être au format
family/IMAGE_FAMILY
. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12
, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
MACHINE_TYPE
: type de machine à spécifier dans le modèle d'instance.
Pour en savoir plus sur la création d'un modèle d'instance, consultez la section Créer des modèles d'instances.
Afficher le paramètre d'arrêt du système d'exploitation invité
Vous pouvez vérifier si Compute Engine ignore l'arrêt de l'OS invité lorsque vous arrêtez ou supprimez une instance de calcul.
Pour afficher le temps d'arrêt de l'OS invité dans une instance, sélectionnez l'une des options suivantes :
gcloud
Pour afficher les détails d'une instance et savoir si elle ignore l'arrêt de l'OS invité, utilisez la commande
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instance.ZONE
: zone où se trouve l'instance.
Si vous avez configuré l'instance pour ignorer l'arrêt de l'OS invité, la sortie contient le champ
skipGuestOsShutdown
défini surtrue
, comme dans l'exemple suivant :... scheduling: automaticRestart: true skipGuestOsShutdown: true onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD ...
Sinon, si le champ
skipGuestOsShutdown
est manquant ou défini surfalse
, l'OS invité utilise le délai d'arrêt par défaut.REST
Pour afficher les détails d'une instance et savoir si elle ignore l'arrêt de l'OS invité, envoyez une requête
GET
à la méthodeinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel l'instance existe.ZONE
: zone où se trouve l'instance.INSTANCE_NAME
: nom de l'instance.
Si vous avez configuré l'instance pour ignorer l'arrêt de l'OS invité, la sortie contient le champ
skipGuestOsShutdown
défini surtrue
, comme dans l'exemple suivant :{ ... "scheduling": { "automaticRestart": true, "skipGuestOsShutdown": true, "onHostMaintenance": "MIGRATE", "preemptible": false, "provisioningModel": "STANDARD" }, ... }
Sinon, si le champ
skipGuestOsShutdown
est manquant ou défini surfalse
, l'OS invité utilise le délai d'arrêt par défaut.Étapes suivantes
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/09/25 (UTC).
-