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

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

  • Définir, afficher et effacer un intervalle de maintenance
  • Afficher les événements de maintenance à venir planifiés
  • 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 la section Présentation de la maintenance. Vous pouvez également découvrir comment gérer les mises à jour de maintenance AlloyDB à l'aide d'un cluster de préproduction.

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 quel intervalle. 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 la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.

Pour définir un intervalle de maintenance sur un cluster, exécutez la commande gcloud alloydb 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 l'intervalle de maintenance.

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

  • 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 quel intervalle. 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 effet qu'une fois la maintenance actuelle ou planifiée 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 la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.

Pour effacer l'intervalle de maintenance d'un cluster, exécutez la gcloud clusters update commande 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 l'intervalle de maintenance.

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

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, affichez les détails de l'intervalle de maintenance de votre cluster.

gcloud

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

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

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Remplacez les éléments suivants :

  • CLUSTER_ID: cluster sur lequel définir l'intervalle de maintenance.

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

Si un intervalle de maintenance est défini pour le cluster, le résultat de la commande inclut des lignes semblables à celles-ci :

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

Si le résultat n'inclut pas de section maintenanceUpdatePolicy, 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. Recherchez votre cluster et consultez la colonne Maintenance pour obtenir des informations sur l'intervalle de maintenance à venir.

gcloud

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

Pour afficher la maintenance à venir prévue pour un cluster pour lequel un intervalle de maintenance est défini, exécutez la gcloud clusters describe commande :

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Remplacez les éléments suivants :

  • CLUSTER_ID: cluster sur lequel définir l'intervalle de maintenance.

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

Si un événement de maintenance 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 d'activer les notifications par e-mail concernant les événements de maintenance AlloyDB à venir, tenez compte des points suivants :

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

Pour plus d'informations, consultez la section Présentation de la maintenance.

Pour recevoir une notification par e-mail automatisée 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 Google Cloud 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 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 un 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.

Les clusters dont les instances exécutent des versions antérieures ne sont pas toujours compatibles avec la définition de périodes de refus. Si vous devez définir une période de refus sur un cluster qui n'est pas suffisamment à jour, vous pouvez effectuer une maintenance en libre-service pour mettre à jour votre cluster.

Les périodes de refus existantes ne bloquent pas la maintenance en libre-service.

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, l'heure de début et l'heure de fin sont dans le fuseau horaire UTC.

gcloud

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

Pour ajouter une période de refus de maintenance à un cluster AlloyDB, exécutez la gcloud alloydb clusters update commande 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 dans laquelle se trouve ce cluster, par exemple us-central1. Google Cloud
  • 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 UTC YYYY-MM-DD.
  • 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 vont de 00:00 à 23:59 (par exemple, 16:45).

REST v1

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

Avant d'utiliser les données de la 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 dans laquelle se trouve ce cluster, par exemple us-central1. Google Cloud
  • 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 maintenance au format MM. Un zéro non significatif pour les mois à un seul chiffre est facultatif. Par exemple, 2 et 02 sont valides pour février.
  • START_DAY: jour de début de la période sans maintenance au format DD. Un zéro non significatif pour les jours à un seul chiffre est facultatif. Par exemple, 1 et 01 sont 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 de fin de la période sans maintenance au format MM.
  • END_DAY: jour de fin de la période sans maintenance au format DD.
  • HOUR(S): heure de la période sans maintenance au format 24 heures, par exemple 16. Un zéro non significatif pour les heures à un seul chiffre est facultatif. Par exemple, 2 et 02 sont valides.
  • MINUTE(S): minute de la période sans maintenance qui accepte des valeurs comprises entre 0 et 59, par exemple 45. Un zéro non significatif pour les minutes à un seul chiffre est facultatif. Par exemple, 7 et 07 sont valides.

Pour ajouter une période de refus de maintenance, utilisez la PATCH requête 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 de la requête JSON 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 la maintenance à venir

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

La définition d'une période de refus en conflit avec un événement de maintenance planifié n'annule pas immédiatement la maintenance et n'efface pas la planification. AlloyDB affiche la maintenance planifiée existante comme à venir, mais annule l' intervalle de maintenance planifié lorsque l'heure planifiée commence.

Pour faciliter l'application des mises à jour critiques, le système n'autorise généralement pas la définition d'une période de refus pour ignorer plus d'un événement de maintenance et peut, dans de rares cas, 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 la gcloud CLI, vous pouvez installer et initialiser la Google Cloud CLI, ou vous pouvez utiliser Cloud Shell.

Pour supprimer une période de refus de maintenance d'un cluster AlloyDB, exécutez la gcloud alloydb clusters update commande 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 dans laquelle se trouve ce cluster, par exemple us-central1. Google Cloud

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 la page Méthode : projects.locations.clusters.patch.

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

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

Pour supprimer une période de refus de maintenance, utilisez la PATCH requête 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 de la requête JSON se présente comme suit :

{}

Étape suivante