Perché la mia istanza database Amazon RDS è stata riavviata, ripristinata o sottoposta a failover?

Ultimo aggiornamento: 19/07/2022

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 di Amazon RDS esegue automaticamente un riavvio nelle seguenti condizioni:

Quando l'istanza database mostra potenziali problemi e non risponde ai controlli dell'integrità di RDS, RDS avvia automaticamente un ripristino Single-AZ per l'implementazione Single-AZ e un failover Multi-AZ per l'implementazione Multi-AZ. Quindi, l'istanza database viene riavviata in modo da poter riprendere le operazioni del database il più rapidamente possibile senza alcun intervento amministrativo.

Risoluzione

Per identificare la causa dell'interruzione, controlla i registri e i parametri seguenti per l'istanza database di RDS.

Eventi Amazon RDS

Per identificare la causa principale di un'interruzione non pianificata nella tua istanza, visualizza tutti gli eventi Amazon RDS per le ultime 24 ore. Tutti gli eventi sono registrati di default nell'orario UTC/GMT. Per archiviare gli eventi più a lungo, invia gli eventi Amazon RDS ad Eventi Amazon CloudWatch. Per ulteriori informazioni, consulta Creazione di una regola che attiva un evento Amazon RDS. Al riavvio dell'istanza, nelle notifiche degli eventi di RDS viene visualizzato uno dei seguenti messaggi:

  • L'istanza RDS è stata modificata dal cliente: questo messaggio indica che il failover è stato avviato da una modifica dell'istanza RDS.
  • Applicazione della modifica alla classe dell'istanza database: questo messaggio dell'evento RDS indica che il tipo di classe dell'istanza database è stato modificato.
    • Durante questa operazione di scalabilità, le implementazioni Single-AZ non sono più disponibili per alcuni minuti.
    • Le implementazioni Multi-AZ non sono disponibili durante il tempo necessario per il failover dell'istanza. Questa durata è in genere di circa 60 secondi. Questo perché il database in standby viene aggiornato prima che il database appena dimensionato subisca un failover. Quindi, il database viene riavviato 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 è stato avviato un riavvio manuale dell'istanza database utilizzando l'opzione Reboot (Riavvia) o Reboot with failover (Riavvia con failover).
  • L'host principale dell'istanza Multi-AZ di RDS non è integro: questo motivo indica un problema hardware sottostante transitorio che ha portato alla perdita della comunicazione con l'istanza primaria. Questo problema potrebbe aver reso l'istanza non integra, poiché il sistema di monitoraggio RDS non è riuscito a comunicare con l'istanza RDS per l'esecuzione dei controlli dell'integrità.
  • L'host principale dell'istanza Multi-AZ di RDS non è raggiungibile a causa della perdita di connettività di rete: questo motivo indica che il failover Multi-AZ è stato causato da un problema di rete transitorio che ha interessato l'host principale dell'implementazione Multi-AZ. Il sistema di monitoraggio interno ha rilevato questo problema e avviato in modo proattivo un failover.
  • L'istanza primaria Multi-AZ di RDS è occupata e non risponde, l'attivazione dell'istanza Multi-AZ è stata avviata o l'attivazione dell'istanza Multi-AZ è stata completata: il registro di eventi mostra questi messaggi nelle seguenti situazioni:
    • L'istanza database principale non risponde.
    • Un crunch di memoria dopo un consumo eccessivo di memoria nel database ha impedito al sistema di monitoraggio RDS di contattare l'host sottostante. Quindi il database viene riavviato dal nostro sistema di monitoraggio come misura proattiva.
    • 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 nei parametri di CloudWatch CPUUtilization, DatabaseConnections, nei parametri IOPS e nei dettagli del throughput. Potresti anche notare l'esaurimento di Freeablememory.
  • Istanza database sottoposta a patch: questo messaggio indica che l'istanza database ha subito un aggiornamento della versione secondaria durante una finestra di manutenzione perché l'impostazione Aggiornamento automatico della versione secondaria è abilitata sull'istanza.

Parametri di CloudWatch

Visualizza i parametri di CloudWatch per la tua istanza Amazon RDS per verificare se l'interruzione è stata causata dal problema di caricamento del database. Per ulteriori informazioni, consulta Monitoraggio dei parametri di Amazon RDS con Amazon CloudWatch. Verifica la presenza di picchi nei seguenti parametri chiave che indicano la disponibilità e lo stato di integrità dell'istanza RDS:

  • DatabaseConnections
  • CPUUtilization
  • FreeableMemory
  • WriteIOPS
  • ReadIOPS
  • ReadThroughput
  • WriteThroughput
  • DiskQueueDepth

Monitoraggio avanzato

Amazon RDS fornisce i parametri di monitoraggio avanzato nel tuo account di File di log Amazon CloudWatch. In questo modo vengono forniti i parametri in tempo reale per il sistema operativo su cui viene eseguita l'istanza database. Nella console è possibile consultare tutte le informazioni su processi e parametri di sistema per le istanze database.

È possibile impostare la granularità per la funzione di monitoraggio avanzato su 1, 5, 10, 15, 30 o 60.

Per attivare il monitoraggio avanzato per l'istanza Amazon RDS, consulta Configurazione e attivazione del monitoraggio avanzato.

Performance Insights

Il pannello di controllo di Performance Insights contiene informazioni relative alle prestazioni del database che possono aiutarti ad analizzare e risolvere i problemi relativi alle prestazioni. Puoi inoltre identificare le query e gli eventi di attesa che consumano risorse eccessive nell'istanza database. Performance Insights raccoglie i dati a livello di database e li visualizza nel pannello di controllo di Performance Insights. Per ulteriori informazioni, consulta Monitoraggio del carico del database con Performance Insights su Amazon RDS. Quando viene generato un aumento del consumo di risorse dal lato dell'applicazione, utilizza l'ID SQL di supporto del pannello di controllo di Performance Insights e abbinalo alla query corrispondente. È consigliabile utilizzare queste informazioni per ottimizzare le prestazioni della query e ottimizzare il carico di lavoro utilizzando le indicazioni del DBA:

  1. Apri la console Amazon RDS.
  2. Nel pannello di navigazione, scegli Performance Insights.
  3. Nella pagina Performance Insights, seleziona l'istanza database. Puoi visualizzare il pannello di controllo di Performance Insights per questa istanza database.
  4. Seleziona l'intervallo di tempo in cui si è verificato il problema.
  5. Scegli la scheda Top SQL (Prime istruzioni SQL).
  6. Scegli l'icona delle impostazioni, quindi attiva l'ID supporto.
  7. Scegli Save (Salva).

Registri del database RDS

Per risolvere il problema di interruzione dell'istanza database di Amazon RDS, puoi visualizzare, scaricare o guardare i file di log del database utilizzando la console o le operazioni API di Amazon RDS. Puoi anche interrogare i file di registro 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: