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 H3 de type hôte complet avec 88 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 :
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Pour obtenir des informations sur une VM :
compute.instances.get
-
Pour créer une VM, procédez comme suit :
compute.instances.create
VM_NAME
: nom de la VM.ZONE
: zone où se trouve la VM.PROJECT_NAME
: nom du projet.ZONE
: zone où se trouve la VM.VM_NAME
: nom de la VM.- 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é.
- 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. - 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.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Rôles requis
Pour obtenir les autorisations nécessaires pour 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 page Gérer l'accès aux projets, aux dossiers et aux organisations.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 :
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 :
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 surONGOING
. 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 :
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 surONGOING
. 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 :
Comportements des états de maintenance
Lorsque vous gérez le calendrier de maintenance, vérifiez l'état de
canReschedule=
etmaintenanceStatus=
. Ces combinaisons de réponses décrivent le comportement attendu des fonctionnalités et affichent l'une des combinaisons d'état suivantes :É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 2024/11/22 (UTC).
-