Cette page explique comment déclencher un événement de maintenance de l'hôte sur des instances de famille de VM spécifiques. Cette fonctionnalité vous permet de démarrer manuellement un événement de maintenance afin de contrôler la périodicité de la maintenance de votre VM. Cela s'avère utile pour les charges de travail susceptibles d'être affectées par un intervalle de maintenance spécifique.
Vous pouvez déclencher manuellement un événement de maintenance afin qu'il démarre immédiatement. Il n'est pas possible de déclencher un événement à une date ou à une heure spécifique. Si vous n'utilisez pas cette fonctionnalité, l'événement de maintenance se produit selon ce qui a été planifié.
Limites
Le déclenchement d'un événement de maintenance de l'hôte d'une VM est limité aux types de machines de VM suivants :
- Machines à haute capacité de mémoire, de processeur et standard C4 de type hôte complet avec 193 processeurs virtuels
- Machines à haute capacité de mémoire, de processeur et standard C3 de type hôte complet avec 176 processeurs virtuels
- VM C3 avec SSD local
- Machines C3D standard, à haute capacité de mémoire ou à haute capacité de processeur, de type hôte complet avec 360 processeurs virtuels
- VM C3D avec SSD local
- Machines à haute capacité de mémoire Z3 avec 176 vCPU
Toutes les machines à mémoire optimisée M1, M2 et M3
Si vous utilisez des VM d'autres familles de machines, consultez le document Définir la stratégie de maintenance de l'hôte.
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 comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Rôles requis
Pour obtenir les autorisations nécessaires pour créer des VM et gérer leur maintenance, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1
) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ce rôle prédéfini contient les autorisations requises pour créer des VM 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 VM et gérer leur maintenance :
-
Pour obtenir des informations sur une VM :
compute.instances.get
-
Pour créer une VM, procédez comme suit :
compute.instances.create
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Déclencher un événement de maintenance de l'hôte
Google envoie des notifications pour les opérations de maintenance de VM à venir via différentes méthodes. Vous pouvez accéder à vos notifications en interrogeant vos VM, le serveur de métadonnées ou Cloud Logging.
Après avoir reçu une notification concernant un événement de maintenance de l'hôte, vous avez la possibilité de déclencher la maintenance immédiatement ou d'attendre que l'événement de maintenance ait lieu comme cela a été planifié.
Démarrer l'événement de maintenance
Vous pouvez démarrer la maintenance de VM immédiatement, plutôt que d'attendre l'horodatage programmé. Utilisez Google Cloud CLI ou la méthode REST pour déclencher immédiatement la maintenance de la VM.
Si vous ne recevez aucune notification et que vous essayez de déclencher un événement de maintenance, le message suivant s'affiche :
There is no reschedulable upcoming maintenance.
Cela indique qu'aucun événement de maintenance n'a été planifié et qu'aucune action n'est censée être entreprise.
gcloud
Pour démarrer la maintenance immédiatement, utilisez la commande gcloud compute instances perform-maintenance
. Vous devez inclure l'option --zone=[ZONE_NAME]
.
gcloud compute instances perform-maintenance VM_NAME \ --zone=ZONE
Remplacez les éléments suivants :
VM_NAME
: nom de la VM.ZONE
: zone où se trouve la VM.
La réponse est semblable à ce qui suit :
upcomingMaintenance:{
"canReschedule":false
"latestWindowStartTime": "2023-12-01T19:00:01Z"
"maintenanceStatus":"ONGOING"
"type":"SCHEDULED"
"windowEndTime": "2023-12-01T22:00:00Z"
"windowStartTime": "2023-12-01T19:00:00Z"
}
Dans la réponse, maintenanceStatus
est défini sur ONGOING
. Cela signifie que l"opération de maintenance est en cours.
REST
Pour déclencher la maintenance de VM, exécutez la commande instances.performMaintenance
:
POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/performMaintenance
Remplacez les éléments suivants :
PROJECT_NAME
: nom du projet.ZONE
: zone où se trouve la VM.VM_NAME
: nom de la VM.
La réponse est semblable à ce qui suit :
upcomingMaintenance:{
"canReschedule":false
"latestWindowStartTime": "2023-12-01T19:00:01Z"
"maintenanceStatus":"ONGOING"
"type":"SCHEDULED"
"windowEndTime": "2023-12-01T22:00:00Z"
"windowStartTime": "2023-12-01T19:00:00Z"
}
Dans la réponse, maintenanceStatus
est défini sur ONGOING
. Cela signifie que l"opération de maintenance est en cours.
Définitions des états de maintenance
Les définitions d'état suivantes permettent de comprendre les réponses fournies à une requête de maintenance de VM. Elles fournissent des informations sur la maintenance de VM. Google Cloud CLI, REST et le serveur de métadonnées utilisent ces mêmes réponses :
- windowStartTime : début de la période au cours de laquelle la maintenance est effectuée
- windowEndTime : fin de la période au cours de laquelle la maintenance est effectuée.
- latestWindowStartTime : heure la plus ancienne vers laquelle la période peut être déplacée
- maintenanceType : type de maintenance à effectuer.
- NONE : aucune maintenance n'est programmée pour cette VM.
- SCHEDULED : la maintenance sera notifiée 7 jours avant.
- UNSCHEDULED : la maintenance inclut des mises à jour critiques qui ne sont pas annoncées aussi longtemps à l'avance.
- canReschedule : indique si la maintenance peut être déclenchée pendant la période de notification pour cette VM.
- 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 VM. Cela se produit souvent pendant la période de maintenance de la VM.
- maintenanceStatus : état de l'opération de maintenance actuelle
- ONGOING : l'opération de maintenance est en cours
- PENDING : l'opération de maintenance est planifiée, mais n'a pas encore commencé.
Comportements des états de maintenance
Lorsque vous gérez le calendrier de maintenance, vérifiez l'état de canReschedule=
et maintenanceStatus=
. Ces combinaisons de réponses décrivent le comportement attendu des fonctionnalités et affichent l'une des combinaisons d'état suivantes :
- Si les valeurs sont
canReschedule=Yes
etmaintenanceStatus=Pending
, vous pouvez déclencher la maintenance sur la VM. - Si les valeurs sont
canReschedule=No
etmaintenanceStatus=Ongoing
, la maintenance est déjà en cours. - Si
canReschedule=No
etmaintenanceStatus=Pending
, votre VM n'est pas compatible avec les opérations de maintenance déclenchées manuellement.
Étapes suivantes
- Découvrez comment simuler un événement de maintenance de l'hôte.
- Découvrez comment recevoir des notifications de migration à chaud.
- Découvrez comment créer une alerte basée sur les journaux dans Cloud Logging.