Come posso seguire le best practice per gli eventi di failover e ripristino di cluster autoprogettati ElastiCache per Valkey o ElastiCache per Redis OSS?
Desidero seguire le best practice per gli eventi di failover del mio cluster autoprogettato Amazon ElastiCache per Valkey o Amazon ElastiCache per Redis OSS.
Breve descrizione
Gli eventi di failover e ripristino sono parti essenziali di Amazon ElastiCache che consentono a ElastiCache di essere resiliente. Tuttavia, quando si verificano eventi di failover e ripristino, tali eventi possono influire sulle prestazioni e sulla disponibilità dell'applicazione.
È consigliabile ridurre i problemi dovuti agli eventi di failover e ripristino che influiscono sul cluster intraprendendo le seguenti azioni:
- Esamina gli eventi.
- Comprendi la causa degli eventi.
- Preparati agli eventi.
- Configura le notifiche degli eventi.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Esamina gli eventi
ElastiCache registra vari eventi relativi al cluster, ai gruppi di sicurezza e ai gruppi di parametri.
Gli eventi includono, a titolo esemplificativo, la creazione e l'eliminazione di risorse, le operazioni di dimensionamento, i failover, il riavvio dei nodi e la creazione di snapshot. Per comprendere e analizzare meglio gli eventi in un cluster ElastiCache, esamina gli eventi di ElastiCache.
Esempi di eventi di failover nei log degli eventi di ElastiCache:
December 5, 2024, 10:12:20 Finished recovery for cache nodes 0001 December 5, 2024, 10:10:48 Recovering cache nodes 0001 December 5, 2024, 10:05:45 Recovering cache nodes 0001 December 5, 2024, 10:04:24 Failover from master node <node name> to replica node <node name> completed
Esempi di eventi di ripristino nei log degli eventi di ElastiCache:
2022-10-05 19:20 Finished recovery for cache nodes 0001 2022-10-05 19:18 Recovering cache nodes 0001 2022-10-05 19:14 Recovering cache nodes 0001
Nota: Amazon ElastiCache per Memcached non supporta il failover, ma potresti visualizzare messaggi simili nei log degli eventi relativi a un evento di ripristino.
Comprendi la causa degli eventi
Durante un evento di failover, ElastiCache sostituisce un nodo primario non disponibile con un nodo di replica. ElastiCache sostituisce anche i nodi primari per le azioni richieste dall'utente o gli eventi pianificati. Per ulteriori informazioni, consulta Domande frequenti su Amazon ElastiCache.
Esempi di eventi:
- Per testare la funzionalità di failover
- Per eseguire la manutenzione programmata
- Per risolvere i problemi relativi alla zona di disponibilità
Se un nodo di replica presenta problemi di disponibilità, ElastiCache sostituisce la replica con un nuovo nodo di replica.
Nota: la sostituzione non avvia un evento di failover.
Quando ElastiCache tenta di ripristinare il cluster in queste situazioni, gli eventi di ripristino vengono registrati nel log.
Nota: per determinare se un nodo è primario o meno, utilizza la metrica IsMaster di Amazon CloudWatch. Per ulteriori informazioni, consulta Metriche per Valkey e Redis OSS.
Eventi di failover e ripristino non pianificati
In ElastiCache, si verifica un failover non pianificato quando il nodo primario si guasta inaspettatamente e chiede al servizio di promuovere un nodo di replica al ruolo di nodo primario. Allo stesso modo, se un nodo di replica deve essere sostituito, ElastiCache esegue automaticamente il provisioning di un nuovo nodo di replica quando una replica non riesce. Entrambi i processi riducono al minimo i tempi di inattività e mantengono un'elevata disponibilità. Le cause più comuni di failover e sostituzione non pianificati sono le seguenti:
- Per i problemi sottostanti relativi all'host ElastiCache, come guasti hardware, problemi di rete o errori nella zona di disponibilità, ElastiCache esegue un ripristino. Per l'infrastruttura AWS, nel raro caso di guasto, i processi automatizzati consentono un'elevata disponibilità del cluster.
- Per carichi di lavoro pesanti, Amazon ElastiCache per Redis OSS e Amazon ElastiCache per Valkey sono a thread singolo. Per questo motivo, i comandi di lunga durata possono bloccare altre operazioni. Un carico di lavoro eccessivo nel cluster può portare a un sovrautilizzo e all'esaurimento delle risorse con conseguente failover e ripristino. Ad esempio, comandi complessi, script Lua inefficienti e operazioni basate su chiavi di grandi dimensioni possono sovraccaricare il cluster e ridurre le prestazioni.
Nota: quando una replica primaria non riesce a causa di un'interruzione temporanea della zona di disponibilità, ElastiCache avvia la nuova replica dopo il ripristino della zona di disponibilità.
Eventi di failover e ripristino pianificati
Possono verificarsi eventi di failover e ripristino pianificati in caso di manutenzione programmata o per operazioni avviate dall'utente.
Per la manutenzione programmata, AWS aggiorna regolarmente il parco ElastiCache per rafforzare la sicurezza, l'affidabilità e le prestazioni operative dei cluster ElastiCache. Gli eventi di manutenzione programmata, ad esempio la sostituzione dei nodi e gli aggiornamenti dei servizi nell'ambito della manutenzione gestita continua, possono avviare eventi di failover e ripristino. Per ulteriori informazioni, consulta Pagina di assistenza agli aggiornamenti del servizio e alla manutenzione gestita da Amazon ElastiCache.
Per le operazioni avviate dall'utente, l'utente avvia TestFailover tramite l'API TestFailover, il comando AWS CLI test-failover o la console ElastiCache. Per promuovere una replica di lettura in un cluster primario disabilitato in modalità cluster, avvia un'operazione di promozione. Per ulteriori informazioni, consulta Promozione di una replica di lettura a primaria, per i gruppi di replica Valkey o Redis OSS (modalità cluster disabilitata).
Nota: in alcune condizioni, ad esempio durante eventi operativi su larga scala, AWS potrebbe bloccare questa API. Se AWS blocca l'API, viene visualizzato il seguente messaggio nei log degli eventi: "Test Failover API called for node group 0001."
Preparati agli eventi
Per gli eventi di failover pianificati, ad esempio per la manutenzione o gli aggiornamenti del servizio, ElastiCache sostituisce i nodi quando il cluster serve le richieste di scrittura in entrata. Per limitare i problemi, segui le best practice per gli eventi di failover pianificati. Per ulteriori informazioni, consulta Pagina di assistenza agli aggiornamenti del servizio e alla manutenzione gestita da Amazon ElastiCache.
Per gli eventi di failover non pianificati, il failover di ElastiCache si verifica automaticamente quando attivi Multi-AZ per il cluster.
Nota: se si verifica un failover su una replica quando scrivi su un nodo che utilizza l'endpoint di replica, il nodo potrebbe non essere disponibile. Dopo aver sostituito la replica, il nodo diventa disponibile per le richieste di lettura.
Per ridurre i problemi durante gli eventi pianificati e non pianificati, segui le best practice di connettività e configurazione.
Configura le notifiche degli eventi
Per rispondere rapidamente agli eventi e alle loro cause, configura ElastiCache per inviare notifiche quando si verifica un failover o un ripristino in un cluster. Per ulteriori informazioni, consulta Gestione delle notifiche Amazon Simple Notification Service (Amazon SNS) in ElastiCache.
Quando configuri ElastiCache per utilizzare le notifiche Amazon SNS, ricevi notifiche simili ai seguenti esempi:
Esempi di eventi di ripristino:
Recovery reason : Recovery completed for node as ElastiCache monitoring detected a network reachability failure on the node, ElastiCache:CacheNodeReplaceComplete : <node>
Recovery reason : Recovery completed for node as ElastiCache monitoring detected software issues on the node, ElastiCache:CacheNodeReplaceComplete : <node>
Recovery reason : Recovery completed for node as ElastiCache monitoring detected unresponsive engine on the node, ElastiCache:CacheNodeReplaceComplete : <node>
Recovery reason : Recovery completed for node as ElastiCache monitoring detected busy and unresponsive engine on the node, ElastiCache:CacheNodeReplaceComplete : <node>
Esempi di eventi di failover:
Failover reason : Failover completed for node as ElastiCache monitoring detected a network reachability failure on the node, ElastiCache:FailoverComplete : <node>
Failover reason : Failover completed for node as ElastiCache monitoring detected software issues on the node, ElastiCache:FailoverComplete : <node>
Failover reason : Failover completed for node as ElastiCache monitoring detected unresponsive engine on the node, ElastiCache:FailoverComplete : <node>
Failover reason : Failover completed for node as ElastiCache monitoring detected busy and unresponsive engine on the node, ElastiCache:FailoverComplete : <node>
Nota: ElastiCache per Memcached non supporta messaggi avanzati per gli eventi di ripristino.
Informazioni correlate
Monitoring best practices with Amazon ElastiCache for Redis using Amazon CloudWatch (Monitoraggio delle best practice con Amazon ElastiCache per Redis utilizzando Amazon CloudWatch)
- Argomenti
- Database
- Lingua
- Italiano
