Gestisci le finestre di manutenzione del cluster AlloyDB per PostgreSQL

La configurazione dei periodi di manutenzione e dei periodi di esclusione ti consente di controllare quando vengono eseguiti gli aggiornamenti automatici sui cluster AlloyDB per PostgreSQL per evitare interruzioni durante le ore di picco del traffico. Sia nei cluster principali che in quelli secondari, puoi impostare, visualizzare o cancellare i periodi di manutenzione, monitorare gli eventi di manutenzione pianificati imminenti e configurare o rimuovere i periodi di non disponibilità. Puoi anche attivare le notifiche via email per gli eventi di manutenzione pianificati.

Per una panoramica del funzionamento della manutenzione, consulta Panoramica della manutenzione. Puoi anche scoprire come gestire gli aggiornamenti di manutenzione di AlloyDB utilizzando un cluster di gestione temporanea.

Prima di iniziare

Per assicurarti che la manutenzione e gli aggiornamenti possano creare slot di replica temporanei per la sincronizzazione dello stato, assicurati che il numero totale di slot di replica sia almeno uno in meno rispetto al limite max_wal_senders. Per saperne di più sulla configurazione di questo flag, consulta Configura le istanze di origine.

Imposta un periodo di manutenzione su un cluster

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa.

  3. Nella pagina Panoramica, in Manutenzione, fai clic su Modifica.

  4. In Periodo di manutenzione, seleziona il giorno della settimana per questo periodo di manutenzione.

    L'opzione predefinita è Qualsiasi finestra. Quando crei un cluster, questo viene assegnato a questo periodo di manutenzione predefinito.

  5. Seleziona l'ora del giorno per questo periodo di manutenzione.

  6. Fai clic su Aggiorna per salvare le modifiche.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Per impostare un periodo di manutenzione su un cluster, esegui il comando gcloud alloydb clusters update con i flag --maintenance-window-day e --maintenance-window-hour:

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

Sostituisci quanto segue:

  • CLUSTER_ID: il cluster su cui impostare il periodo di manutenzione.

  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.

  • DAY_OF_WEEK: il giorno della settimana, nel fuso orario UTC (Tempo Universale Coordinato), per questo periodo di manutenzione. I valori validi sono MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY e SUNDAY.

    Il valore predefinito è Qualsiasi finestra. Quando crei un cluster, questo viene assegnato a questo periodo di manutenzione predefinito.

  • HOUR_OF_DAY: un numero intero compreso tra 0 e 23 che rappresenta l'ora del giorno, nel fuso orario UTC, per questo periodo di manutenzione.

Se apporti modifiche all'impostazione del periodo di manutenzione mentre il cluster è già in fase di manutenzione o è pianificato per la manutenzione, le modifiche non avranno effetto fino al completamento della manutenzione attuale o pianificata.

Cancella un periodo di manutenzione

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa.

  3. Nella pagina Panoramica, in Manutenzione, fai clic su Modifica.

  4. In Periodo di manutenzione, seleziona Qualsiasi periodo.

  5. Fai clic su Aggiorna per salvare le modifiche.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Per cancellare il periodo di manutenzione da un cluster, esegui il comando gcloud alloydb clusters update con il flag --maintenance-window-any:

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

Sostituisci quanto segue:

  • CLUSTER_ID: il cluster su cui impostare il periodo di manutenzione.

  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.

Visualizza il periodo di manutenzione di un cluster

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa.

  3. Nella pagina Panoramica, in Manutenzione, visualizza i dettagli del periodo di manutenzione del cluster.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Per esaminare il periodo di manutenzione attuale di un cluster, esegui il comando gcloud alloydb clusters describe:

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Sostituisci quanto segue:

  • CLUSTER_ID: il cluster su cui impostare il periodo di manutenzione.

  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.

Se per il cluster è impostato un periodo di manutenzione, l'output del comando include righe simili alle seguenti:

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

Se l'output non include una sezione maintenanceUpdatePolicy, significa che per il cluster non è impostato un periodo di manutenzione.

Visualizza la manutenzione imminente su un cluster

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Individua il cluster e visualizza la colonna Manutenzione per informazioni sul periodo di manutenzione imminente.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Per visualizzare la manutenzione imminente pianificata per un cluster per cui è impostato un periodo di manutenzione, esegui il comando gcloud alloydb clusters describe:

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Sostituisci quanto segue:

  • CLUSTER_ID: il cluster su cui impostare il periodo di manutenzione.

  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.

Se per il cluster è previsto un evento di manutenzione pianificata, l'output del comando include righe simili alle seguenti:

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

Il timestamp in formato UTC specifica il momento in cui AlloyDB prevede di iniziare ad aggiornare il software di sistema di tutti i nodi di questo cluster.

Attiva le notifiche di manutenzione

Le notifiche di manutenzione sono disattivate per impostazione predefinita. Quando scegli di attivare la ricezione di notifiche via email sugli eventi di manutenzione di AlloyDB imminenti, tieni presente quanto segue:

  • Ricevi una notifica automatica sull'evento non appena viene pianificato. Gli eventi di manutenzione vengono pianificati con almeno una settimana di anticipo.
  • Le notifiche di manutenzione sono attivate a livello di progetto Google Cloud . Non puoi scegliere di ricevere notifiche su un sottoinsieme di cluster in un progetto.
  • Puoi attivare le notifiche solo per te. Ogni utente deve attivare separatamente la ricezione delle notifiche di manutenzione.

Per saperne di più, consulta la panoramica della manutenzione.

Per ricevere una notifica via email automatica ogni volta che un evento di manutenzione viene pianificato o annullato per un cluster per cui è impostato un periodo di manutenzione, segui questi passaggi utilizzando la console Google Cloud :

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa.

  3. Nella pagina Panoramica, in Manutenzione, fai clic su Modifica nella riga Notifications:.

  4. Fai clic su Comunicazione.

  5. Nella riga AlloyDB, Periodo di manutenzione, seleziona il pulsante di attivazione/disattivazione nella colonna Email.

Configura un periodo in cui evitare la manutenzione

Per impedire le operazioni di manutenzione durante un periodo di tempo specifico, puoi configurare un periodo in cui evitare la manutenzione. Puoi impostare la manutenzione non consentita su un cluster che esegue l'ultima versione di AlloyDB. Un periodo in cui evitare la manutenzione può durare da 1 a 30 giorni.

I cluster con istanze di versioni precedenti non supportano sempre l'impostazione di periodi di rifiuto. Se devi impostare un periodo di blocco su un cluster non sufficientemente aggiornato, puoi eseguire la manutenzione self-service per aggiornare il cluster.

I periodi di blocco esistenti non bloccano la manutenzione self-service.

Imposta i periodi in cui evitare la manutenzione

Per configurare un periodo in cui evitare la manutenzione, imposta la data di inizio, la data di fine e l'ora del giorno in cui inizia e termina l'intervallo.

Le date di inizio e di fine devono essere nel seguente formato:

  • YYYY-MM-DD: indica una data specifica

La data di inizio, la data di fine e l'ora sono espresse nel fuso orario UTC.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Per aggiungere un periodo in cui evitare la manutenzione a un cluster AlloyDB, esegui il comando gcloud alloydb clusters update con i flag --deny-maintenance-period-start-date, --deny-maintenance-period-end-date e --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

Sostituisci quanto segue:

  • CLUSTER_ID: il cluster da configurare per il periodo senza manutenzione.
  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.
  • START_DATE: la data di inizio del periodo senza manutenzione nel formato UTC YYYY-MM-DD.
  • END_DATE: la fine del periodo senza manutenzione nel formato UTC YYYY-MM-DD.
  • TIME: l'ora del periodo senza manutenzione in formato UTC HH:MM. Le ore sono rappresentate nel formato 24 ore, con valori compresi tra 00:00 e 23:59, ad esempio 16:45.

REST v1

Questo esempio aggiunge un periodo in cui evitare la manutenzione a un cluster esistente. Per un elenco completo dei parametri di questa chiamata, consulta Metodo: projects.locations.clusters.patch.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • CLUSTER_ID: il cluster da configurare per il periodo senza manutenzione.
  • PROJECT_ID: l'ID del progetto in cui si trova il cluster.
  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.
  • START_YEAR: l'anno di inizio del periodo senza manutenzione nel formato YYYY.
  • START_MONTH: il mese di inizio del periodo senza manutenzione nel formato MM. Lo zero iniziale per i mesi a una cifra è facoltativo. Ad esempio, sia 2 che 02 sono validi per febbraio.
  • START_DAY: il giorno in cui inizia il periodo senza manutenzione nel formato DD. Lo zero iniziale per i giorni a una cifra è facoltativo. Ad esempio, sia 1 che 01 sono validi per il primo giorno del mese.
  • END_YEAR: l'anno in cui termina il periodo senza manutenzione nel formato YYYY.
  • END_MONTH: il mese in cui termina il periodo senza manutenzione nel formato MM.
  • END_DAY: il giorno in cui termina il periodo senza manutenzione nel formato DD.
  • HOURS: l'ora del periodo senza manutenzione nel formato 24 ore, ad esempio 16. Uno zero iniziale per le ore a una cifra è facoltativo, ad esempio sia 2 che 02 sono validi.
  • MINUTES: il minuto del periodo senza manutenzione che accetta valori da 0 a 59, ad esempio 45. Uno zero iniziale per i minuti a una cifra è facoltativo: 7 e 07 sono validi.

Per aggiungere un periodo in cui evitare la manutenzione, utilizza la seguente richiesta PATCH:

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

Il parametro di query maintenance_update_policy.deny_maintenance_periods indica all'API di aggiornare il campo denyMaintenancePeriods all'interno del blocco maintenanceUpdatePolicy.

Il corpo JSON della richiesta è il seguente:

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

Evita la manutenzione imminente

I periodi in cui evitare la manutenzione hanno la precedenza sulla manutenzione pianificata. Se si verifica un conflitto di tempistiche, il periodo in cui evitare la manutenzione ha la precedenza sul periodo di manutenzione pianificato.

L'impostazione di un periodo di esclusione in conflitto con un evento di manutenzione pianificato non annulla immediatamente la manutenzione e non cancella la pianificazione. AlloyDB mostra la manutenzione pianificata esistente come imminente, ma annulla il periodo di manutenzione pianificato all'inizio dell'ora pianificata.

Per facilitare l'applicazione degli aggiornamenti critici, il sistema in genere non consente di impostare un periodo di rifiuto per saltare più di un evento di manutenzione e, in rari casi, potrebbe applicare la manutenzione di emergenza al di fuori delle preferenze di manutenzione configurate.

Rimuovi un periodo in cui evitare la manutenzione da un cluster

Puoi rimuovere un periodo in cui evitare la manutenzione in qualsiasi momento.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Per rimuovere un periodo in cui evitare la manutenzione da un cluster AlloyDB, esegui il comando gcloud alloydb clusters update con il flag --remove-deny-maintenance-period:

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

Sostituisci quanto segue:

  • CLUSTER_ID: il cluster da cui rimuovere il periodo in cui la manutenzione non è consentita.
  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.

REST v1

Questo esempio rimuove un periodo in cui evitare la manutenzione da un cluster AlloyDB. Per un elenco completo dei parametri di questa chiamata, consulta Metodo: projects.locations.clusters.patch.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • CLUSTER_ID: l'ID del cluster a cui aggiungi un periodo in cui evitare la manutenzione.
  • PROJECT_ID: l'ID del progetto in cui si trova il cluster.
  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.

Per rimuovere un periodo in cui evitare la manutenzione, utilizza la seguente richiesta PATCH:

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

Il parametro di query maintenance_update_policy.deny_maintenance_periods indica all'API di aggiornare il campo denyMaintenancePeriods all'interno del blocco maintenanceUpdatePolicy.

Il corpo JSON della richiesta è il seguente:

{}

Passaggi successivi