Ce document explique comment activer l'arrêt correct dans une instance Compute Engine nouvelle ou existante. Pour en savoir plus sur l'arrêt correct, consultez la section Présentation de l'arrêt correct.
Lorsque vous activez l'arrêt propre dans une instance, vous pouvez accorder jusqu'à une heure à son système d'exploitation invité pour qu'il s'arrête correctement lorsque vous arrêtez ou supprimez l'instance. Cela permet d'éviter toute perte de données ou corruption de systèmes de fichiers.
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.
-
Pour créer des instances :
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 activer l'arrêt correct dans une instance existante :
compute.instances.update
sur l'instance Activer l'arrêt correct lors de la création d'instances groupées
Activer l'arrêt élégant lors de la création d'un modèle d'instance
Dans la console Google Cloud, accédez à la page Instances de VM.
Dans la colonne Nom, cliquez sur le nom de l'instance dans laquelle vous souhaitez activer l'arrêt correct.
La page d'informations de l'instance s'affiche.
Cliquez sur
Modifier.Dans la section Gestion, procédez comme suit:
Cochez la case Arrêter progressivement la VM.
Facultatif: Pour spécifier une période d'arrêt correcte personnalisée, spécifiez une durée dans le champ Durée maximale.
Cliquez sur Enregistrer.
INSTANCE_NAME
: nom de l'instance.ZONE
: zone où se trouve l'instanceCréez un fichier JSON vide.
Pour afficher les propriétés d'une instance existante, envoyez une requête
GET
à la méthodeinstances.get
bêta:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel se trouve l'instance.ZONE
: zone où se trouve l'instanceINSTANCE_NAME
: nom d'une instance existante.
Dans le fichier JSON vide que vous avez créé lors des étapes précédentes, procédez comme suit :
Saisissez les informations de configuration de l'instance à partir de la sortie de la requête
GET
.Dans le champ
scheduling
, ajoutez le champgracefulShutdown
comme suit:{ ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Si vous le souhaitez, pour spécifier une période d'arrêt correcte personnalisée, incluez le champ
maxDuration
:{ ... "scheduling": { ... "gracefulShutdown": { ... "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } }, ... }
Remplacez
MAX_DURATION
par une durée en secondes pour la période d'arrêt correct. La valeur doit être comprise entre1
et3600
, soit 3 600 secondes (une heure).
Pour mettre à jour l'instance et la redémarrer, envoyez une requête
PUT
à la méthodeinstances.update
bêta. Dans la requête, procédez comme suit :Dans l'URL de la requête, incluez le paramètre de requête
mostDisruptiveAllowedAction
défini surRESTART
.Dans le corps de la requête, incluez les propriétés de l'instance du fichier JSON que vous avez créé et mis à jour aux étapes précédentes.
La requête
PUT
permettant de mettre à jour l'instance se présente comme suit:PUT https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Dans la console Google Cloud, accédez à la page Instances de VM.
Cliquez sur Créer une instance.
La page Créer une instance s'ouvre.
Renseignez un nom pour l'instance.
Spécifiez la région et la zone dans lesquelles créer l'instance.
Spécifiez un type de machine pour l'instance.
Dans le menu de navigation, cliquez sur Avancé.
Développez la section
Paramètres avancés du modèle de provisionnement de la VM, puis procédez comme suit:Cochez la case Arrêter progressivement la VM.
Facultatif: Pour spécifier une période d'arrêt correcte personnalisée, spécifiez une durée dans le champ Durée maximale.
Cliquez sur Créer.
INSTANCE_NAME
: nom de l'instance.MACHINE_TYPE
: type de machine à utiliser pour l'instance.ZONE
: zone dans laquelle créer l'instance.PROJECT_ID
: ID du projet dans lequel créer l'instance.ZONE
: zone dans laquelle créer l'instance.INSTANCE_NAME
: nom de l'instance.MACHINE_TYPE
: type de machine de 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, qui doit être au format
family/IMAGE_FAMILY
. Ce format spécifie 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.
COUNT
: nombre d'instances à créer.MACHINE_TYPE
: type de machine des 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, le modèle de nominstance-#
génère des instances dont les noms commencent parinstance-1
,instance-2
, etc., jusqu'au nombre d'instances spécifié parCOUNT
.ZONE
: zone dans laquelle créer des instances de manière groupée.PROJECT_ID
: ID du projet dans lequel créer des instances de manière groupée.ZONE
: zone dans laquelle créer des instances de manière groupée.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, le modèle de nominstance-#
génère des instances dont les noms commencent parinstance-1
,instance-2
, etc., jusqu'au nombre d'instances spécifié parCOUNT
.MACHINE_TYPE
: type de machine des 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, qui doit être au format
family/IMAGE_FAMILY
. Ce formatage spécifie 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.
ZONE
: zone dans laquelle créer des instances de manière groupée.Dans la console Google Cloud, accédez à la page Modèles d'instances.
Cliquez sur Créer un modèle d'instance.
La page Créer un modèle d'instance s'ouvre.
Dans le champ Nom, saisissez un nom pour le modèle d'instance.
Sélectionnez l'emplacement comme suit :
Pour réduire la dépendance interrégionale en créant un modèle d'instance régional, procédez comme suit:
Sélectionnez Régional, si ce n'est pas déjà fait.
Dans le champ Région, sélectionnez la région dans laquelle créer le modèle d'instance.
Sinon, pour utiliser le modèle d'instance dans plusieurs régions, sélectionnez Global.
Dans la section Configuration de la machine, spécifiez un type de machine.
Développez la section
Paramètres avancés du modèle de provisionnement de la VM, puis procédez comme suit:Cochez la case Arrêter progressivement la VM.
Facultatif: Pour spécifier une période d'arrêt correcte personnalisée, spécifiez une durée dans le champ Durée maximale.
Cliquez sur Créer.
INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.REGION
: région dans laquelle créer le modèle d'instance.MACHINE_TYPE
: type de machine des instances créées à l'aide du modèle d'instance.Pour créer un modèle d'instance global : méthode
instanceTemplates.insert
bêta.Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insert
bêta.PROJECT_ID
: ID du projet dans lequel créer le modèle d'instance.REGION
: région dans laquelle 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
. Ce formatage spécifie 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 des instances créées à l'aide du modèle d'instance.
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 activer l'arrêt correct dans une instance Compute, 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 activer l'arrêt correct dans 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 activer l'arrêt correct dans une instance de calcul:
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Activer l'arrêt progressif
Pour activer l'arrêt correct dans une instance de calcul, utilisez l'une des méthodes suivantes:
Activer l'arrêt progressif dans une instance existante
Vous pouvez activer l'arrêt élégant dans une instance de calcul existante sans l'arrêter ni la redémarrer. La période d'arrêt correct par défaut est de 10 minutes, mais vous pouvez spécifier une période d'arrêt personnalisée comprise entre une seconde et une heure.
Pour activer l'arrêt correct dans une instance existante, sélectionnez l'une des options suivantes:
Console
gcloud
Pour activer l'arrêt correct dans une instance existante, exécutez la commande
gcloud beta compute instances update
avec l'option--graceful-shutdown
:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --zone=ZONE
Remplacez les éléments suivants :
Si vous le souhaitez, pour spécifier une période d'arrêt élégant personnalisée, incluez l'indicateur
--graceful-shutdown-max-duration
:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --zone=ZONE
Remplacez
MAX_DURATION
par une durée pour la période d'arrêt. La valeur doit être formatée en nombre d'heures, de minutes ou de secondes, suivis respectivement deh
,m
ets
. Par exemple, spécifiez1h
pour une heure ou20m10s
pour 20 minutes et 10 secondes.REST
Pour en savoir plus sur la mise à jour des propriétés d'une instance, consultez la section Mettre à jour les propriétés d'une instance.
Activer l'arrêt progressif lors de la création d'une instance
Lorsque vous créez une instance Compute Engine avec l'arrêt de manière appropriée activé, la période d'arrêt par défaut est de 10 minutes. Vous pouvez éventuellement spécifier une période d'arrêt personnalisée comprise entre une seconde et une heure.
Pour créer une instance avec l'arrêt élégant activé, sélectionnez l'une des options suivantes:
Console
gcloud
Pour créer une instance avec l'arrêt élégant activé, exécutez la commande
gcloud beta compute instances create
avec l'option--graceful-shutdown
:gcloud beta compute instances create INSTANCE_NAME \ --graceful-shutdown \ --machine-type=MACHINE_TYPE \ --zone=ZONE
Remplacez les éléments suivants :
Si vous le souhaitez, pour spécifier une période d'arrêt correcte personnalisée, incluez l'indicateur
--graceful-shutdown-max-duration
:gcloud beta compute instances create INSTANCE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --machine-type=MACHINE_TYPE \ --zone=ZONE
Remplacez
MAX_DURATION
par une durée pour la période d'arrêt correct. La valeur doit être formatée en nombre d'heures, de minutes ou de secondes, suivis respectivement deh
,m
ets
. Par exemple, spécifiez1h
pour une heure ou20m10s
pour 20 minutes et 10 secondes.REST
Pour créer une instance avec l'arrêt élégant activé, envoyez une requête
POST
à la méthodebeta.instances.insert
. Dans le corps de la requête, incluez le champgracefulShutdown
:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true } } }
Remplacez les éléments suivants :
Vous pouvez également spécifier une période d'arrêt correct personnalisé en incluant le champ
maxDuration
dans le corps de la requête:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } }
Remplacez
MAX_DURATION
par une durée en secondes pour la période d'arrêt correct. La valeur doit être comprise entre1
et3600
, soit 3 600 secondes (une heure).Pour en savoir plus sur les options de configuration lorsque vous créez une instance, consultez la section Créer et démarrer une instance Compute Engine.
Activer l'arrêt progressif lors de la création groupée d'instances
Lorsque vous créez des instances de calcul de manière groupée et que l'arrêt de manière élégante est activé, la période d'arrêt par défaut est de 10 minutes. Vous pouvez éventuellement spécifier une période d'arrêt personnalisée comprise entre une seconde et une heure.
Pour créer des instances de manière groupée avec l'arrêt correctif activé, sélectionnez l'une des options suivantes:
gcloud
Pour créer de manière groupée des instances dont l'arrêt correct est activé, exécutez la commande
gcloud beta compute instances bulk create
avec l'option--graceful-shutdown
.Par exemple, pour créer des instances de manière groupée dans une seule zone et spécifier un format de nom pour les instances, exécutez la commande suivante:
gcloud beta compute instances bulk create \ --count=COUNT \ --graceful-shutdown \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --zone=ZONE
Remplacez les éléments suivants :
Si vous le souhaitez, pour spécifier une période d'arrêt correcte personnalisée, incluez l'indicateur
--graceful-shutdown-max-duration
:gcloud beta compute instances bulk create \ --count=COUNT \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --zone=ZONE
Remplacez
MAX_DURATION
par une durée pour la période d'arrêt correct. La valeur doit être formatée en nombre d'heures, de minutes ou de secondes, suivis respectivement deh
,m
ets
. Par exemple, spécifiez1h
pour une heure ou20m10s
pour 20 minutes et 10 secondes.REST
Pour créer des instances de manière groupée avec l'arrêt correctif activé, envoyez une requête
POST
à la méthodeinstances.bulkInsert
bêta. Dans le corps de la requête, incluez le champgracefulShutdown
.Par exemple, pour créer des instances de manière groupée dans une seule zone et spécifier un format de nom pour les instances, envoyez une requête
POST
comme suit:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true } } } }
Remplacez les éléments suivants :
Vous pouvez également spécifier une période d'arrêt correct personnalisé en incluant le champ
maxDuration
dans le corps de la requête:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } } }
Remplacez
MAX_DURATION
par une durée en secondes pour la période d'arrêt correct. La valeur doit être comprise entre1
et3600
, soit 3 600 secondes (une heure).Pour en savoir plus sur les options de configuration lorsque vous créez des instances de manière groupée, consultez la section Créer des VM de manière groupée.
Activer l'arrêt élégant lors de la création d'un modèle d'instance
Lorsque vous créez un modèle d'instance avec l'arrêt de manière appropriée activé, la période d'arrêt par défaut est de 10 minutes. Vous pouvez éventuellement spécifier une période d'arrêt personnalisée comprise entre une seconde et une heure.
L'arrêt correct est activé pour toutes les instances Compute créées à l'aide du modèle d'instance.
Pour créer un modèle d'instance avec l'arrêt correctif activé, sélectionnez l'une des options suivantes:
Console
gcloud
Pour créer un modèle d'instance avec l'arrêt correctif activé, exécutez la commande
gcloud beta compute instance-templates create
avec l'indicateur--graceful-shutdown
.Par exemple, pour créer un modèle d'instance régional avec l'arrêt élégant activé, exécutez la commande suivante:
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --graceful-shutdown \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE
Remplacez les éléments suivants :
Vous pouvez également spécifier une période d'arrêt correct personnalisé en incluant l'option
--graceful-shutdown-max-duration
.gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE
Remplacez
MAX_DURATION
par une durée pour la période d'arrêt. La valeur doit être formatée en nombre d'heures, de minutes ou de secondes, suivis respectivement deh
,m
ets
. Par exemple, spécifiez1h
pour une heure ou20m10s
pour 20 minutes et 10 secondes.REST
Pour créer un modèle d'instance avec l'arrêt élégant activé, envoyez une requête
POST
à l'une des méthodes suivantes:Par exemple, pour créer un modèle d'instance régional avec l'arrêt correctif activé, envoyez une requête
POST
comme suit:POST https://compute.googleapis.com/compute/beta/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": { "gracefulShutdown": { "enabled": true } } } }
Remplacez les éléments suivants :
Vous pouvez éventuellement spécifier une période d'arrêt élégant personnalisée en incluant le champ
maxDuration
dans le corps de la requête.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/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": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } } }
Remplacez
MAX_DURATION
par une durée en secondes pour la période d'arrêt. La valeur doit être comprise entre1
et3600
, soit 3 600 secondes (une heure).Pour plus d'options de configuration lors de la création d'un modèle d'instance, consultez la section Créer des modèles d'instance.
É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/01/30 (UTC).
-