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 consente di identificare e risolvere potenziali problemi in un ambiente non di produzione. Questo approccio riduce il rischio di tempi di inattività e di un 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 release di AlloyDB siano compatibili con le versioni successive, ti consigliamo di testare le nuove release in un ambiente di gestione temporanea per garantire la stabilità e la prevedibilità del database per le applicazioni critiche nel cluster di produzione. Per ulteriori informazioni, consulta Panoramica della manutenzione.

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

  1. Configura un cluster di gestione temporanea.
  2. Configura un periodo di manutenzione in un cluster di produzione.
  3. Gestisci gli aggiornamenti del cluster di gestione temporanea.
  4. Gestisci gli aggiornamenti del 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 staging

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 Gestire i periodi di manutenzione dei cluster AlloyDB per PostgreSQL.

Prima di iniziare

Il Google Cloud progetto 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 ulteriori informazioni, consulta Creare un cluster e la relativa istanza principale.

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

  • roles/alloydb.admin: il ruolo IAM predefinito di amministratore AlloyDB
  • roles/owner: il ruolo IAM di base di proprietario
  • roles/editor: il ruolo IAM di base di editor

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

Configura un cluster di gestione temporanea

La chiave per una strategia di gestione temporanea efficace è assicurarsi che il cluster di gestione temporanea sia simile all'ambiente di produzione e che riceva gli aggiornamenti prima della produzione. Configura una strategia di gestione temporanea quando 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 il cluster di gestione temporanea abbia la stessa versione, configurazione e 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 assicurarti che i dati e la configurazione siano simili. Ti consigliamo inoltre di separare gli ambienti di gestione temporanea e di produzione in progetti diversi.

Puoi utilizzare i seguenti due metodi per creare un backup di produzione:

  • 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 dei backup, i dati possono risalire a massimo 24 ore prima. Per utilizzare questo metodo, consulta Ripristinare un cluster da un backup archiviato.
  • Crea un nuovo cluster di gestione temporanea eseguendo il recupero point-in-time (PITR) a 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'ultima ora di backup PITR, il ripristino o il recupero dei dati all'ora specificata potrebbe richiedere più tempo. Per utilizzare questo metodo, consulta Utilizzare 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 per il cluster.

    Google Cloud
  4. (Facoltativo) Nella pagina Informazioni sui sistemi, puoi visualizzare i dettagli dello stato dell'operazione di manutenzione, ad esempio la cronologia degli 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 maintenanceSchedule 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 \
        --clear-maintenance-window \
        --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 di alto livello:

  1. Applica la manutenzione di rifiuto a tutti gli ambienti non di produzione per assicurarti che non ricevano aggiornamenti automatici.
  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 in un cluster di produzione

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

Imposta un periodo di manutenzione nel 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 ha il carico più basso. Il tempo totale richiesto per un singolo evento di manutenzione può variare.

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

Imposta un periodo di manutenzione nel cluster di produzione nel seguente 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 periodo".

    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 recuperare i dettagli di configurazione di un cluster AlloyDB, esegui il comando seguente utilizzando il gcloud alloydb clusters update comando.

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

Esegui le seguenti sostituzioni:

  • PRODUCTION_CLUSTER_ID: l'ID del cluster di produzione.
  • LOCATION_ID: la Google Cloud regione.
  • 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 le domeniche 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 nel cluster di produzione

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

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

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

Attiva le notifiche di manutenzione

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

Per attivare le notifiche di manutenzione:

  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. Quindi, 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 relativa a AlloyDB, nella colonna Email, attiva il pulsante di notifica.

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

Aggiornamenti del cluster di gestione temporanea

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

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 non configurati con il periodo di manutenzione. Anche in questo caso, puoi monitorare quando si verificano gli aggiornamenti di manutenzione utilizzando Esplora log nella Google Cloud console.

  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 la sottovoce 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 verificare che gli aggiornamenti siano sicuri e adatti all'ambiente di produzione.

Esegui la verifica delle prestazioni post-aggiornamento

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

Per garantire la stabilità e il funzionamento ottimale:

  • Confronta le baseline pre-aggiornamento con le metriche chiave.
  • Esegui test di carico per identificare le regressioni.
  • Analizza il rendimento delle query.
  • Monitora l'utilizzo delle risorse.

Passa all'azione in base ai risultati della verifica

Esamina i risultati della verifica ed esegui 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 la manutenzione di produzione come pianificato nella finestra pianificata. Preparati per l'aggiornamento di produzione e informa le parti interessate pertinenti.
  • Verifica non riuscita: 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 rifiutare la manutenzione di produzione.

Rifiuta un evento di manutenzione pianificato

Per rifiutare un evento di manutenzione pianificato per il cluster di produzione, devi impostare 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. La data e l'ora di inizio, la data e l'ora di fine 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 di manutenzione di rifiuto a un cluster AlloyDB, completa i seguenti passaggi:

  1. Esegui il gcloud alloydb clusters update comando 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 Google Cloud regione 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 senza manutenzione nel formato YYYY-MM-DD UTC.
    • TIME: l'ora del periodo senza manutenzione nel formato HH:MM UTC. Le ore sono rappresentate nel formato a 24 ore, dove i valori vanno da 00:00 a 23:59, ad esempio 16:45.
  3. Documenta tutti i problemi, inclusi messaggi di errore, metriche sul rendimento e passaggi per riprodurre i problemi.

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

Aggiornamenti del cluster di produzione

Se la verifica della gestione temporanea ha esito positivo e consenti la manutenzione di 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:

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 per il cluster.

    Google Cloud
  4. (Facoltativo) Nella pagina Informazioni sui sistemi, puoi visualizzare i dettagli dello stato dell'operazione di manutenzione, ad esempio la cronologia degli 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 il comando seguente 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 le 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 i seguenti elementi durante il periodo di manutenzione pianificato:

  • Integrità dell'applicazione: monitora i log delle applicazioni e i controlli di integrità per rilevare eventuali segni di interruzione.
  • Connettività del database: verifica che le 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 assicurati che tornino ai livelli previsti dopo l'aggiornamento.

Verifica post-aggiornamento di manutenzione

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

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

Passaggi successivi