Gestire gli aggiornamenti di manutenzione di AlloyDB utilizzando un cluster di staging

Per ridurre al minimo il rischio per i workload di produzione di AlloyDB per PostgreSQL, puoi utilizzare un cluster di gestione temporanea per testare nuove funzionalità, prestazioni e funzionalità prima di applicare gli aggiornamenti ai sistemi di produzione. Un cluster di gestione temporanea è una copia del cluster di produzione che aggiunge un livello di controllo al processo di aggiornamento della manutenzione. L'utilizzo di un cluster di gestione temporanea per testare gli aggiornamenti di manutenzione ti consente di identificare e risolvere potenziali problemi in un ambiente non di produzione. Questo approccio riduce il rischio di tempi di inattività e di peggioramento delle prestazioni nei sistemi di produzione.

Gli aggiornamenti di manutenzione di AlloyDB sono periodici, spesso mensili. Gli aggiornamenti includono nuove funzionalità, correzioni di bug, upgrade della compatibilità del database e correzioni relative alla sicurezza. Sebbene le versioni di AlloyDB siano compatibili con le versioni successive, ti consigliamo di testare le nuove versioni in un ambiente di gestione temporanea per garantire la stabilità e la prevedibilità del database per le applicazioni critiche nel cluster di produzione. Per saperne di più, consulta la panoramica della manutenzione.

Per utilizzare un cluster di gestione temporanea, segui questi passaggi generali:

  1. Configura un cluster di gestione temporanea.
  2. Configura un periodo di manutenzione su un cluster di produzione.
  3. Gestisci gli aggiornamenti del cluster di gestione temporanea.
  4. Gestisci gli aggiornamenti dei cluster di produzione.

Questo approccio di convalida della gestione temporanea per la manutenzione di AlloyDB garantisce che l'ambiente di produzione rimanga stabile, performante e sicuro, beneficiando al contempo delle funzionalità e delle patch più recenti di AlloyDB.

Il seguente diagramma mostra la relazione tra il cluster di gestione temporanea e il cluster di produzione, nonché il flusso operativo del processo di aggiornamento:

Relazione tra i cluster di produzione e di gestione temporanea

Per scoprire di più su come funzionano gli aggiornamenti di manutenzione con i cluster AlloyDB, consulta Panoramica della manutenzione. Per scoprire di più sulla gestione dei periodi di manutenzione, consulta Gestisci i periodi di manutenzione dei cluster AlloyDB per PostgreSQL.

Prima di iniziare

Il progetto Google Cloud che utilizzi deve essere abilitato per accedere ad AlloyDB.

Per configurare un cluster di gestione temporanea, devi creare o avere già un cluster di produzione AlloyDB esistente. Per saperne di più, consulta Crea un cluster e la relativa istanza principale.

Devi disporre di uno dei seguenti ruoli IAM nel progetto Google Cloud che stai utilizzando:

  • roles/alloydb.admin: il ruolo IAM predefinito AlloyDB Admin
  • roles/owner: il ruolo IAM di base Proprietario
  • roles/editor: il ruolo IAM di base Editor

Se non disponi di nessuno di questi ruoli, contatta l'Amministratore organizzazione per richiedere l'accesso.

Configura un cluster di gestione temporanea

La chiave per una strategia di staging-first di successo è assicurarsi che il cluster di staging sia simile all'ambiente di produzione e che riceva gli aggiornamenti prima della produzione. Puoi configurare una strategia di gestione temporanea se non imposti un periodo di manutenzione nel cluster di gestione temporanea. AlloyDB aggiorna prima i cluster senza periodi di manutenzione.

Crea un cluster di gestione temporanea dal backup di produzione

Esegui il deployment di un cluster di gestione temporanea che rispecchi l'ambiente di produzione e assicurati che abbia la stessa versione, configurazione e gli stessi dati di AlloyDB del cluster di produzione.

Per assicurarti che il cluster di gestione temporanea sia identico all'ambiente di produzione, utilizza il comando restore per clonare il database di produzione nel cluster di gestione temporanea e per garantire la somiglianza dei dati e la corrispondenza della configurazione. Ti consigliamo inoltre di separare gli ambienti di gestione temporanea e di produzione in progetti diversi.

Per creare un backup di produzione, puoi utilizzare i due metodi seguenti:

  • Crea un nuovo cluster di gestione temporanea eseguendo un ripristino completo di un backup del cluster di produzione esistente. Questo metodo non prevede il recupero di un database. Tuttavia, a seconda della pianificazione del backup, i dati possono risalire fino a 24 ore prima. Per utilizzare questo metodo, consulta Ripristina un cluster da un backup archiviato.
  • Crea un nuovo cluster di gestione temporanea eseguendo il recupero point-in-time (PITR) in un momento specifico di un backup del database di produzione esistente, incluso l'ultimo momento. Con questa opzione, ottieni i dati più recenti e il metodo è più semplice. Tuttavia, a seconda dell'ora dell'ultimo backup PITR, il ripristino o il recupero dei dati all'ora specificata potrebbe richiedere più tempo. Per utilizzare questo metodo, consulta Utilizza il recupero point-in-time (PITR).

Verifica che non sia impostato un periodo di manutenzione nel cluster di gestione temporanea

Non impostare un periodo di manutenzione per il cluster di gestione temporanea. Per impostazione predefinita, i cluster AlloyDB appena creati, anche quelli ripristinati da un backup, non hanno un periodo di manutenzione impostato. Questo è lo stato corretto per l'ambiente di gestione temporanea. AlloyDB aggiorna i cluster che non hanno periodi di manutenzione pianificati prima di aggiornare i cluster con periodi di manutenzione pianificati.

Puoi verificare che non sia impostato un periodo di manutenzione nel seguente modo:

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa. Si apre la pagina Panoramica.

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

  4. (Facoltativo) Nella pagina Insight sul sistema, puoi visualizzare i dettagli dello stato di attività dell'operazione di manutenzione, ad esempio la Cronologia eventi.

  5. Per visualizzare la gestione della manutenzione unificata, inserisci "Manutenzione Cloud Hub" nella barra di ricerca e seleziona Manutenzione. In questa pagina puoi visualizzare un riepilogo della manutenzione, la manutenzione controllata da Google e i dettagli della manutenzione pianificata.

gcloud

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

    gcloud alloydb clusters describe STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --project=PROJECT_ID
  2. Cerca il campo maintenanceUpdatePolicy.maintenanceWindows nell'output. Se non è impostato alcun periodo di manutenzione, questo campo è assente o vuoto. Se, per qualsiasi motivo, è impostato un periodo di manutenzione, cancellalo:

    gcloud alloydb clusters update STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --maintenance-window-any \
        --project=PROJECT_ID

Gestisci più canali di rilascio per più ambienti non di produzione

Se la tua organizzazione ha una cadenza di rilascio ben definita e solida e disponi di più ambienti non di produzione, potresti voler applicare le nuove release passo dopo passo. Ad esempio, potresti voler applicare una release nella seguente sequenza:

  1. Ambiente di sviluppo
  2. Ambiente di garanzia di qualità
  3. Ambiente di gestione temporanea

Per un controllo più granulare del programma delle pubblicazioni in AlloyDB, puoi utilizzare la manutenzione self-service. La manutenzione self-service ti consente di applicare manualmente una nuova release a qualsiasi ambiente in qualsiasi momento.

Per implementare questo tipo di cadenza di rilascio, segui questi passaggi generali:

  1. Applica la manutenzione non consentita a tutti gli ambienti non di produzione per assicurarti che non ricevano aggiornamenti automaticamente.
  2. Utilizza la manutenzione self-service per applicare gli aggiornamenti agli ambienti non di produzione in base alla pianificazione specificata.

Configura un periodo di manutenzione su un cluster di produzione

Per il cluster di produzione, è importante pianificare un periodo di manutenzione. In questo modo, puoi controllare quando vengono eseguiti gli aggiornamenti e allinearli ai periodi di traffico ridotto della tua attività.

Imposta un periodo di manutenzione sul cluster di produzione

Pianifica un periodo di manutenzione per il cluster di produzione. Scegli un giorno e un'ora in cui il sistema di produzione è meno carico. Il tempo totale richiesto per un singolo evento di manutenzione può variare.

AlloyDB ritarda automaticamente gli aggiornamenti al cluster di produzione per almeno una settimana dopo l'aggiornamento del cluster di gestione temporanea. Se riscontri problemi dopo gli aggiornamenti del cluster di gestione temporanea, puoi rifiutare gli aggiornamenti di manutenzione della produzione per un massimo di 30 giorni e collaborare con l'assistenzaGoogle Cloud per risolvere i problemi.

Imposta un periodo di manutenzione sul cluster di produzione in questo modo:

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

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

  3. Nella pagina Panoramica, nella sezione Manutenzione, fai clic su Modifica. Si apre una finestra di configurazione.

  4. Nella sezione Periodo di manutenzione preferito, seleziona il giorno della settimana per questo periodo di manutenzione. L'opzione predefinita è "Qualsiasi finestra".

    Quando crei un cluster, AlloyDB gli assegna questo periodo di manutenzione predefinito.

  5. Se selezioni un giorno per gli aggiornamenti di manutenzione, seleziona l'ora del giorno per il 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 il periodo di manutenzione per un cluster AlloyDB, esegui il comando gcloud alloydb clusters update:

gcloud alloydb clusters update PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --maintenance-window-day=DAY_OF_WEEK \
    --maintenance-window-hour=HOUR_OF_DAY \
    --project=PROJECT_ID

Effettua le seguenti sostituzioni:

  • PRODUCTION_CLUSTER_ID: l'ID del cluster di produzione.
  • LOCATION_ID: la regione Google Cloud .
  • DAY_OF_WEEK: il giorno preferito per la manutenzione, ad esempio SUNDAY.
  • HOUR_OF_DAY: l'ora preferita per la manutenzione in UTC (0-23).

    L'esempio seguente mostra come impostare il periodo di manutenzione per la domenica alle 02:00 UTC:

    gcloud alloydb clusters update my-prod-cluster \
        --region=us-central1 \
        --maintenance-window-day=SUNDAY \
        --maintenance-window-hour=2 \
        --project=my-production-project

Verifica il periodo di manutenzione sul cluster di produzione

Per verificare che il periodo di manutenzione sia impostato per il cluster di produzione, esegui il comando gcloud alloydb clusters describe:

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID

L'output restituisce il campo maintenanceUpdatePolicy.maintenanceWindows con il giorno e l'ora di manutenzione specificati.

Attiva le notifiche di manutenzione

Ti consigliamo di attivare la ricezione di notifiche sugli eventi di manutenzione pianificati per il tuo cluster di produzione. Le notifiche ti aiutano a pianificare quando iniziare i test.

Per attivare le notifiche di manutenzione, segui questi passaggi:

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa. Si apre la pagina Panoramica.

  3. Nella pagina Panoramica, nella sezione Manutenzione, fai clic su Mostra dettagli per espandere la sezione. Poi, fai clic su Modifica nella riga Notifiche. Si apre la pagina Comunicazione.

  4. Nella pagina Comunicazione, seleziona la scheda Comunicazioni sui prodotti.

  5. Nella riga AlloyDB, nella colonna Email, attiva il pulsante di notifica su On.

Dopo aver configurato il periodo di manutenzione per il cluster di produzione, AlloyDB lo aggiorna non prima di sette giorni dall'aggiornamento del cluster di gestione temporanea. Se scegli di ricevere notifiche, riceverai una notifica via email che ti informa che è pianificato un aggiornamento di manutenzione per il tuo cluster di produzione.

Aggiornamenti del cluster di gestione temporanea

Utilizza l'ambiente di gestione temporanea per convalidare l'imminente aggiornamento della produzione.

Controlla lo stato pre-aggiornamento

Poiché il cluster di gestione temporanea non ha un periodo di manutenzione, è tra i primi cluster a ricevere l'aggiornamento. Tuttavia, AlloyDB non invia notifiche per i cluster per i quali non è configurato un periodo di manutenzione. Tuttavia, puoi monitorare quando si verificano gli aggiornamenti di manutenzione utilizzando Esplora log nella console Google Cloud .

  1. Nella Google Cloud console, vai alla pagina Esplora log:

    Vai a Esplora log

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Seleziona Tutte le risorse, scegli il cluster di gestione temporanea e fai clic su Applica.

  3. Seleziona Tutti i nomi di log, seleziona maintenance_events e fai clic su Applica.

  4. Nel riquadro Cronologia, seleziona l'intervallo di tempo in cui il cluster di gestione temporanea riceve gli aggiornamenti.

Esegui la verifica funzionale post-aggiornamento

Dopo che AlloyDB ha aggiornato il cluster di gestione temporanea, esegui test funzionali per confermare che gli aggiornamenti siano sicuri e adatti per essere applicati al tuo ambiente di produzione.

Esegui la verifica delle prestazioni dopo l'aggiornamento

Verifica il cluster di gestione temporanea al termine dell'aggiornamento di manutenzione. Valuta eventuali impatti sulle prestazioni del database dopo la gestione temporanea degli aggiornamenti del cluster. Esegui test completi di funzionalità e prestazioni per assicurarti che le tue applicazioni si comportino come previsto e che soddisfino gli SLA relativi alle prestazioni.

Per garantire la stabilità e il funzionamento ottimale:

  • Confronta i dati di riferimento pre-aggiornamento con le metriche chiave.
  • Esegui test di carico per identificare le regressioni.
  • Analizza le prestazioni delle query.
  • Monitorare l'utilizzo delle risorse.

Passa all'azione in base ai risultati della verifica

Esamina i risultati della verifica e intraprendi le seguenti azioni in base ai risultati:

  • Verifica riuscita: se i test funzionali e di prestazioni sul cluster di gestione temporanea hanno esito positivo, significa che l'ambiente di gestione temporanea è privo di errori e che puoi consentire alla manutenzione di produzione di procedere come pianificato nella finestra di programmazione. Preparati all'aggiornamento della produzione e informa gli stakeholder pertinenti.
  • La verifica non va a buon fine: se i test funzionali e di prestazioni sul cluster di gestione temporanea non vanno a buon fine e riscontri errori funzionali, peggioramenti delle prestazioni o comportamenti imprevisti nell'ambiente di gestione temporanea dopo l'aggiornamento di manutenzione, devi negare la manutenzione in produzione.

Evita un evento di manutenzione pianificata

Per evitare un evento di manutenzione pianificato per il cluster di produzione, devi impostare la data di inizio, la data di fine e l'ora di inizio e di fine dell'intervallo.

Le date di inizio e di fine devono essere nel seguente formato: YYYY-MM-DD. La data di inizio, la data di fine e l'ora sono tutte nel fuso orario UTC.

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, completa i seguenti passaggi:

  1. 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
  2. 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.
  3. Documenta tutti i problemi, inclusi i messaggi di errore, le metriche sul rendimento e i passaggi per riprodurli.

  4. Apri una richiesta di assistenza con priorità elevata con Google Cloud e fornisci tutti i problemi documentati. Google Cloud collabora con te per analizzare e risolvere i problemi.

Aggiornamenti dei cluster di produzione

Se la verifica della gestione temporanea ha esito positivo e consenti di procedere con la manutenzione della produzione, gli aggiornamenti vengono eseguiti durante il periodo di manutenzione pianificato.

Verifica il periodo di manutenzione

Per monitorare gli eventi di manutenzione imminenti nel cluster di produzione, segui questi passaggi:

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa. Si apre la pagina Panoramica.

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

  4. (Facoltativo) Nella pagina Insight sul sistema, puoi visualizzare i dettagli dello stato di attività dell'operazione di manutenzione, ad esempio la Cronologia eventi.

  5. Per visualizzare la gestione della manutenzione unificata, inserisci "Manutenzione Cloud Hub" nella barra di ricerca e seleziona Manutenzione. In questa pagina puoi visualizzare un riepilogo della manutenzione, la manutenzione controllata da Google e i dettagli della manutenzione pianificata.

gcloud

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

Esegui questo comando utilizzando gcloud alloydb clusters describe:

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --project=PROJECT_ID

Se è pianificato un evento di manutenzione, l'output include maintenanceSchedule e startTime. Se hai scelto di ricevere notifiche, riceverai anche notifiche via email.

Monitora la produzione durante un periodo di manutenzione

Sebbene Google Cloud automatizzi il processo di manutenzione, ti consigliamo di monitorare l'ambiente di produzione per verificare quanto segue durante il periodo di manutenzione pianificato:

  • Integrità dell'applicazione: monitora i log dell'applicazione e i controlli di integrità per rilevare eventuali segni di interruzione.
  • Connettività del database: verifica che le tue applicazioni possano riconnettersi al database dopo l'interruzione.
  • Metriche di AlloyDB: utilizza Google Cloud Monitoring per osservare le metriche di AlloyDB (CPU, memoria, connessioni e ritardo di replica) e assicurarti che tornino ai livelli previsti dopo l'aggiornamento.

Verifica dell'aggiornamento post-manutenzione

Al termine dell'aggiornamento di manutenzione, verifica l'ambiente di produzione per individuare funzionalità e indicatori di prestazioni critici.

  • Funzionalità chiave dell'applicazione: esegui uno smoke test delle funzionalità più critiche dell'applicazione.
  • Controlli di base delle prestazioni: esamina le dashboard per individuare picchi di latenza o consumo di risorse.

Passaggi successivi