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 cluster di database Multi-AZ per Amazon RDS
Se si verifica un’interruzione pianificata o non pianificata dell'istanza database di scrittura in un cluster di database Multi-AZ, Amazon RDS esegue automaticamente il failover su un’istanza database di lettura in un'altra zona di disponibilità. In tal modo si garantisce una disponibilità elevata con interruzioni minime. I failover possono verificarsi durante guasti hardware, problemi di rete o richieste manuali. L’argomento descrive il rilevamento automatico degli errori, la sequenza degli eventi durante il failover e il relativo impatto sulle operazioni di lettura e scrittura. Fornisce anche le best practice per il monitoraggio e la riduzione dei tempi di failover.
Il tempo necessario per il completamento del failover varia in base all'attività del database e ad altre condizioni presenti quando l'istanza database in scrittura diventa non disponibile. Il failover richiede in genere meno di 35 secondi. Il failover viene completato quando entrambe le istanze database del lettore hanno applicato transazioni in sospeso dallo scrittore in errore. Al termine del failover, la modifica della console RDS in base alla nuova zona di disponibilità può richiedere ulteriore tempo.
Argomenti
Failover automatici
Amazon RDS gestisce i failover automaticamente, in modo da consentirti di riprendere le operazioni database il più rapidamente possibile, senza alcun intervento amministrativo. Per eseguire il failover, l'istanza database del scrittore passa automaticamente a un'istanza database del lettore.
Failing manuale su un cluster di database Multi-AZ
Se si esegue il failover manuale per un cluster di database Multi-AZ, RDS termina innanzitutto l’istanza database primaria. Successivamente, il sistema di monitoraggio interno rileva che l’istanza database primaria non è integra e promuove un’istanza database di replica leggibile. Il failover richiede in genere meno di 35 secondi.
È possibile eseguire il failover di un cluster DB Multi-AZ manualmente utilizzando l'API RDS Console di gestione AWS AWS CLI, la o l'API RDS.
Per eseguire un fail over manuale per un cluster di database Multi-AZ
Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel pannello di navigazione, seleziona Database.
-
Scegliere il cluster di database Multi-AZ che si desidera ripristinare.
-
Per Actions (Operazioni), scegliere Failover.
Viene visualizzata la pagina Failover cluster di database.
-
Scegliere Failover per confermare il failover manuale.
Per eseguire il failover manuale di un cluster DB Multi-AZ, usa il AWS CLI comando. failover-db-cluster
Esempio
aws rds failover-db-cluster --db-cluster-identifiermymultiazdbcluster
Per eseguire manualmente il failover di un cluster DB Multi-AZ, chiama il failover dell'API Amazon RDS DBCluster e specifica il. DBClusterIdentifier
Determinare se un cluster di database Multi-AZ ha effettuate un fail over
Per determinare se il cluster database Multi-AZ è soggetto 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 Amazon RDS o le operazioni dell'API.
Visualizza lo stato attuale del tuo cluster DB Multi-AZ utilizzando la console Amazon RDS, l'API RDS e l' AWS CLI API RDS.
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 di lettura. 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 l'indirizzo IP nella cache per un periodo di tempo specificato, noto come (TTL). time-to-live
Poiché AWS le risorse utilizzano voci di nomi DNS che cambiano occasionalmente, si consiglia 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 AWS risorsa cambia mentre l'applicazione è ancora in esecuzione, non può utilizzare tale risorsa finché non si riavvia manualmente la JVM 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.
Nota
Il valore TTL predefinito può variare in base alla versione della JVM e a seconda che un security manager sia installato o meno. Molti JVMs 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
-
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");