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 la section 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éagit lorsque l'hôte sur lequel elle s'exécute nécessite une maintenance ou rencontre une erreur. Configurer la stratégie de maintenance de l'hôte pour une instance vous permet de:
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 qui utilisent 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 d'événements de maintenance de l'hôte:
Instances qui ne sont pas compatibles avec la migration à chaud, telles que les instances Z3 avec 88 vCPU ou plus, les instances bare metal ou les VM avec GPU associés.
VM Spot ou VM 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 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
-
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 se passe avec votre instance lors d'un événement de maintenance sur son hôte susceptible de provoquer son redémarrage. Vous pouvez définir cette propriété sur l'une des valeurs suivantes:Migrate (Migrer) : Compute Engine migre automatiquement votre instance en direct 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 préemptives.
Arrêter: Compute Engine arrête votre instance. Il s'agit du paramètre par défaut pour les VM Spot ou les VM préemptibles. Il s'agit également du seul paramètre compatible avec les instances Z3 comportant 88 vCPU ou plus, les instances bare metal et les instances avec GPU ou 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é, tel qu'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, procédez comme suit:
Pour la console Google Cloud , dans le volet Advanced (Avancé), dans la liste Automatic restart (Redémarrage automatique), sélectionnez On (recommended) (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, procédez comme suit:
Pour la console Google Cloud , dans le volet Avancé, dans la liste Redémarrage automatique, sélectionnez 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 récupération des données des 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 temps d'attente par défaut:
Pour les VM Z3, 6 heures
Pour tous les autres types d'instances : 1 heure
Entier compris entre 0 et 168: nombre d'heures d'attente. Définir cette propriété sur
0
signifie que 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 d'erreur de l'hôte (
hostErrorTimeoutSeconds
): cette propriété détermine la durée d'attente de Compute Engine avant 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 suffisamment long pour qu'une instance puisse se rétablir après avoir été non réactive. 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 tout type d'instance.
Entier compris entre 90 et 330: temps d'attente en secondes, par incréments de 30 secondes.
- Définir la règle pour une instance existante
- Définir la stratégie 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 stratégie 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 VM préemptives
Instances qui ne sont pas compatibles avec la migration à chaud
Vous ne pouvez pas configurer de VM Spot ni de 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 vous permettant de modifier les propriétés de l'instance s'affiche.Dans la section Gestion, vous pouvez effectuer l'une ou plusieurs des opérations suivantes:
Pour modifier le comportement lors des événements de maintenance, sélectionnez une autre option dans la liste Pendant la maintenance de l'hôte.
Pour modifier la période d'expiration avant le redémarrage d'une instance qui ne répond pas, sélectionnez une autre option dans la liste Délai avant expiration de l'erreur de l'hôte.
Pour choisir de redémarrer ou non 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 maintenance de l'hôte, incluez l'option
--maintenance-policy
.Pour modifier le comportement de redémarrage automatique, effectuez l'une des opérations suivantes:
Pour redémarrer automatiquement l'instance, incluez l'option
--restart-on-failure
.Pour empêcher la réinitialisation 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 du disque SSD local si des disques SSD locaux sont associés à votre instance, incluez l'indicateur
--local-ssd-recovery-timeout
.Pour modifier le délai avant expiration de l'erreur de l'hôte, incluez l'option
--host-error-timeout-seconds
.INSTANCE_NAME
: nom de votre instance.ERROR_DETECTION_TIMEOUT
: nombre de 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). Seuls 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 heures) 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 maintenance de l'hôte, incluez le champ
onHostMaintenance
.Pour modifier le comportement de redémarrage automatique, effectuez l'une des opérations suivantes:
Pour redémarrer automatiquement l'instance, incluez le champ
automaticRestart
.Pour empêcher la réinitialisation 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 des disques SSD locaux sont associés à votre instance, incluez le champ
localSsdRecoveryTimeout
.Pour modifier le délai avant expiration des erreurs de l'hôte, incluez le champ
hostErrorTimeoutSeconds
.PROJECT_ID
: ID du projet dans lequel se trouve votre instance.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). Seuls 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 heures) 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, indiquez la région et la zone dans lesquelles créer l'instance.
Spécifiez 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 opérations 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 la période avant le redémarrage d'une instance qui ne répond pas, dans la liste Délai avant expiration de l'erreur de l'hôte, sélectionnez l'une des options suivantes:
Pour ne pas spécifier de délai avant expiration d'erreur de l'hôte, sélectionnez Non spécifié (par défaut).
Pour spécifier un délai avant expiration d'erreur de l'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, dans la liste Redémarrage automatique, sélectionnez l'une des options suivantes:
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'option
--restart-on-failure
.Pour empêcher la réinitialisation 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 de SSD locaux si des disques SSD locaux sont associés à votre instance, incluez l'indicateur
--local-ssd-recovery-timeout
.Pour définir un délai avant expiration d'erreur de l'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). Seuls 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 heures) 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 qui n'est pas 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 la réinitialisation automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données de SSD locaux si des disques SSD locaux sont associés à votre instance, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration d'erreur de l'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). Seuls les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données à partir 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 qui n'est pas 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'option
--restart-on-failure
.Pour empêcher la réinitialisation 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 de SSD locaux si des disques SSD locaux sont associés à votre instance, incluez l'indicateur
--local-ssd-recovery-timeout
.Pour définir un délai avant expiration d'erreur de l'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). Seuls 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 heures) 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 dont les noms commencent parinstance-1
,instance-2
, etc., jusqu'au 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 la réinitialisation automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données de SSD locaux si des disques SSD locaux sont associés à votre instance, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration d'erreur de l'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 dont les noms commencent parinstance-1
,instance-2
, etc., jusqu'au 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). Seuls les incréments de 30 secondes sont autorisés.LOCAL_SSD_RECOVERY_TIMEOUT
: nombre d'heures à consacrer à la récupération des données à partir 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 opérations suivantes:
Pour modifier le comportement lors des é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 la période avant le redémarrage d'une instance qui ne répond pas, dans la liste Host error timeout (Délai avant expiration de l'erreur de l'hôte), sélectionnez l'une des options suivantes:
Pour ne pas spécifier de délai avant expiration d'erreur de l'hôte, sélectionnez Non spécifié (par défaut).
Pour spécifier un délai avant expiration d'erreur de l'hôte, sélectionnez l'une des options disponibles, jusqu'à 5 minutes et 30 secondes.
Pour indiquer si l'instance doit redémarrer en cas de plantage ou d'arrêt, dans la liste Redémarrage automatique, sélectionnez l'une des options suivantes:
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 la réinitialisation automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données de SSD locaux si des disques SSD locaux sont associés à votre instance, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration d'erreur de l'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). Seuls 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 heures) 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 qui n'est pas 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 la réinitialisation automatique de l'instance, incluez le champ
automaticRestart
.
Pour définir un délai avant expiration de la récupération des données de SSD locaux si des disques SSD locaux sont associés à votre instance, incluez le champ
localSsdRecoveryTimeout
.Pour définir un délai avant expiration d'erreur de l'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). Seuls 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 heures) 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 qui n'est pas 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 consulter les informations suivantes:
Dans le champ On host maintenance (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 d'erreur de l'hôte, vous pouvez voir le délai d'attente de l'instance avant son redémarrage ou son arrêt 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 cinq minutes et 30 secondes.
Dans le champ 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 contenant l'instance.ZONE
: zone où se trouve l'instance.INSTANCE_NAME
: nom de l'instance.Processus de migration à chaud lors des é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' Google Cloud authentification.
Rôles requis
Pour obtenir les autorisations nécessaires pour définir la stratégie de maintenance de l'hôte pour 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 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 de la maintenance planifiée ou d'événements hôtes inattendus. Sauf indication contraire, Compute Engine utilise les paramètres par défaut lorsque vous créez une instance, des instances groupées ou un modèle d'instance. Instance ou 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 stratégie 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, vérifiez les points suivants:
Pour modifier le délai avant expiration de la récupération des données des SSD locaux dans une instance à laquelle des SSD locaux sont associés, utilisez 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, exécutez 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 expiration de la récupération des données des SSD locaux et modifier le délai avant expiration de l'erreur de l'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 d'erreur de l'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 stratégie lors de la création d'une instance
Vous pouvez définir la stratégie de maintenance de l'hôte d'une instance Compute Engine 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 locales et définir un délai avant expiration d'erreur 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 de données SSD local et définir un délai avant expiration d'erreur 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 la section Créer et démarrer une instance Compute Engine.
Définir la stratégie lors de la création groupée d'instances
Pour définir la stratégie de maintenance de l'hôte lors de la création d'instances groupées, 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 groupées, exécutez 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 de 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 des SSD locaux et définir un délai avant expiration d'erreur de l'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 la section Créer des VM de manière groupée.
Définir la stratégie 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 de 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 de SSD local et définir un délai avant expiration d'erreur 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 consultant les détails de l'instance.
Lorsque vous consultez les détails de l'instance à l'aide de 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 des SSD locaux dans une instance à laquelle des disques SSD locaux sont associés, utilisez 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/06/16 (UTC).
-