Perché la mia istanza database Amazon RDS è stata riavviata, ripristinata o ha eseguito il failover?
Desidero conoscere la causa principale del riavvio, del ripristino o del failover della mia istanza database Amazon Relational Database Service (Amazon RDS).
Breve descrizione
L'istanza database Amazon RDS esegue automaticamente un riavvio nelle seguenti condizioni:
- Non c'è disponibilità nella zona di disponibilità primaria o i colli di bottiglia delle prestazioni e il conflitto delle risorse hanno causato un carico di lavoro eccessivo.
- È presente un problema di infrastruttura sottostante con l'istanza primaria. Il problema può dipendere da una perdita di connettività di rete verso l'istanza primaria o da un problema di unità di calcolo o archiviazione nell'istanza primaria.
- Il tipo di classe dell'istanza database viene modificato nell'ambito di un'attività di dimensionamento verticale dell'istanza database.
- L'host sottostante dell'istanza database è sottoposto a patch del sistema operativo durante una finestra di manutenzione specifica. Per maggiori informazioni, consulta Manutenzione di un’istanza database e Aggiornamento della versione del motore di un'istanza database.
- Hai utilizzato l'opzione Reboot (Riavvio) o Reboot with failover (Riavvio con failover) per avviare un riavvio manuale dell'istanza database.
Quando l'istanza database mostra potenziali problemi e non risponde ai controlli dell'integrità di Amazon RDS, Amazon RDS intraprende automaticamente una delle seguenti azioni:
- Per una singola implementazione AZ, Amazon RDS avvia un ripristino Single-AZ.
- Per un'implentazione Multi-AZ, Amazon RDS avvia un failover Multi-AZ per l'implementazione Multi-AZ.
Quindi Amazon RDS riavvia l'istanza database in modo da poter riprendere le operazioni del database il più rapidamente possibile senza interventi amministrativi.
Risoluzione
Per identificare la causa dell'interruzione, controlla i seguenti log e metriche per l'istanza database. Inoltre, assicurati di seguire le best practice.
Messaggi di eventi di Amazon RDS
Per identificare la causa principale di un'interruzione non pianificata nell'istanza, visualizza tutti gli eventi di Amazon RDS delle ultime 24 ore. Per impostazione predefinita, Amazon RDS registra tutti gli eventi nell'ora UTC/GMT. Per archiviare gli eventi per un periodo di tempo maggiore, invia gli eventi di Amazon RDS ad Amazon CloudWatch Events. Al riavvio dell'istanza, viene visualizzato uno dei seguenti messaggi nelle notifiche degli eventi di Amazon RDS.
L'istanza RDS è stata modificata dal cliente
Questo messaggio di evento di RDS indica che il failover è stato avviato da una modifica dell'istanza RDS.
Applicazione della modifica alla classe di istanza del database
Questo messaggio di evento di RDS indica che il tipo di classe dell'istanza database viene modificato in base al tipo di implementazione:
- Le implementazioni Single-AZ non sono disponibili per alcuni minuti durante questa operazione di dimensionamento.
- Le implementazioni Multi-AZ non sono disponibili durante il tempo necessario al failover dell'istanza. Questa durata è in genere di circa 60 secondi. Il ritardo si verifica perché il database in standby viene aggiornato prima che il database ridimensionato subisca un failover. Dopodiché, il database si riavvia e il motore esegue il ripristino per assicurarsi che il database rimanga in uno stato coerente.
L'utente ha richiesto un failover dell'istanza database
Questo messaggio indica che un utente ha utilizzato l'opzione Reboot (Riavvio) o Reboot with failover (Riavvio con failover) per avviare un riavvio manuale dell'istanza database.
L'host primario dell'istanza Multi-AZ RDS non è integro
Questo motivo indica che un problema hardware sottostante transitorio ha portato alla perdita di comunicazione con l'istanza primaria. Il problema potrebbe rendere l'istanza non integra perché il sistema di monitoraggio di RDS non è in grado di comunicare con l'istanza RDS per eseguire i controlli dell'integrità.
L'host primario dell'istanza Multi-AZ RDS non è raggiungibile a causa della perdita di connettività di rete
Questo motivo indica che un problema di rete transitorio che ha interessato l'host primario dell'implementazione Multi-AZ ha causato il failover Multi-AZ e il riavvio dell'istanza database. Il sistema di monitoraggio interno ha rilevato il problema e ha avviato un failover.
L'istanza primaria Multi-AZ RDS è occupata e non risponde, l'attivazione dell'istanza Multi-AZ è iniziata o l'attivazione dell'istanza Multi-AZ è stata completata
Il log degli eventi mostra questi messaggi nelle seguenti situazioni:
- L'istanza database primaria non risponde.
- Una riduzione della memoria dovuta a un consumo eccessivo di memoria nel database ha impedito al sistema di monitoraggio di Amazon RDS di contattare l'host sottostante. Come misura proattiva, il sistema di monitoraggio riavvia il database.
- L'istanza database ha riscontrato problemi di rete intermittenti con l'host sottostante.
- L'istanza ha subito un caricamento del database. In questo caso, potresti notare picchi nelle metriche di CloudWatch CPUUtilization, DatabaseConnections, IOPS metrics e Throughput details. Potresti anche notare l'esaurimento di Freeablememory.
Istanza database con patch
Questo messaggio indica che l'istanza database è stata sottoposta a un aggiornamento di versione minore durante una finestra di manutenzione. Il messaggio viene visualizzato perché per l'istanza è attivata l'impostazione Aggiornamento a una versione secondaria automatico.
Metriche di CloudWatch
Per verificare se un problema di caricamento del database ha causato l'interruzione, consulta le metriche di CloudWatch per l'istanza Amazon RDS. I picchi nelle seguenti metriche chiave potrebbero indicare un problema nella disponibilità e nello stato di integrità dell'istanza RDS:
- DatabaseConnections
- CPUUtilization
- FreeableMemory
- WriteIOPS
- ReadIOPS
- ReadThroughput
- WriteThroughput
- DiskQueueDepth
Monitoraggio avanzato
Amazon RDS fornisce le metriche di Monitoraggio avanzato nell'account Amazon CloudWatch Logs. Questa funzionalità fornisce metriche in tempo reale per il sistema operativo su cui viene eseguita l'istanza database. Puoi visualizzare tutte le metriche di sistema e le informazioni di processo per le istanze database sulla console.
Database insights
La Dashboard di CloudWatch Database Insights contiene informazioni relative alle prestazioni del database che puoi utilizzare per analizzare e risolvere i problemi di prestazioni. Utilizza la Dashboard di Database Insights per analizzare le statistiche relative a una query. È consigliabile utilizzare le informazioni contenute nella dashboard per ottimizzare le prestazioni della query e il carico di lavoro. Per ulteriori informazioni, consulta Visualizzazione della Dashboard delle istanze database di CloudWatch Database Insights.
Nota: per ridurre i problemi, è consigliabile collaborare con l'amministratore del database per apportare queste modifiche.
Log del database RDS
Per risolvere la causa dell'interruzione dell'istanza database, puoi utilizzare la console Amazon RDS o le operazioni API di Amazon RDS per visualizzare, scaricare o monitorare i file di log del database. Puoi inoltre eseguire query sui file di log del database caricati nelle tabelle del database. Per ulteriori informazioni, consulta Monitoraggio dei file di log di Amazon RDS.
Tieni a mente le seguenti best practice quando gestisci le interruzioni delle istanze RDS:
- Per ridurre il tempo di inattività durante un'interruzione, attiva l'implementazione Multi-AZ per l'istanza.
- Modifica la finestra di manutenzione dell'istanza database. Se RDS deve applicare modifiche al sistema, l'istanza database non è disponibile durante questo periodo solo per il tempo minimo necessario per apportare le modifiche necessarie. Se non desideri che le istanze vengano sottoposte agli aggiornamenti automatici delle versioni secondarie, disattiva l'opzione.
- Assegna risorse sufficienti al database per eseguire le query. Con Amazon RDS, il numero di risorse allocate dipende dal tipo di istanza. Inoltre, query specifiche, come le procedure archiviate, potrebbero richiedere una quantità di memoria senza precedenti. Se l'istanza si riavvia frequentemente a causa della mancanza di risorse, puoi aumentare verticalmente la classe dell'istanza database per stare al passo con le esigenze dell'applicazione.
- Per evitare la limitazione (della larghezza di banda della rete) delle istanze, configura allarmi in Amazon CloudWatch per le principali metriche di Amazon RDS che indicano la disponibilità e lo stato di integrità delle istanze RDS. Ad esempio, puoi impostare un allarme in CloudWatch per la metrica FreeableMemory in modo da ricevere una notifica quando la memoria disponibile raggiunge il 95%. Per ulteriori informazioni, consulta Come faccio a filtrare i log di Enhanced Monitoring di CloudWatch per generare metriche personalizzate automatizzate per Amazon RDS?
- Per ricevere una notifica da Amazon RDS in caso di failover dell'istanza RDS, sottoscrivi le notifiche degli eventi di Amazon RDS.
- Per ottimizzare le prestazioni del database, assicurati che le query siano ottimizzate correttamente per PostgreSQL e MySQL. Altrimenti potresti riscontrare problemi di prestazioni e tempi di attesa prolungati.
- Per risolvere i problemi relativi ai carichi in termini di CPU, memoria o altre risorse, consulta Come posso risolvere i problemi di utilizzo elevato della CPU nelle istanze di Amazon RDS per PostgreSQL o Amazon Aurora compatibile con PostgreSQL? Inoltre, consulta Come posso risolvere i problemi relativi all'utilizzo elevato della CPU in un'istanza database Amazon RDS per MySQL o Aurora compatibile con MySQL?
Informazioni correlate
Perché la mia istanza database Amazon RDS è fallita?
Come posso ridurre al minimo i tempi di inattività durante la manutenzione di Amazon RDS?
- Argomenti
- Database
- Lingua
- Italiano
