Gestisci le finestre di manutenzione del cluster AlloyDB per PostgreSQL

La configurazione dei periodi di manutenzione e dei periodi di divieto ti consente di controllare quando si verificano gli aggiornamenti automatici sui cluster AlloyDB per PostgreSQL per evitare interruzioni durante le ore di picco del traffico. In entrambi i cluster primario e secondario, puoi impostare, visualizzare o cancellare le finestre di manutenzione, monitorare gli eventi di manutenzione pianificati imminenti e configurare o rimuovere i periodi di divieto. Puoi anche attivare le notifiche via email per gli eventi di manutenzione pianificati.

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

Prima di iniziare

Per garantire 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 di max_wal_senders. Per ulteriori informazioni 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, al cluster viene assegnato 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 del Tempo Universale Coordinato (UTC), 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, al cluster viene assegnato 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 vengono applicate fino al termine della manutenzione corrente 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 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.

Visualizzare 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 della finestra di manutenzione per il tuo cluster.

gcloud

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

Per esaminare il periodo di manutenzione corrente su 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, il cluster non ha un periodo di manutenzione impostato.

Visualizzare 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 con una finestra di manutenzione impostata, esegui il comando gcloud 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 il cluster ha un evento di manutenzione pianificato in futuro, 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.

Attivare le notifiche relative alla manutenzione

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

  • Ricevi una notifica automatica relativa all'evento non appena viene pianificato. Gli eventi di manutenzione vengono pianificati almeno una settimana prima.
  • 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 con un periodo di manutenzione impostato, 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 relativa ad AlloyDB, periodo di manutenzione, seleziona il pulsante di attivazione/disattivazione nella colonna Email.

Configurare 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 il rifiuto della manutenzione 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 su versioni precedenti non sempre supportano l'impostazione di periodi di negazione. Se devi impostare un periodo di divieto su un cluster non sufficientemente aggiornato, puoi eseguire la manutenzione self-service per aggiornare il cluster.

I periodi in cui evitare la manutenzione esistenti non bloccano la manutenzione self-service.

Impostare 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 e l'ora di inizio e di fine sono 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 di manutenzione negato 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 YYYY-MM-DD UTC.
  • END_DATE: la fine del periodo esente da manutenzione nel formato YYYY-MM-DD UTC.
  • TIME: l'ora del periodo senza manutenzione nel HH:MM formato UTC. Le ore sono rappresentate nel formato a 24 ore in cui i valori vanno da 00:00 a 23:59, ad esempio 16:45.

REST v1

Questo esempio aggiunge un periodo di manutenzione negato a un cluster esistente. Per un elenco completo dei parametri per questa chiamata, consulta Metodo: projects.locations.clusters.instances.patch.

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

  • 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 in cui inizia il periodo senza manutenzione nel formato YYYY.
  • START_MONTH: il mese in cui inizia il periodo senza manutenzione nel formato MM. Lo zero iniziale per i mesi a una sola 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 sola 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 esente da 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.
  • HOUR(S): l'ora del periodo senza manutenzione nel formato a 24 ore, ad esempio 16. Lo zero iniziale per le ore a una sola cifra è facoltativo. Ad esempio, sia 2 sia 02 sono validi.
  • MINUTE(S): il minuto del periodo senza manutenzione che accetta valori da 0 a 59, ad esempio 45. Lo zero iniziale per i minuti a una sola cifra è facoltativo: 7 e 07 sono validi.

Per aggiungere un periodo di manutenzione negato, utilizza la seguente richiesta PATCH:

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}

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": TIME
       "minutes": TIME
     }
   }
 ]
},

Rifiuta manutenzione prevista

I periodi in cui evitare la manutenzione hanno la precedenza sulla manutenzione pianificata. Se si verifica un conflitto di tempistica, il periodo in cui evitare la manutenzione sostituisce la finestra di manutenzione pianificata.

L'impostazione di un periodo di divieto 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.

Rimuovere un periodo in cui evitare la manutenzione da un cluster

Puoi rimuovere un periodo di manutenzione negato in qualsiasi momento.

gcloud

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

Per rimuovere un periodo di manutenzione negato 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 di divieto di manutenzione.
  • LOCATION_ID: la regione Google Cloud in cui si trova questo cluster, ad esempio us-central1.

REST v1

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

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

  • CLUSTER_ID: l'ID del cluster a cui aggiungere un periodo di manutenzione negato.
  • 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 di manutenzione negato, utilizza la seguente richiesta PATCH:

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}

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