Per ridurre al minimo il rischio per i workload di produzione di AlloyDB per PostgreSQL, puoi utilizzare un cluster di staging per testare nuove funzionalità, prestazioni e funzionalità prima di applicare gli aggiornamenti ai sistemi di produzione. Un cluster di staging è una copia del tuo 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 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 staging per garantire la stabilità e la prevedibilità del database per le applicazioni critiche nel cluster di produzione.
Per utilizzare un cluster di gestione temporanea, segui questi passaggi di alto livello:
- Configura un cluster di gestione temporanea.
- Configura un periodo di manutenzione su un cluster di produzione.
- Gestisci gli aggiornamenti del cluster di staging.
- Gestisci gli aggiornamenti del cluster di produzione.
Questo approccio di convalida dello staging alla manutenzione di AlloyDB garantisce che il tuo ambiente di produzione rimanga stabile, performante e sicuro mentre beneficia delle funzionalità e delle patch più recenti di AlloyDB.
Il seguente diagramma mostra la relazione tra il cluster di staging e il cluster di produzione, nonché il flusso operativo del processo di aggiornamento:
Per saperne di più su come funzionano gli aggiornamenti di manutenzione con i cluster AlloyDB, consulta la pagina Panoramica della manutenzione. Per scoprire di più sulla gestione dei periodi di manutenzione, consulta Gestire i periodi di manutenzione del 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 staging, devi creare o disporre già di un cluster di produzione AlloyDB esistente. Per saperne di più, consulta Creare 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 Adminroles/owner
: il ruolo IAM di base Proprietarioroles/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 efficace è assicurarsi che il cluster di staging sia simile all'ambiente di produzione e che riceva gli aggiornamenti prima della produzione. Configuri una strategia di staging-first quando non imposti una periodo di manutenzionee sul cluster di staging. AlloyDB aggiorna prima i cluster senza finestre di manutenzione.
Crea un cluster di staging 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 staging sia identico all'ambiente di produzione,
utilizza il comando restore
per clonare il database di produzione nel cluster di staging e per assicurarti che i dati siano simili e che la configurazione corrisponda. Ti consigliamo inoltre di separare gli ambienti di gestione temporanea e produzione in progetti diversi.
Puoi utilizzare i seguenti due metodi per creare un backup di produzione:
- Crea un nuovo cluster di staging 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 a un massimo di 24 ore prima. Per utilizzare questo metodo, consulta Ripristinare un cluster da un backup archiviato.
- Crea un nuovo cluster di staging 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'ultimo backup PITR, potrebbe essere necessario più tempo per ripristinare o recuperare i dati all'ora specificata. Per utilizzare questo metodo, consulta Utilizzo del recupero point-in-time (PITR).
Verifica che non sia impostato un periodo di manutenzione sul cluster di staging
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 il tuo ambiente di staging. AlloyDB aggiorna i cluster che non hanno finestre di manutenzione pianificate prima di aggiornare i cluster con finestre di manutenzione pianificate.
Puoi verificare che non sia impostato alcun periodo di manutenzione nel seguente modo:
Console
Vai alla pagina Cluster.
Fai clic su un cluster nella colonna Nome risorsa. Si apre la pagina Panoramica.
Nella pagina Panoramica, nella sezione Manutenzione, visualizza i dettagli periodo di manutenzione per il tuo cluster.
(Facoltativo) Nella pagina Insight sul sistema, puoi visualizzare i dettagli dello stato dell'operazione di manutenzione, ad esempio la sequenza temporale degli eventi.
Per visualizzare la gestione della manutenzione unificata, inserisci "Manutenzione di 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.
gcloud alloydb clusters describe STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --project=PROJECT_ID
Cerca il campo
maintenanceSchedule
nell'output. Se non è impostata alcunaperiodo di manutenzionee, 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
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 scarso traffico 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 carico del sistema di produzione è minimo. 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 aver aggiornato il cluster di staging. Se riscontri problemi dopo gli aggiornamenti del cluster di staging, 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 nel seguente modo:
Console
Vai alla pagina Cluster.
Fai clic su un cluster nella colonna Nome risorsa.
Nella pagina Panoramica, nella sezione Manutenzione, fai clic su Modifica. Si apre una finestra di configurazione.
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 questa periodo di manutenzione predefinita.
Se selezioni un giorno per gli aggiornamenti di manutenzione, seleziona l'ora del giorno per il periodo di manutenzione.
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
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 Google Cloud regione.DAY_OF_WEEK
: il giorno preferito per la manutenzione, ad esempioSUNDAY
.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 sul cluster di produzione
Per verificare che la periodo di manutenzione sia impostata 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 maintenanceSchedule
con il giorno e l'ora di manutenzione specificati.
Attivare 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:
Vai alla pagina Cluster.
Fai clic su un cluster nella colonna Nome risorsa. Si apre la pagina Panoramica.
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.
Nella pagina Comunicazione, seleziona la scheda Comunicazioni sui prodotti.
Nella riga relativa ad AlloyDB, nella colonna Email, attiva il pulsante di notifica impostandolo su On.
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 staging. Quando scegli di ricevere notifiche, ricevi un'email di notifica che indica che è pianificato un aggiornamento di manutenzione per il tuo cluster di produzione.
Aggiornamenti del cluster di staging
Utilizza l'ambiente di gestione temporanea per convalidare l'aggiornamento di produzione imminente.
Controllare lo stato pre-aggiornamento
Poiché il cluster di staging 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. Tuttavia, puoi monitorare quando si verificano gli aggiornamenti di manutenzione utilizzando Esplora log nella console Google Cloud .
Nella Google Cloud console, vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona Tutte le risorse, scegli il cluster di staging e fai clic su Applica.
Seleziona Tutti i nomi dei log, seleziona maintenance_events e fai clic su Applica.
Nel riquadro Cronologia, seleziona l'intervallo di tempo in cui il cluster di staging riceve gli aggiornamenti.
Esegui la verifica funzionale post-aggiornamento
Dopo che AlloyDB aggiorna il cluster di staging, esegui test funzionali per verificare che gli aggiornamenti siano sicuri e adatti all'applicazione al tuo ambiente di produzione.
Esegui la verifica delle prestazioni post-aggiornamento
Verifica il cluster di staging al termine dell'aggiornamento di manutenzione. Valuta eventuali impatti sulle prestazioni del database dopo gli aggiornamenti del cluster di staging. Esegui test funzionali e delle prestazioni completi per assicurarti che le tue applicazioni si comportino come previsto e che soddisfino gli SLA relativi alle prestazioni.
Per garantire stabilità e 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.
Intervenire 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 delle prestazioni sul cluster di staging hanno esito positivo, significa che l'ambiente di staging è privo di errori e che puoi consentire l'avanzamento della manutenzione di produzione come pianificato nella finestra pianificata. Preparati all'aggiornamento della produzione e informa le parti interessate pertinenti.
- Verifica non riuscita:se i test funzionali e delle prestazioni sul cluster di staging non riescono e si verificano errori funzionali, cali delle prestazioni o comportamenti imprevisti nell'ambiente di staging dopo l'aggiornamento di manutenzione, devi rifiutare la manutenzione della produzione.
Rifiutare 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 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 di manutenzione negato a un cluster AlloyDB, completa i seguenti passaggi:
Esegui il comando
gcloud alloydb clusters update
con i flagdeny-maintenance-period-start-date
,deny-maintenance-period-end-date
edeny-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 esempious-central1
.START_DATE
: la data di inizio del periodo esente da manutenzione nel formato UTCYYYY-MM-DD
.END_DATE
: la fine del periodo esente da manutenzione nel formatoYYYY-MM-DD
UTC.TIME
: l'ora del periodo senza manutenzione nel formato UTCHH:MM
. Le ore sono rappresentate nel formato 24 ore in cui i valori vanno da00:00
a23:59
, ad esempio16:45
.
Documenta tutti i problemi, inclusi messaggi di errore, metriche sul rendimento e passaggi per riprodurli.
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 del cluster di produzione
Se la verifica di staging ha esito positivo e consenti l'esecuzione della 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 sul cluster di produzione:
Console
Vai alla pagina Cluster.
Fai clic su un cluster nella colonna Nome risorsa. Si apre la pagina Panoramica.
Nella pagina Panoramica, nella sezione Manutenzione, visualizza i dettagli periodo di manutenzione per il tuo cluster.
(Facoltativo) Nella pagina Insight sul sistema, puoi visualizzare i dettagli dello stato dell'operazione di manutenzione, ad esempio la sequenza temporale degli eventi.
Per visualizzare la gestione della manutenzione unificata, inserisci "Manutenzione di 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 le notifiche, riceverai anche
notifiche via email.
Monitorare 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 la periodo di manutenzione pianificata:
- Integrità dell'applicazione:monitora i log e i controlli di integrità dell'applicazione per rilevare eventuali segnali 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 per assicurarti 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 funzionalità e indicatori di rendimento critici.
- Funzionalità chiave dell'applicazione: esegui un test smoke delle funzionalità più importanti dell'applicazione.
- Controlli di base delle prestazioni: esamina le dashboard per verificare la presenza di picchi di latenza o consumo di risorse.