Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Failover per un’istanza database Multi-AZ per Amazon RDS
Se un’interruzione pianificata o non pianificata dell’istanza database Multi-AZ comporta un defect dell’infrastruttura, Amazon RDS passa automaticamente a una replica in standby in un’altra zona di disponibilità.
Il tempo necessario per il completamento del failover varia in base all'attività del database e ad altre condizioni presenti quando l'istanza database principale diventa non disponibile. Il failover richiede in genere da 60 a 120 secondi, tempo che può tuttavia aumentare in caso di transazioni di grandi dimensioni o di un processo di ripristino di lunga durata. Al termine del failover, la modifica della console RDS in base alla nuova zona di disponibilità può richiedere ulteriore tempo.
Nota
Puoi forzare un failover manualmente quando riavvii un’istanza database Multi-AZ. Per ulteriori informazioni, consulta Riavvio di un'istanza database.
Amazon RDS gestisce i failover automaticamente, in modo da consentirti di riprendere le operazioni database il più rapidamente possibile, senza alcun intervento amministrativo. L'istanza database principale passa automaticamente alla replica di standby qualora si verifichi una delle condizioni riportate nella seguente tabella. Puoi visualizzare questi motivi di failover nel log di eventi.
| Motivo del failover | Descrizione |
|---|---|
Al sistema operativo sottostante l'istanza del database RDS viene aggiunta una patch in un'operazione offline. |
È stato attivato un failover durante la finestra di manutenzione per una patch del sistema operativo o un aggiornamento di sicurezza. Per ulteriori informazioni, consulta Manutenzione di un’istanza database. |
L' host primario dell'istanza Multi-AZ di RDS non è integro. |
L’implementazione istanza database Multi-AZ ha rilevato un'istanza database primaria compromessa e ha attivato il failover. |
L' host principale dell'istanza Multi-AZ RDS non è raggiungibile a causa della perdita di connettività di rete. |
Il monitoraggio RDS ha rilevato un errore di raggiungibilità della rete per l'istanza database primaria e ha attivato un failover. |
L' istanza RDS è stata modificata dal cliente. |
Una modifica dell'istanza database RDS ha attivato un failover. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS. |
L' istanza principale Multi-AZ RDS è occupata e non risponde. |
L'istanza database primaria non risponde. Ti consigliamo anche di completare le seguenti operazioni:
Per ulteriori informazioni su queste raccomandazioni, consulta Strumenti di monitoraggio di Amazon RDS e Best practice per Amazon RDS. |
Il volume di storage sottostante l'host principale dell'istanza Multi-AZ RDS ha riportato un errore. |
L’implementazione dell’istanza database Multi-AZ ha rilevato un problema di archiviazioine nell'istanza DB principale e ha avviato il failover. |
L'utente ha richiesto un failover dell'istanza database. |
È stata riavviata l'istanza database ed è stata scelta l’opzione Riavvia con failover. Per ulteriori informazioni, consulta Riavvio di un'istanza database. |
Per determinare se l’istanza database Multi-AZ è soggetta a failover, è possibile eseguire le seguenti operazioni:
Configura gli abbonamenti a eventi database per inviare una notifica tramite e-mail o SMS in caso di failover. Per ulteriori informazioni sugli eventi di , consulta Utilizzo della notifica degli eventi di Amazon RDS.
Visualizza gli eventi database utilizzando la console RDS o le operazioni dell'API.
Visualizza lo stato corrente dell'implementazione dell’istanza database Multi-AZ utilizzando la console RDS o le chiamate API.
Per informazioni su come rispondere ai failover, ridurre i tempi di ripristino e su altre best practice per Amazon RDS, consulta Best practice per Amazon RDS.
Impostazione di JVM TTL per le ricerche del nome DNS
Il meccanismo di failover modifica automaticamente il record Domain Name System (DNS) dell'istanza database in modo da fare riferimento all'istanza database standby. Di conseguenza, sarà necessario ristabilire le connessioni esistenti alla propria istanza database. In un ambiente Java Virtual Machine (JVM), a causa del funzionamento del meccanismo di memorizzazione nella cache DNS Java, potrebbe essere necessario riconfigurare le impostazioni JVM.
La JVM memorizza nella cache le ricerche del nome DNS. Quando la JVM risolve un nome host in un indirizzo IP, memorizza nella cache l'indirizzo IP per un determinato periodo di tempo, noto come time-to-live (TTL).
Poiché le risorse AWS utilizzano voci del nome DNS che occasionalmente cambiano, ti consigliamo di configurare la JVM con un valore TTL non superiore a 60 secondi. Questo garantisce che quando l'indirizzo IP di una risorsa cambia, l'applicazione può ricevere e utilizzare il nuovo indirizzo IP della risorsa richiedendo il DNS.
In alcune configurazioni Java, il TTL predefinito di JVM è impostato in modo da non aggiornare mai le voci DNS finché JVM non viene riavviato. Pertanto, se l'indirizzo IP di una risorsa AWS cambia mentre l'applicazione è ancora in esecuzione, tale risorsa non può essere utilizzata finché la JVM non viene riavviata manualmente e le informazioni IP memorizzate nella cache non vengono aggiornate. In questo caso, è fondamentale impostare il valore TTL della JVM in modo che aggiorni periodicamente le informazioni IP memorizzate nella cache.
È possibile ottenere il TTL predefinito della JVM recuperando il valore della proprietà networkaddress.cache.ttl
String ttl = java.security.Security.getProperty("networkaddress.cache.ttl");
Nota
Il valore TTL predefinito può variare in base alla versione della JVM e a seconda che un security manager sia installato o meno. Molte JVM forniscono un TTL predefinito inferiore a 60 secondi. Se utilizzi una JVM di questo tipo e non utilizzi un security manager, puoi ignorare il resto di questo argomento. Per ulteriori informazioni sui security manager in Oracle, consulta The Security Manager
Per modificare la TTL della JVM, imposta il valore della proprietà networkaddress.cache.ttl. Utilizza uno dei seguenti metodi, a seconda delle esigenze:
-
Per impostare il valore della proprietà a livello globale per tutte le applicazioni che utilizzano la JVM, imposta
networkaddress.cache.ttlnel file$JAVA_HOME/jre/lib/security/java.security.networkaddress.cache.ttl=60 -
Per impostare la proprietà localmente solo per l'applicazione, imposta
networkaddress.cache.ttlnel codice di inizializzazione dell'applicazione prima che venga stabilita qualsiasi connessione.java.security.Security.setProperty("networkaddress.cache.ttl" , "60");