Gérer les périodes de maintenance des clusters AlloyDB pour PostgreSQL

Cette page vous explique comment effectuer les actions suivantes liées à la maintenance des clusters AlloyDB pour PostgreSQL :

  • Définissez, affichez et effacez un intervalle de maintenance.
  • Affichez les événements de maintenance à venir.
  • Configurer et supprimer une période de refus de maintenance

Toutes les actions listées s'appliquent aux clusters principaux et secondaires.

Pour obtenir une présentation du fonctionnement de la maintenance avec les clusters AlloyDB, consultez Présentation de la maintenance.

Définir un intervalle de maintenance sur un cluster

Console

  1. Accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource.

  3. Sur la page Présentation, dans Maintenance, cliquez sur Modifier.

  4. Dans Intervalle de maintenance, sélectionnez le jour de la semaine pour cet intervalle de maintenance.

    L'option par défaut est N'importe quelle fenêtre. Lorsque vous créez un cluster, cet intervalle de maintenance par défaut lui est attribué.

  5. Sélectionnez l'heure de la journée pour cet intervalle de maintenance.

  6. Cliquez sur Mettre à jour pour enregistrer les modifications.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Pour définir un intervalle de maintenance sur un cluster, exécutez la commande gcloud clusters update avec les options --maintenance-window-day et --maintenance-window-hour :

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-day DAY_OF_WEEK \
  --maintenance-window-hour HOUR_OF_DAY

Remplacez les éléments suivants :

  • CLUSTER_ID : cluster sur lequel définir la période de maintenance.

  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).

  • DAY_OF_WEEK : jour de la semaine, dans le fuseau horaire UTC (temps universel coordonné), pour cet intervalle de maintenance. Les valeurs valides sont MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY et SUNDAY.

    La valeur par défaut est N'importe quelle fenêtre. Lorsque vous créez un cluster, cet intervalle de maintenance par défaut lui est attribué.

  • HOUR_OF_DAY : entier compris entre 0 et 23 représentant l'heure de la journée, dans le fuseau horaire UTC, pour cet intervalle de maintenance.

Si vous modifiez le paramètre d'intervalle de maintenance alors que la maintenance du cluster est déjà en cours ou planifiée, ces modifications ne prennent pas effet tant que la maintenance en cours ou planifiée n'est pas terminée.

Effacer un intervalle de maintenance

Console

  1. Accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource.

  3. Sur la page Présentation, dans Maintenance, cliquez sur Modifier.

  4. Dans Intervalle de maintenance, sélectionnez N'importe quel intervalle.

  5. Cliquez sur Mettre à jour pour enregistrer les modifications.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Pour supprimer l'intervalle de maintenance d'un cluster, exécutez la commande gcloud clusters update avec l'option --maintenance-window-any :

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-any

Remplacez les éléments suivants :

  • CLUSTER_ID : cluster sur lequel définir la période de maintenance.

  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).

Afficher l'intervalle de maintenance d'un cluster

Console

  1. Accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource.

  3. Sur la page Présentation, dans Maintenance, consultez les détails de l'intervalle de maintenance de votre cluster.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Pour examiner l'intervalle de maintenance actuel sur un cluster, exécutez la commande gcloud alloydb clusters describe :

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Remplacez les éléments suivants :

  • CLUSTER_ID : cluster sur lequel définir la période de maintenance.

  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).

Si une période de maintenance est définie pour le cluster, le résultat de la commande inclut des lignes semblables aux suivantes :

maintenanceUpdatePolicy:
  maintenanceWindows:
  - day: TUESDAY
    startTime:
      hours: 23

Si la sortie n'inclut pas de section maintenanceUpdatePolicy, cela signifie qu'aucun intervalle de maintenance n'est défini pour le cluster.

Afficher la maintenance à venir sur un cluster

Console

  1. Accédez à la page Clusters.

    accéder aux clusters

  2. Localisez votre cluster et consultez la colonne Maintenance pour obtenir des informations sur le prochain intervalle de maintenance.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Pour afficher la maintenance à venir planifiée pour un cluster dont l'intervalle de maintenance est défini, exécutez la commande gcloud clusters describe :

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Remplacez les éléments suivants :

  • CLUSTER_ID : cluster sur lequel définir la période de maintenance.

  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).

Si un événement de maintenance planifié est prévu pour le cluster, le résultat de la commande inclut des lignes semblables à celles-ci :

maintenanceSchedule:
  startTime: 2024-07-03T09:46:40Z

L'horodatage au format UTC spécifie le moment où AlloyDB prévoit de commencer à mettre à jour le logiciel système de tous les nœuds de ce cluster.

Activer les notifications de maintenance

Les notifications de maintenance sont désactivées par défaut. Lorsque vous choisissez de recevoir des notifications par e-mail concernant les événements de maintenance AlloyDB à venir, gardez à l'esprit les points suivants :

  • Vous recevez une notification automatique concernant l'événement dès qu'il est programmé. Les événements de maintenance sont planifiés au moins une semaine à l'avance.
  • Les notifications de maintenance sont activées au niveau du projet Google Cloud . Vous ne pouvez pas choisir de recevoir des notifications concernant un sous-ensemble de clusters dans un projet.
  • Vous ne pouvez activer les notifications que pour vous-même. Chaque utilisateur doit activer lui-même les notifications de maintenance.

Pour en savoir plus, consultez Présentation de la maintenance.

Pour recevoir une notification par e-mail automatique chaque fois qu'un événement de maintenance est planifié ou annulé pour un cluster pour lequel un intervalle de maintenance est défini, procédez comme suit à l'aide de la console Google Cloud  :

  1. Accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur un cluster dans la colonne Nom de la ressource.

  3. Sur la page Présentation, dans Maintenance, cliquez sur Modifier sur la ligne Notifications:.

  4. Cliquez sur Communication.

  5. Sur la ligne AlloyDB, Intervalle de maintenance, sélectionnez le bouton bascule dans la colonne E-mail.

Configurer une période de refus de maintenance

Pour empêcher les opérations de maintenance pendant une période spécifique, vous pouvez configurer une période de refus de maintenance. Vous pouvez définir une période de refus de maintenance sur un cluster exécutant la dernière version d'AlloyDB. Une période de refus de maintenance peut durer de un à 30 jours.

Définir des périodes de refus de maintenance

Pour configurer une période de refus de maintenance, définissez sa date de début, sa date de fin, ainsi que l'heure de début et de fin de l'intervalle.

Les dates de début et de fin doivent être au format suivant :

  • YYYY-MM-DD : indique une date spécifique.

La date et l'heure de début et de fin sont indiquées dans le fuseau horaire UTC.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Pour ajouter une période de refus de maintenance à un cluster AlloyDB, exécutez la commande gcloud alloydb clusters update avec les options deny-maintenance-period-start-date, deny-maintenance-period-end-date et deny-maintenance-period-time :

gcloud alloydb clusters update CLUSTER_ID \
   --region LOCATION_ID \
   --deny-maintenance-period-start-date START_DATE \
   --deny-maintenance-period-end-date END_DATE \
   --deny-maintenance-period-time TIME

Remplacez les éléments suivants :

  • CLUSTER_ID : cluster à configurer pour la période sans maintenance.
  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).
  • START_DATE : date de début de la période sans maintenance au format UTC YYYY-MM-DD.
  • END_DATE : fin de la période sans maintenance au format YYYY-MM-DD UTC.
  • TIME : heure de la période sans maintenance au format UTC HH:MM. Les heures sont représentées au format 24 heures, où les valeurs sont comprises entre 00:00 et 23:59 (par exemple, 16:45).

REST v1

Cet exemple ajoute une période de maintenance refusée à un cluster existant. Pour obtenir la liste complète des paramètres de cet appel, consultez Méthode : projects.locations.clusters.instances.patch.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • CLUSTER_ID : cluster à configurer pour la période sans maintenance.
  • PROJECT_ID : ID du projet dans lequel le cluster est placé.
  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).
  • START_YEAR : année de début de la période sans maintenance au format YYYY.
  • START_MONTH : mois de début de la période sans frais de maintenance au format MM. Le zéro situé au début des mois à un chiffre est facultatif. Par exemple, 2 et 02 sont tous deux valides pour le mois de février.
  • START_DAY : jour où commence la période sans maintenance, au format DD. Le zéro situé au début des jours à un chiffre est facultatif. Par exemple, 1 et 01 sont tous les deux valides pour le premier jour du mois.
  • END_YEAR : année de fin de la période sans maintenance au format YYYY.
  • END_MONTH : mois au cours duquel la période sans maintenance se termine, au format MM.
  • END_DAY : jour où la période sans maintenance se termine, au format DD.
  • HOUR(S) : heure de la période sans maintenance au format 24 heures (par exemple, 16). Le zéro situé au début des heures à un chiffre est facultatif. Par exemple, 2 et 02 sont tous deux valides.
  • MINUTE(S) : minute de la période sans maintenance, avec des valeurs comprises entre 0 et 59 (par exemple, 45). Le zéro situé au début des minutes à un chiffre est facultatif (7 et 07 sont valides).

Pour ajouter une période de refus de maintenance, utilisez la requête PATCH suivante :

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

Le paramètre de requête maintenance_update_policy.deny_maintenance_periods indique à l'API de mettre à jour le champ denyMaintenancePeriods dans le bloc maintenanceUpdatePolicy.

Le corps JSON de la requête se présente comme suit :

"maintenanceUpdatePolicy": {
 "denyMaintenancePeriods": [
   {
     "startDate": {
       "year": START_YEAR,
       "month": START_MONTH,
       "day": START_DAY
     },
     "endDate": {
       "year": END_YEAR,
       "month": END_MONTH,
       "day": END_DAY
     },
     "time": {
       "hours": TIME
       "minutes": TIME
     }
   }
 ]
},

Refuser une maintenance à venir

Les périodes de refus de maintenance prévalent sur la maintenance planifiée. En cas de conflit de planification, la période de refus de maintenance remplace l'intervalle de maintenance programmé.

Définir une période de refus qui entre en conflit avec un événement de maintenance planifié n'annule pas immédiatement la maintenance ni n'efface le calendrier. AlloyDB affiche la maintenance planifiée existante comme à venir, mais annule l'intervalle de maintenance planifié lorsque l'heure planifiée commence.

Pour appliquer les mises à jour critiques, le système n'autorise généralement pas la définition d'une période de refus pour ignorer plusieurs événements de maintenance. Dans de rares cas, il peut appliquer une maintenance d'urgence en dehors des préférences de maintenance configurées.

Supprimer une période de refus de maintenance d'un cluster

Vous pouvez supprimer une période de refus de maintenance à tout moment.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Pour supprimer une période de refus de maintenance d'un cluster AlloyDB, exécutez la commande gcloud alloydb clusters update avec l'option remove-deny-maintenance-period :

gcloud alloydb clusters update CLUSTER_ID --region LOCATION_ID  --remove-deny-maintenance-period

Remplacez les éléments suivants :

  • CLUSTER_ID : cluster à partir duquel supprimer la période de refus de maintenance.
  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).

REST v1

Cet exemple supprime une période de refus de maintenance d'un cluster AlloyDB. Pour obtenir la liste complète des paramètres de cet appel, consultez Méthode : projects.locations.clusters.patch.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • CLUSTER_ID : ID du cluster auquel vous ajoutez une période de maintenance refusée.
  • PROJECT_ID : ID du projet dans lequel le cluster est placé.
  • LOCATION_ID : région Google Cloud dans laquelle se trouve ce cluster (par exemple, us-central1).

Pour supprimer une période de refus de maintenance, utilisez la requête PATCH suivante :

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

Le paramètre de requête maintenance_update_policy.deny_maintenance_periods indique à l'API de mettre à jour le champ denyMaintenancePeriods dans le bloc maintenanceUpdatePolicy.

Le corps JSON de la requête se présente comme suit :

{}