Ce document explique comment définir la stratégie de maintenance de l'hôte pour une instance Compute Engine afin de déterminer son comportement lors des événements hôtes. Pour en savoir plus sur les stratégies de maintenance de l'hôte, consultez Stratégie de maintenance de l'hôte.
Une stratégie de maintenance de l'hôte détermine la manière dont votre instance répond lorsque l'hôte sur lequel elle s'exécute nécessite une maintenance ou rencontre une erreur. La configuration de la stratégie de maintenance de l'hôte pour une instance vous permet d'effectuer les opérations suivantes :
Minimisez les temps d'arrêt.
Évitez toute perte de données.
Limites
Les limites suivantes s'appliquent aux stratégies de maintenance des hôtes :
Les instances de machines virtuelles utilisant des types de machines E2 ne peuvent migrer à chaud que lors d'événements de maintenance de l'hôte, sauf s'il s'agit de VM Spot ou de VM préemptives.
Les instances suivantes ne peuvent s'arrêter que lors des événements de maintenance de l'hôte :
Instances non compatibles avec la migration à chaud, telles que les instances Z3 avec plus de 18 Tio de SSD Titanium associés, les instances bare metal ou les VM avec des GPU associés.
VM Spot ou préemptives
Les VM Spot et les VM préemptives ne peuvent pas redémarrer automatiquement après des erreurs d'hôte ou des arrêts programmés.
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 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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
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 la stratégie de maintenance de l'hôte d'une instance :
compute.instances.setScheduling
sur l'instance Comportement de maintenance (
onHostMaintenance
) : ce qui arrive à votre instance lors d'un événement de maintenance sur son hôte qui pourrait entraîner le redémarrage de l'instance. Vous pouvez définir cette propriété sur l'une des valeurs suivantes :Migrate : Compute Engine migre automatiquement votre instance à chaud vers un autre hôte. Il s'agit du paramètre par défaut pour tous les types d'instances, à l'exception des VM Spot et des VM préemptives.
Mettre fin : Compute Engine arrête votre instance. Il s'agit du paramètre par défaut pour les VM Spot ou préemptibles. C'est également le seul paramètre compatible avec les instances Z3 comportant plus de 18 TiB de SSD Titanium associés, les instances bare metal et les instances comportant des GPU ou des TPU associés.
Redémarrage automatique (
automaticRestart
) : indique si votre instance redémarre en cas de plantage ou si Compute Engine l'arrête pour un arrêt programmé, par exemple lors d'un événement de maintenance. Vous pouvez définir cette propriété sur l'une des valeurs suivantes :Activé : Compute Engine redémarre automatiquement l'instance. Il s'agit du paramètre par défaut pour tous les types d'instances, à l'exception des VM Spot et des VM préemptives. Pour spécifier ce paramètre :
Pour la console Google Cloud , dans le volet Avancé, dans la liste Redémarrage automatique, sélectionnez Activé (recommandé).
Avec Google Cloud CLI, utilisez l'option
--restart-on-failure
.Pour REST, définissez le champ
automaticRestart
surtrue
.
Désactivé : Compute Engine ne redémarre pas l'instance. Il s'agit du paramètre par défaut pour les VM Spot ou préemptives. Pour spécifier ce paramètre :
Pour la console Google Cloud , dans le volet Advanced (Avancé), dans la liste Automatic restart (Redémarrage automatique), sélectionnez Off (Désactivé).
Avec gcloud CLI, utilisez l'option
--no-restart-on-failure
.Pour REST, définissez le champ
automaticRestart
surfalse
.
Délai avant expiration de la récupération des données des disques SSD locaux (
localSsdRecoveryTimeout
) : ce paramètre ne s'applique qu'aux instances auxquelles des disques SSD locaux sont associés. Il détermine la durée pendant laquelle Compute Engine attend pour récupérer les données de vos disques SSD locaux après des erreurs d'hôte. Par défaut, cette propriété n'est pas définie. Vous pouvez définir cette propriété sur l'une des valeurs suivantes :Non défini : Compute Engine utilise le délai d'attente par défaut :
Pour les VM Z3 : 6 heures
Pour tous les autres types d'instances : 1 heure
Nombre entier compris entre 0 et 168 : nombre d'heures à attendre. Si vous définissez cette propriété sur
0
, Compute Engine ne récupère pas les données des disques SSD locaux et redémarre immédiatement l'instance.
Délai avant expiration en cas d'erreur d'hôte (
hostErrorTimeoutSeconds
) : cette propriété détermine la durée pendant laquelle Compute Engine attend de redémarrer une instance qui ne répond pas. Vous devez configurer ce paramètre avant que l'instance ne cesse de répondre. Utilisez un délai d'inactivité suffisamment long pour qu'une instance puisse se rétablir après une période d'inactivité. Vous pouvez définir cette propriété sur l'une des valeurs suivantes :Non défini : Compute Engine attend jusqu'à 330 secondes (5 minutes et 30 secondes). Il s'agit du paramètre par défaut pour tous les types d'instances.
Nombre entier compris entre 90 et 330 : délai d'attente en secondes, par incréments de 30 secondes.
- Définir la règle pour une instance existante
- Définir la règle lors de la création d'une instance
- Définir la stratégie lors de la création groupée d'instances
- Définir la règle lors de la création d'un modèle d'instance
Vous ne pouvez pas modifier le comportement de maintenance (
onHostMaintenance
) des types d'instances suivants :VM qui utilisent des types de machines E2.
VM Spot ou préemptives
Vous ne pouvez pas configurer les VM Spot ni les VM préemptives pour qu'elles redémarrent automatiquement après des erreurs d'hôte ou des arrêts programmés.
Dans la console Google Cloud , accédez à la page Instances de VM.
Dans la colonne Nom, cliquez sur le nom de l'instance que vous souhaitez mettre à jour. Une page contenant les détails de l'instance s'affiche.
Cliquez sur
Modifier. Une page permettant de modifier les propriétés de l'instance s'affiche.Dans la section Gestion, vous pouvez effectuer une ou plusieurs des opérations suivantes :
Pour modifier le comportement pendant les événements de maintenance, sélectionnez une autre option dans la liste Pendant la maintenance de l'hôte.
Pour modifier le délai avant le redémarrage d'une instance qui ne répond pas, sélectionnez une autre option dans la liste Délai avant erreur d'hôte.
Pour modifier le redémarrage ou non de l'instance après des erreurs d'hôte ou des arrêts programmés, sélectionnez une autre option dans la liste Redémarrage automatique.
Cliquez sur Enregistrer.
Pour modifier le comportement de la maintenance de l'hôte, incluez l'option
--maintenance-policy
.Pour modifier le comportement du redémarrage automatique, effectuez l'une des opérations suivantes :
Pour redémarrer automatiquement l'instance, incluez l'indicateur
--restart-on-failure
.Pour empêcher le redémarrage automatique de l'instance, incluez l'indicateur
--no-restart-on-failure
.
Pour modifier le délai avant expiration de la récupération des données SSD locales si votre instance est associée à des disques SSD locaux, incluez l'indicateur
--local-ssd-recovery-timeout
.Pour modifier le délai avant expiration des erreurs d'hôte, incluez l'option
--host-error-timeout-seconds
.INSTANCE_NAME
: nom de votre instance.ERROR_DETECTION_TIMEOUT
: délai en secondes avant que Compute Engine ne redémarre une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.MAINTENANCE_POLICY
: comportement de maintenance de l'instance. La valeur peut êtreTERMINATE
ouMIGRATE
.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.ZONE
: zone où se trouve votre instance.Pour modifier le comportement de la maintenance de l'hôte, incluez le champ
onHostMaintenance
.Pour modifier le comportement du redémarrage automatique, effectuez l'une des opérations suivantes :
Pour redémarrer automatiquement l'instance, incluez le champ
automaticRestart
.Pour empêcher le redémarrage automatique de l'instance, incluez le champ
automaticRestart
.
Pour modifier le délai avant expiration de la récupération des données de disque SSD local si votre instance est associée à des disques SSD locaux, incluez le champ
localSsdRecoveryTimeout
.Pour modifier le délai avant expiration des erreurs d'hôte, incluez le champ
hostErrorTimeoutSeconds
.PROJECT_ID
: ID du projet dans lequel votre instance existe.ZONE
: zone où se trouve votre instance.INSTANCE_NAME
: nom de votre instance.AUTOMATIC_RESTART
: comportement de redémarrage automatique de l'instance en cas de plantage ou d'arrêt programmé par Compute Engine. Spécifiez une des valeurs suivantes :Pour permettre à Compute Engine de redémarrer automatiquement votre instance :
true
Pour empêcher les redémarrages automatiques :
false
ERROR_DETECTION_TIMEOUT
: nombre de secondes avant le redémarrage d'une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.MAINTENANCE_POLICY
: comportement de maintenance de l'instance. La valeur peut êtreTERMINATE
ouMIGRATE
.Dans la console Google Cloud , accédez à la page Créer une instance.
Dans le champ Nom, saisissez un nom pour l'instance.
Dans les champs Région et Zone, spécifiez la région et la zone dans lesquelles créer l'instance.
Indiquez le type de machine pour l'instance.
Dans le menu de navigation, cliquez sur Avancé.
Dans la section Modèle de provisionnement, développez Paramètres avancés du modèle de provisionnement de VM, puis effectuez une ou plusieurs des actions suivantes :
Pour définir le comportement pendant les événements de maintenance, dans la liste Pendant la maintenance de l'hôte, sélectionnez l'une des options suivantes :
Pour migrer l'instance lors des événements de maintenance de l'hôte, sélectionnez Migrer l'instance de VM (recommandé).
Pour arrêter l'instance lors des événements de maintenance de l'hôte, sélectionnez Arrêter l'instance de VM.
Pour définir le délai avant le redémarrage d'une instance qui ne répond pas, sélectionnez l'une des options suivantes dans la liste Délai d'expiration des erreurs d'hôte :
Pour ne pas spécifier de délai avant expiration pour les erreurs d'hôte, sélectionnez Non spécifié (par défaut).
Pour spécifier un délai avant expiration pour une erreur d'hôte, sélectionnez l'une des options disponibles, jusqu'à 5 minutes et 30 secondes.
Pour définir si l'instance doit redémarrer en cas de plantage ou d'arrêt, sélectionnez l'une des options suivantes dans la liste Redémarrage automatique :
Pour redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, sélectionnez Activé (recommandé).
Pour empêcher l'instance de redémarrer automatiquement après des erreurs d'hôte ou des arrêts programmés, sélectionnez Désactivé.
Cliquez sur Créer.
Pour définir le comportement de maintenance de l'hôte, incluez l'option
--maintenance-policy
.Pour définir le comportement de redémarrage automatique, procédez comme suit :
Pour redémarrer automatiquement l'instance, incluez l'indicateur
--restart-on-failure
.Pour empêcher le redémarrage automatique de l'instance, incluez l'indicateur
--no-restart-on-failure
.
Pour définir un délai avant expiration de la récupération des données d'un disque SSD local si votre instance est associée à des disques SSD locaux, incluez l'indicateur
--local-ssd-recovery-timeout
.Pour définir un délai avant expiration des erreurs d'hôte, incluez l'indicateur
--host-error-timeout-seconds
.INSTANCE_NAME
: nom de l'instance.ERROR_DETECTION_TIMEOUT
: nombre de secondes avant le redémarrage d'une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.MACHINE_TYPE
: type de machine à utiliser.MAINTENANCE_POLICY
: comportement de maintenance de l'instance. La valeur peut êtreTERMINATE
ouMIGRATE
. Si vous créez une VM Spot, une VM préemptive ou une instance non compatible avec la migration à chaud, vous ne pouvez utiliser queTERMINATE
.ZONE
: zone dans laquelle créer l'instance.Pour définir le comportement de maintenance de l'hôte, incluez le champ
onHostMaintenance
.Pour définir le comportement de redémarrage automatique, procédez comme suit :
Pour redémarrer automatiquement l'instance, incluez le champ
automaticRestart
.Pour empêcher le redémarrage automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données d'un disque SSD local si votre instance est associée à des disques SSD locaux, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration des erreurs d'hôte, incluez le champ
hostErrorTimeoutSeconds
.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 à utiliser.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.
AUTOMATIC_RESTART
: comportement de redémarrage automatique de l'instance en cas de plantage ou d'arrêt programmé par Compute Engine. Spécifiez une des valeurs suivantes :Pour permettre à Compute Engine de redémarrer automatiquement votre instance :
true
Pour empêcher les redémarrages automatiques :
false
ERROR_DETECTION_TIMEOUT
: nombre de secondes avant le redémarrage d'une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.MAINTENANCE_POLICY
: comportement de maintenance de l'instance. La valeur peut êtreTERMINATE
ouMIGRATE
. Si vous créez une VM spot ou une instance non compatible avec la migration à chaud, vous ne pouvez utiliser queTERMINATE
.Pour définir le comportement de maintenance de l'hôte, incluez l'option
--maintenance-policy
.Pour définir le comportement de redémarrage automatique, procédez comme suit :
Pour redémarrer automatiquement l'instance, incluez l'indicateur
--restart-on-failure
.Pour empêcher le redémarrage automatique de l'instance, incluez l'indicateur
--no-restart-on-failure
.
Pour définir un délai avant expiration de la récupération des données d'un disque SSD local si votre instance est associée à des disques SSD locaux, incluez l'indicateur
--local-ssd-recovery-timeout
.Pour définir un délai avant expiration des erreurs d'hôte, incluez l'indicateur
--host-error-timeout-seconds
.COUNT
: nombre d'instances à créer.ERROR_DETECTION_TIMEOUT
: nombre de secondes avant le redémarrage d'une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.MACHINE_TYPE
: type de machine à utiliser.MAINTENANCE_POLICY
: comportement de maintenance des instances. La valeur peut êtreTERMINATE
ouMIGRATE
. Si vous créez des VM Spot, des VM préemptives ou des instances qui ne sont pas compatibles avec la migration à chaud, vous ne pouvez utiliser queTERMINATE
.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 portant les nomsinstance-1
,instance-2
, etc., jusqu'à ce qu'il atteigne le nombre d'instances spécifié parCOUNT
.ZONE
: zone dans laquelle créer les instances.Pour définir le comportement de maintenance de l'hôte, incluez le champ
onHostMaintenance
.Pour définir le comportement de redémarrage automatique, procédez comme suit :
Pour redémarrer automatiquement l'instance, incluez le champ
automaticRestart
.Pour empêcher le redémarrage automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données d'un disque SSD local si votre instance est associée à des disques SSD locaux, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration des erreurs d'hôte, incluez le champ
hostErrorTimeoutSeconds
.PROJECT_ID
: ID du projet dans lequel créer les instances.ZONE
: zone dans laquelle créer les 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, le modèle de nominstance-#
génère des instances portant les nomsinstance-1
,instance-2
, etc., jusqu'à ce qu'il atteigne le nombre d'instances spécifié parCOUNT
.MACHINE_TYPE
: type de machine à utiliser.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.
AUTOMATIC_RESTART
: comportement de redémarrage automatique de l'instance en cas de plantage ou d'arrêt programmé par Compute Engine. Spécifiez une des valeurs suivantes :Pour permettre à Compute Engine de redémarrer automatiquement votre instance :
true
Pour empêcher les redémarrages automatiques :
false
ERROR_DETECTION_TIMEOUT
: nombre de secondes avant le redémarrage d'une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.MAINTENANCE_POLICY
: comportement de maintenance des instances. La valeur peut êtreTERMINATE
ouMIGRATE
. Si vous créez des VM Spot, des VM préemptives ou des instances qui ne sont pas compatibles avec la migration à chaud, vous ne pouvez utiliser queTERMINATE
.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'affiche.
Dans le champ Nom, saisissez un nom pour le modèle d'instance.
Dans la section Emplacement, sélectionnez l'une des options suivantes :
Pour créer un modèle d'instance régional, sélectionnez Régional (recommandé), puis sélectionnez la région dans laquelle créer le modèle.
Pour créer un modèle d'instance global, sélectionnez Global.
Dans la section Configuration de la machine, spécifiez le type de machine pour le modèle d'instance.
Dans la section Modèle de provisionnement, développez Paramètres avancés du modèle de provisionnement de VM, puis effectuez une ou plusieurs des actions suivantes :
Pour modifier le comportement pendant les événements de maintenance, dans la liste Pendant la maintenance de l'hôte, sélectionnez l'une des options suivantes :
Pour migrer l'instance lors des événements de maintenance de l'hôte, sélectionnez Migrer l'instance de VM (recommandé).
Pour arrêter l'instance lors des événements de maintenance de l'hôte, sélectionnez Arrêter l'instance de VM.
Pour modifier le délai d'inactivité avant le redémarrage d'une instance qui ne répond pas, sélectionnez l'une des options suivantes dans la liste Délai d'inactivité en cas d'erreur de l'hôte :
Pour ne pas spécifier de délai avant expiration pour les erreurs d'hôte, sélectionnez Non spécifié (par défaut).
Pour spécifier un délai avant expiration pour une erreur d'hôte, sélectionnez l'une des options disponibles, jusqu'à 5 minutes et 30 secondes.
Pour modifier le comportement de l'instance en cas de plantage ou d'arrêt, sélectionnez l'une des options suivantes dans la liste Redémarrage automatique :
Pour redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, sélectionnez Activé (recommandé).
Pour empêcher l'instance de redémarrer automatiquement après des erreurs d'hôte ou des arrêts programmés, sélectionnez Désactivé.
Cliquez sur Créer.
Pour définir le comportement de maintenance de l'hôte, incluez le champ
onHostMaintenance
.Pour définir le comportement de redémarrage automatique, procédez comme suit :
Pour redémarrer automatiquement l'instance, incluez le champ
automaticRestart
.Pour empêcher le redémarrage automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données d'un disque SSD local si votre instance est associée à des disques SSD locaux, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration des erreurs d'hôte, incluez le champ
hostErrorTimeoutSeconds
.INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.ERROR_DETECTION_TIMEOUT
: nombre de secondes avant le redémarrage d'une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.REGION
: région dans laquelle créer le modèle d'instance.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.MACHINE_TYPE
: type de machine à utiliser.MAINTENANCE_POLICY
: comportement de maintenance des instances. La valeur peut êtreTERMINATE
ouMIGRATE
. Si vous spécifiez une VM Spot, une VM préemptive ou un type d'instance non compatible avec la migration à chaud dans le modèle d'instance, vous ne pouvez utiliser queTERMINATE
.Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insert
Pour créer un modèle d'instance global : méthode
instanceTemplates.insert
Pour définir le comportement de maintenance de l'hôte, incluez le champ
onHostMaintenance
.Pour définir le comportement de redémarrage automatique, procédez comme suit :
Pour redémarrer automatiquement l'instance, incluez le champ
automaticRestart
.Pour empêcher le redémarrage automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données d'un disque SSD local si votre instance est associée à des disques SSD locaux, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration des erreurs d'hôte, incluez le champ
hostErrorTimeoutSeconds
.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
. 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 à utiliser.AUTOMATIC_RESTART
: comportement de redémarrage automatique de l'instance en cas de plantage ou d'arrêt programmé par Compute Engine. Spécifiez une des valeurs suivantes :Pour permettre à Compute Engine de redémarrer automatiquement votre instance :
true
Pour empêcher les redémarrages automatiques :
false
ERROR_DETECTION_TIMEOUT
: nombre de secondes avant le redémarrage d'une instance qui ne répond pas. La valeur doit être comprise entre90
(90 secondes) et330
(330 secondes, soit 5 minutes et 30 secondes). Seules les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données des disques SSD locaux associés. La valeur doit être comprise entre0
(0 heure) et168
(168 heures, soit 7 jours). Si vous définissez ce champ sur0
, Compute Engine ne récupère pas les données des disques SSD locaux.MAINTENANCE_POLICY
: comportement de maintenance des instances. La valeur peut êtreTERMINATE
ouMIGRATE
. Si vous spécifiez une VM Spot, une VM préemptive ou un type d'instance non compatible avec la migration à chaud dans le modèle d'instance, vous ne pouvez utiliser queTERMINATE
.Dans la console Google Cloud , accédez à la page Instances de VM.
Dans la colonne Nom, cliquez sur l'instance que vous souhaitez afficher. Une page contenant les détails de l'instance s'affiche.
Dans l'onglet Détails, dans la section Gestion, dans la section Règles de disponibilité, vous pouvez afficher les informations suivantes :
Dans le champ En cas de maintenance de l'hôte, vous pouvez voir les événements de comportement de maintenance de l'hôte de l'instance.
Dans le champ Délai avant expiration des erreurs d'hôte, vous pouvez voir le temps d'attente de l'instance avant de la redémarrer ou de l'arrêter après avoir détecté qu'elle ne répondait pas. Si la valeur n'est pas définie (—), le temps d'attente par défaut est de 5 minutes et 30 secondes.
Dans le champ de redémarrage Redémarrage automatique, vous pouvez voir si l'instance redémarre automatiquement après un plantage ou si Compute Engine l'arrête pour un arrêt programmé.
INSTANCE_NAME
: nom de l'instance.ZONE
: zone où se trouve l'instancePROJECT_ID
: projet dans lequel l'instance existe.ZONE
: zone où se trouve l'instance.INSTANCE_NAME
: nom de l'instance.Processus de migration à chaud lors d'événements de maintenance
Interroger le serveur de métadonnées pour obtenir des notifications d'événements de maintenance
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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
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 définir la stratégie de maintenance de l'hôte d'une instance de calcul, 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 définir la stratégie de maintenance de l'hôte pour 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 définir la stratégie de maintenance de l'hôte pour une instance de calcul :
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Propriétés de maintenance de l'hôte disponibles
Vous pouvez personnaliser le comportement de votre instance de calcul lors d'une maintenance planifiée ou d'événements d'hôte inattendus. Sauf indication contraire, Compute Engine utilise les paramètres par défaut lorsque vous créez une instance, des instances en masse ou un modèle d'instance.
Vous pouvez configurer les propriétés de maintenance de l'hôte suivantes :
Définir la stratégie de maintenance de l'hôte pour une instance
Par défaut, les instances de calcul utilisent les paramètres par défaut pour leur règle de maintenance de l'hôte. Pour personnaliser ces paramètres, utilisez l'une des méthodes suivantes :
Définir la règle pour une instance existante
Avant de modifier la stratégie de maintenance de l'hôte d'une instance existante, assurez-vous des points suivants :
Pour modifier le délai avant expiration de la récupération des données des disques SSD locaux dans une instance à laquelle des disques SSD locaux sont associés, utilisez la gcloud CLI ou l'API REST. Sinon, sélectionnez l'une des options suivantes :
Console
gcloud
Pour modifier la stratégie de maintenance de l'hôte dans une instance existante, utilisez la commande
gcloud compute instances set-scheduling
avec une ou plusieurs des options suivantes :Par exemple, pour modifier le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, modifier le délai avant récupération des données SSD locales et modifier le délai avant erreur d'hôte, exécutez la commande suivante :
gcloud compute instances set-scheduling INSTANCE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour modifier la stratégie de maintenance de l'hôte dans une instance existante, envoyez une requête
POST
à la méthodeinstances.setScheduling
. Dans le corps de la requête, incluez un ou plusieurs des champs suivants :Par exemple, pour modifier le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, modifier le délai avant expiration de récupération des données SSD locales et modifier le délai avant expiration des erreurs d'hôte, effectuez une requête comme suit :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" }
Remplacez les éléments suivants :
Définir la règle lors de la création d'une instance
Vous pouvez définir la stratégie de maintenance de l'hôte d'une instance de calcul lors de sa création.
Pour définir le délai avant expiration de la récupération des données des disques SSD locaux lors de la création d'une instance à laquelle des disques SSD locaux sont associés, utilisez la gcloud CLI ou l'API REST. Sinon, sélectionnez l'une des options suivantes :
Console
gcloud
Pour définir la stratégie de maintenance de l'hôte d'une instance lors de sa création, exécutez la commande
gcloud compute instances create
avec une ou plusieurs des options suivantes :Par exemple, pour définir le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, définir un délai avant expiration de récupération des données SSD local et définir un délai avant expiration des erreurs d'hôte, exécutez la commande suivante :
gcloud compute instances create INSTANCE_NAME \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour définir la stratégie de maintenance de l'hôte d'une instance lors de sa création, envoyez une requête
POST
à la méthodeinstances.insert
. Dans le corps de la requête, incluez un ou plusieurs des champs suivants dans le champscheduling
:Par exemple, pour définir le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, définir un délai avant expiration de récupération des données SSD local et définir un délai avant expiration des erreurs d'hôte, envoyez une requête comme suit :
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": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } }
Remplacez les éléments suivants :
Pour en savoir plus sur la création d'une instance, consultez Créer et démarrer une instance Compute Engine.
Définir la règle lors de la création groupée d'instances
Pour définir la stratégie de maintenance de l'hôte lorsque vous créez des instances de manière groupée, sélectionnez l'une des options suivantes :
gcloud
Pour définir la stratégie de maintenance de l'hôte lors de la création d'instances de manière groupée, utilisez la commande
gcloud compute instances bulk create
avec une ou plusieurs des options suivantes :Par exemple, pour définir le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, définir un délai avant expiration de récupération des données SSD local et définir un délai avant expiration d'erreur d'hôte, exécutez la commande suivante. L'exemple suivant crée également des instances dans une seule zone et spécifie un format de nom pour les instances :
gcloud compute instances bulk create \ --count=COUNT \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --restart-on-failure \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour définir la stratégie de maintenance de l'hôte lors de la création d'instances de manière groupée, envoyez une requête
POST
à la méthodeinstances.bulkInsert
. Dans le corps de la requête, incluez un ou plusieurs des champs suivants dans le champscheduling
:Par exemple, pour définir le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, définir un délai avant expiration de récupération des données SSD local et définir un délai avant expiration des erreurs d'hôte, envoyez une requête comme suit. L'exemple suivant crée également des instances dans une seule zone et spécifie un format de nom pour les instances :
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": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Remplacez les éléments suivants :
Pour en savoir plus sur la création d'instances de manière groupée, consultez Créer des VM de manière groupée.
Définir la règle lors de la création d'un modèle d'instance
Vous pouvez définir la stratégie de maintenance de l'hôte lorsque vous créez un modèle d'instance. Toutes les instances de calcul que vous créez à l'aide du modèle héritent de la stratégie de maintenance de l'hôte spécifiée dans le modèle.
Pour définir le délai avant expiration de la récupération des données des disques SSD locaux lors de la création d'un modèle d'instance qui spécifie des disques SSD locaux, utilisez la gcloud CLI ou l'API REST. Sinon, sélectionnez l'une des options suivantes :
Console
gcloud
Pour définir la stratégie de maintenance de l'hôte lors de la création d'un modèle d'instance, exécutez la commande
gcloud compute instance-templates create
avec une ou plusieurs des options suivantes :Par exemple, pour définir le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, définir un délai avant expiration de récupération des données SSD local et définir un délai avant expiration d'erreur d'hôte, exécutez la commande suivante. L'exemple suivant crée également un modèle d'instance régional. Pour 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 \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT \ --instance-template-region=REGION \ --local-ssd-recovery-timeout=LOCAL_SSD_RECOVERY_TIMEOUT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --restart-on-failure
Remplacez les éléments suivants :
REST
Pour définir la stratégie de maintenance de l'hôte lors de la création d'un modèle d'instance, envoyez une requête
POST
à l'une des méthodes suivantes :Dans le corps de la requête, incluez un ou plusieurs des champs suivants dans le champ
scheduling
:Par exemple, pour définir le comportement de maintenance de l'hôte, redémarrer automatiquement l'instance après des erreurs d'hôte ou des arrêts programmés, définir un délai avant expiration de récupération des données SSD local et définir un délai avant expiration des erreurs d'hôte, envoyez une requête comme suit. L'exemple suivant crée également un modèle d'instance régional.
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": { "automaticRestart": AUTOMATIC_RESTART, "hostErrorTimeoutSeconds": ERROR_DETECTION_TIMEOUT, "localSsdRecoveryTimeout": LOCAL_SSD_RECOVERY_TIMEOUT, "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Remplacez les éléments suivants :
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 la stratégie de maintenance de l'hôte d'une instance
Vous pouvez afficher la stratégie de maintenance de l'hôte d'une instance en affichant les détails de l'instance.
Lorsque vous affichez les détails de l'instance à l'aide de la gcloud CLI ou de l'API REST, vous ne pouvez afficher les champs
localSsdRecoveryTimeout
ethostErrorTimeoutSeconds
que si vous les avez spécifiés lors de la création ou de la mise à jour de l'instance.Pour afficher le délai avant expiration de la récupération des données de disque SSD local dans une instance à laquelle des disques SSD locaux sont associés, utilisez la gcloud CLI ou l'API REST. Sinon, sélectionnez l'une des options suivantes :
Console
gcloud
Pour afficher la stratégie de maintenance de l'hôte d'une instance, utilisez la commande
gcloud compute instances describe
avec l'option--flatten
définie surscheduling
:gcloud compute instances describe INSTANCE_NAME \ --flatten=scheduling \ --zone=ZONE
Remplacez les éléments suivants :
Le résultat ressemble à ce qui suit :
--- scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
Pour afficher la stratégie de maintenance de l'hôte d'une instance, envoyez une requête
GET
à la méthodeinstances.get
. Dans l'URL de la requête, incluez le paramètre de requêtefields
et définissez-le surscheduling
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?fields=scheduling
Remplacez les éléments suivants :
Le résultat ressemble à ce qui suit :
{ "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } } }
É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/07/11 (UTC).
-