Chaque instance de machine virtuelle (VM) ou instance bare metal utilise une stratégie de maintenance de l'hôte pour déterminer le comportement de l'instance lors d'une opération de maintenance. Certaines instances offrent la possibilité supplémentaire d'afficher le calendrier de maintenance à l'avance.
Cette page explique comment surveiller et planifier un événement de maintenance de l'hôte sur les instances Compute Engine.
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.
-
Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Pour accéder en lecture seule aux journaux d'audit des événements système :
Lecteur de journaux (
roles/logging.viewer
) -
Pour obtenir des informations sur une instance, y compris les métadonnées :
compute.instances.get
Familles de machines optimisées pour les accélérateurs :
Familles de machines à usage général :
Familles de machines à mémoire optimisée :
Familles de machines optimisées pour le stockage :
- Moins d'événements de maintenance : en général, les instances avec des intervalles de maintenance récurrents devraient rencontrer moins d'événements de maintenance.
- Notification de maintenance plus longue : recevez des notifications bien à l'avance pour les événements de maintenance afin de pouvoir vous organiser.
- Surveillance et planification : utilisez Cloud Logging pour suivre votre calendrier de maintenance. Restez informé grâce aux incidents et aux alertes.
- Contrôle de maintenance à la demande : démarrez la maintenance pendant la période de notification pour mettre à jour vos instances selon votre planning.
- canReschedule : indique si la maintenance peut être démarrée manuellement pendant la période de notification pour cette instance.
TRUE
: la maintenance déclenchée par le client peut être effectuée pendant la période de notification.FALSE
: la maintenance déclenchée par le client ne peut pas être effectuée sur cette instance. Cela se produit souvent pendant la période de maintenance de l'instance ou si le type d'instance n'est pas compatible avec la maintenance à la demande.
- latestWindowStartTime : heure la plus tardive vers laquelle la période de maintenance peut être déplacée.
- machineType : type de machine de l'instance, par exemple
x4-megamem-960-metal
ouc4-highmem-192
. - maintenanceStatus : état actuel de l'événement de maintenance.
ONGOING
: l'opération de maintenance est en cours.PENDING
: l'opération de maintenance est planifiée, mais n'a pas encore commencé.
- type : type de maintenance à effectuer.
NONE
: aucune maintenance n'est prévue pour cette instance.SCHEDULED
: en cas de maintenance perturbatrice, Compute Engine fournit un préavis d'au moins sept jours pour la plupart des instances. Les instances X4 reçoivent un préavis d'environ 60 jours.UNSCHEDULED
: étant donné que la maintenance représente des mises à jour critiques, Compute Engine s'efforce de fournir un préavis aussi long que possible, mais il est généralement beaucoup plus court que pour les événements de maintenance planifiés.
- windowEndTime : fin de la période au cours de laquelle la maintenance est effectuée.
- windowStartTime : début de la période au cours de laquelle la maintenance est effectuée.
canReschedule=True
etmaintenanceStatus=Pending
: vous pouvez démarrer manuellement l'événement de maintenance pour l'instance avant l'heure de début prévue.canReschedule=False
etmaintenanceStatus=Ongoing
: la maintenance est en cours et ne peut pas être reprogrammée.canReschedule=False
etmaintenanceStatus=Pending
: votre instance n'est pas compatible avec les événements de maintenance déclenchés manuellement.INSTANCE_NAME
: nom de l'instance de calcul.ZONE_NAME
: zone dans laquelle se trouve l'instance.- La maintenance est planifiée à la date et à l'heure indiquées dans
windowStartTime
. canReschedule
est défini surtrue
etmaintenanceStatus
est défini surPENDING
. Ces paramètres indiquent que vous pouvez démarrer manuellement l'événement de maintenance planifié avant la date indiquée danslatestWindowStartTime
.PROJECT_NAME
: nom du projet contenant l'instance de calcul.ZONE
: zone où se trouve l'instance.INSTANCE_NAME
: nom de l'instance- La maintenance est planifiée à la date et à l'heure indiquées dans
windowStartTime
. canReschedule
est défini surTrue
etmaintenanceStatus
est défini surPENDING
. Ces paramètres indiquent que vous pouvez démarrer manuellement l'événement de maintenance planifié avant la date indiquée danslatestWindowStartTime
.Accédez à la page Instances de VM.
Cliquez sur le nom de l'instance pour laquelle vous souhaitez afficher les notifications de maintenance.
La page Détails de l'instance s'affiche.
Dans la section Journaux, cliquez sur le lien Journalisation.
La page de l'éditeur de requêtes de l'explorateur de journaux s'ouvre. Dans le volet Requête, le
resource.type
et l'ID d'instance sont déjà renseignés pour votre instance.Dans le volet Requête, ajoutez la ligne suivante à la requête :
operation.producer="compute.instances.upcomingMaintenance" OR "compute.instances.terminateOnHostMaintenance" OR "compute.instances.migrateOnHostMaintenance"
Cliquez sur Exécuter la requête. Les événements de notification de maintenance correspondants s'affichent dans le volet des résultats de la requête.
Dans le volet des résultats de la requête, vous pouvez cliquer sur Modifier l'heure pour élargir la période de recherche ou affiner les résultats en les limitant à des dates ou heures spécifiques.
Cliquez sur une entrée de journal pour afficher les détails de la notification de maintenance.
- Pour les notifications de maintenance à venir, développez l'en-tête
metadata
pour afficher des informations telles que l'état actuel, le type et les heures de début et de fin de la période de maintenance prévue. - Développez l'en-tête
status
pour afficher le message descriptif de la notification.
- Pour les notifications de maintenance à venir, développez l'en-tête
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
machineType
:"x4-megamem-960-metal"
windowStartTime
:"2024-07-23T20:00:00Z"
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
machineType
:"x4-megamem-960-metal"
windowStartTime
:"2024-07-23T20:00:00Z"
- Pour les instances configurées pour utiliser la migration à chaud lors des événements de maintenance, un événement système avec
methodName: "compute.instances.migrateOnHostMaintenance"
. - Pour les instances configurées pour s'arrêter lors des événements de maintenance, un événement système avec
methodName: "compute.instances.terminateOnHostMaintenance"
. methodName
:"compute.instances.upcomingMaintenance"
status: {
message: "Maintenance window has completed for this instance. All
maintenance notifications on the instance have been removed."
}
Accédez à la page Instances de VM.
Cliquez sur le nom de l'instance pour laquelle vous souhaitez créer une alerte d'événement de maintenance.
La page Détails de l'instance s'affiche.
Dans la section Journaux, cliquez sur le lien Journalisation.
La page de l'éditeur de requêtes de l'explorateur de journaux s'ouvre. Dans le volet Requête, le
resource.type
et l'ID d'instance sont déjà renseignés pour votre instance.Dans le volet Requête, ajoutez la ligne suivante à la requête :
operation.producer="compute.instances.upcomingMaintenance"
Pour filtrer les événements de maintenance de l'hôte pour un type de machine au lieu d'une instance spécifique, modifiez la requête comme suit :
- Supprimez la ligne qui spécifie l'ID d'instance.
Ajoutez la ligne suivante à la requête :
protoPayload.metadata.machineType:"MACHINE_TYPE"
Remplacez
MACHINE_TYPE
par le type de machine pour lequel vous souhaitez filtrer les événements de maintenance de l'hôte.
Cliquez sur Exécuter la requête. Les événements de notification de maintenance correspondants s'affichent dans le volet des résultats de la requête.
Dans le volet des résultats de la requête, cliquez sur Modifier l'heure.
- Dans la partie gauche de la fenêtre d'édition, dans le champ Heure relative, saisissez
1d
pour afficher les entrées de journal de la semaine passée. - Cliquez sur Appliquer.
- Dans la partie gauche de la fenêtre d'édition, dans le champ Heure relative, saisissez
Dans l'en-tête du volet Résultats de la requête, cliquez sur add_alert Créer une alerte. Si votre fenêtre d'affichage est étroite, l'option Créer une alerte peut s'afficher dans le menu Actions.
Dans le volet Créer une règle d'alerte basée sur les journaux, dans la section Détails de l'alerte, procédez comme suit :
- Saisissez un nom pour la règle d'alerte, par exemple
Upcoming maintenance for my-c3d-vm@us-central1-b
. Dans le menu Niveau de gravité de la règle, sélectionnez Aucune gravité.
Dans le champ Documentation, vous pouvez saisir une description pour votre règle d'alerte. Vous pouvez également inclure des informations susceptibles d'aider le destinataire d'une notification à diagnostiquer le problème. La chaîne suivante résume le motif de la notification :
Log-based alerting policy in project ${project} to monitor upcoming maintenance notifications. See also "Host maintenance alerts" and "onHostMaintenance actions" alerting policies.
Pour obtenir des informations sur la mise en forme et la personnalisation du contenu de ce champ, consultez la section Utiliser Markdown et les variables dans les modèles de documentation.
Pour passer à l'étape suivante, cliquez sur Suivant.
- Saisissez un nom pour la règle d'alerte, par exemple
Dans la section Sélectionner les journaux à inclure dans l'alerte, vérifiez la requête et les résultats en cliquant sur Prévisualiser les journaux.
La requête que vous avez créée dans le volet Requête s'affiche également dans ce volet. Nous vous recommandons de créer la requête dans le volet Requête de l'explorateur de journaux.
Si nécessaire, vous pouvez modifier la requête dans ce volet. Si vous modifiez la requête, vérifiez les résultats en cliquant sur Prévisualiser les journaux.
Cliquez sur Suivant.
Dans le volet Définir la fréquence des notifications et le délai pour la fermeture automatique, procédez comme suit :
Sélectionnez le délai minimal entre les notifications. Cette valeur vous permet de contrôler le nombre de notifications que vous recevez de Monitoring si cette condition est remplie plusieurs fois. Pour cet exemple, sélectionnez l'option 1 jour.
Pour la durée de fermeture automatique de l'incident, utilisez la valeur maximale de sept jours.
Cliquez sur Suivant.
Si vous avez déjà configuré un canal de notification par e-mail, vous pouvez le sélectionner dans la liste. Si ce n'est pas le cas, cliquez sur Gérer les canaux de notification et ajoutez un canal de notification par e-mail. Pour savoir comment créer des canaux de notification, consultez Créer et gérer des canaux de notification.
Cliquez sur Enregistrer.
Votre règle d'alerte basée sur les journaux est maintenant prête à être testée, comme décrit dans Tester l'exemple de règle d'alerte basée sur les journaux.
- Découvrez comment définir une stratégie de maintenance d'hôte.
- Découvrez comment recevoir des notifications de migration à chaud.
- Découvrez comment déclencher manuellement un événement de maintenance de l'hôte.
- Découvrez comment gérer les règles d'alerte basées sur les journaux à l'aide de la console Google Cloud pour Monitoring ou de l'API Monitoring.
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 créer des instances et gérer leur maintenance, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour créer des instances et gérer leur maintenance. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer des instances et gérer leur maintenance :
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
Vous ne pouvez afficher les notifications concernant un événement de maintenance à venir pour une instance que si celle-ci utilise un type de machine de l'une des familles de machines suivantes :
Présentation des notifications de maintenance
Google envoie des notifications pour les opérations de maintenance à venir sur les hôtes via plusieurs méthodes. Lorsque l'intervalle de maintenance s'ouvre, Google Cloud effectue automatiquement la maintenance de votre instance. En surveillant les prochains intervalles de maintenance de votre instance, vous pouvez préparer vos charges de travail de manière proactive pour gérer les opérations de maintenance à venir avec un minimum d'interruption.
Les instances de calcul compatibles avec les notifications d'événements de maintenance présentent les caractéristiques suivantes :
Les informations sur un événement de notification à venir sont présentées de la manière suivante :
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "machineType":"x4-megamem-960-metal" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Si aucun événement de maintenance n'est prévu, un message semblable à celui-ci s'affiche :
{ "error": "no notifications have been received yet, try again later" }
Définitions des états de maintenance
Les définitions d'état suivantes permettent de comprendre les réponses fournies aux requêtes concernant la maintenance de l'hôte pour une instance. Elles fournissent des informations sur l'événement de maintenance. Google Cloud CLI, REST et le serveur de métadonnées utilisent ces mêmes réponses :
Comportements des états de maintenance
Lorsque vous gérez des événements de maintenance, vérifiez les valeurs de
canReschedule
etmaintenanceStatus
. Combinés, ces champs indiquent les actions que vous pouvez ou ne pouvez pas effectuer concernant la reprogrammation d'un événement de maintenance :Afficher les notifications de maintenance
Vous pouvez trouver les notifications de maintenance en interrogeant vos instances de calcul, le serveur de métadonnées ou en utilisant Cloud Logging.
Vérifier les instances pour une notification d'événement de maintenance
Utilisez Google Cloud CLI, REST ou interrogez le serveur de métadonnées pour voir s'il y a un événement de maintenance de l'hôte à venir pour votre instance.
gcloud
Pour afficher l'intervalle de maintenance à venir pour une instance, utilisez la commande
gcloud compute instances describe
.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(resourceStatus.upcomingMaintenance)"
Remplacez les éléments suivants :
En cas de maintenance à venir, la réponse contient une section semblable à celle-ci :
resourceStatus: upcomingMaintenance: canReschedule: true latestWindowStartTime: '2025-01-15T12:00:01Z' machineType: x4-megamem-960-metal maintenanceStatus: PENDING type: SCHEDULED windowEndTime: '2025-01-15T16:00:00Z' windowStartTime: '2025-01-15T12:00:00Z'
Dans cette réponse :
REST
Pour savoir si une instance doit subir une opération de maintenance, envoyez une requête
GET
à l'aide de la méthodeinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
Remplacez les éléments suivants :
En cas de maintenance à venir, la réponse contient une section semblable à celle-ci :
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2023-12-01T19:00:01Z" "machineType": "x4-megamem-960-metal" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2023-12-01T22:00:00Z" "windowStartTime": "2023-12-01T19:00:00Z" }
Dans cette réponse :
Serveur de métadonnées
À partir du système d'exploitation invité, interrogez le serveur de métadonnées pour afficher le prochain événement de maintenance.
$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Rechercher une notification d'événement de maintenance dans Cloud Logging
Compute Engine crée des événements système dans Cloud Audit Logs pour une instance lors d'événements de maintenance. Vous pouvez afficher ces événements avant, pendant et après un événement de maintenance à l'aide de Cloud Logging et de l'explorateur de journaux.
Console
Pour interroger les journaux d'audit afin d'obtenir les notifications de maintenance d'une instance, procédez comme suit :
Exemples de notifications de maintenance
Une notification d'événement de maintenance pour une instance s'affiche dans l'explorateur de journaux avec des valeurs semblables à celles-ci :
Lorsque l'événement de maintenance commence, un nouvel événement d'information s'affiche dans les journaux avec des valeurs semblables à celles-ci :
Lors de l'événement de maintenance, en fonction de la configuration de la règle de maintenance de l'hôte pour l'instance, l'un des événements système suivants est consigné dans les journaux d'audit :
Une fois l'événement de maintenance terminé, un nouvel événement d'information s'affiche dans les journaux d'audit avec des valeurs semblables à celles ci-dessous :
Configurer des alertes pour les notifications de maintenance de l'hôte
Vous pouvez configurer une règle d'alerte basée sur les journaux pour rechercher des événements de notification de maintenance spécifiques et envoyer des alertes à l'aide d'un canal de notification.
Console
Pour créer une alerte pour un événement de maintenance de votre instance, procédez comme suit :
Pour en savoir plus, consultez les pages Configurer des alertes basées sur les journaux et Créer et gérer des canaux de notification.
É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/14 (UTC).
-