Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Como faço para seguir as práticas recomendadas para eventos de failover e recuperação para clusters autoprojetados do ElastiCache for Valkey ou do ElastiCache for Redis OSS?
Quero seguir as práticas recomendadas para eventos de failover em meu cluster autoprojetado do Amazon ElastiCache para Valkey ou do Amazon ElastiCache para Redis OSS.
Breve descrição
Eventos de failover e recuperação são partes essenciais do Amazon ElastiCache que permitem que o ElastiCache seja resiliente. No entanto, quando ocorrem eventos de failover e recuperação, esses eventos podem afetar o desempenho e a disponibilidade da sua aplicação.
É uma prática recomendada reduzir os problemas de eventos de failover e recuperação que afetam seu cluster executando as seguintes ações:
- Revise seus eventos.
- Entenda a causa dos eventos.
- Prepare-se para os eventos.
- Configure as notificações de eventos.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Revise seus eventos
O ElastiCache registra vários eventos relacionados ao seu cluster, grupos de segurança e grupos de parâmetros.
Os eventos incluem, mas não estão limitados a, criações e exclusões de recursos, operações de escalabilidade, failovers, reinicializações de nós e criações de snapshots. Para entender e analisar melhor os eventos em seu cluster do ElastiCache, revise seus eventos do ElastiCache.
Exemplos de eventos de failover nos logs de eventos do 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
Exemplos de eventos de recuperação nos logs de eventos do 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
Observação: o Amazon ElastiCache para Memcached não oferece suporte a failover, mas você pode ver mensagens semelhantes nos logs de eventos de um evento de recuperação.
Entenda a causa do evento
Durante um evento de failover, o ElastiCache substitui um nó primário indisponível por um nó de réplica. O ElastiCache também substitui os nós primários por ações solicitadas pelo usuário ou eventos planejados. Para obter mais informações, consulte Perguntas frequentes sobre o Amazon ElastiCache.
Exemplos de eventos:
- Para testar a funcionalidade de failover
- Para realizar a manutenção planejada
- Para resolver problemas da zona de disponibilidade
Se um nó de réplica tiver problemas de disponibilidade, o ElastiCache substituirá a réplica por um novo nó de réplica.
Observação: essa substituição não inicia um evento de failover.
Quando o ElastiCache tenta restaurar o cluster nessas situações, o ElastiCache registra esses eventos de recuperação.
Observação: para determinar se um nó é primário ou não, use a métrica IsMaster Amazon CloudWatch. Para obter mais informações, consulte Métricas para Valkey e Redis OSS.
Eventos não planejados de failover e recuperação
No ElastiCache, um failover não planejado ocorre quando o nó primário falha inesperadamente e solicita que o serviço promova um nó de réplica ao perfil principal. Da mesma forma, se um nó de réplica precisar ser substituído, o ElastiCache provisiona automaticamente um novo nó de réplica quando uma réplica falhar. Ambos os processos minimizam o tempo de inatividade e mantêm a alta disponibilidade. A seguir estão as causas comuns de failover e substituição não planejados:
- Para problemas subjacentes relacionados ao host do ElastiCache, como falha de hardware, problemas de rede ou falha na zona de disponibilidade, o ElastiCache executa uma recuperação. Para a infraestrutura da AWS, no caso raro de uma falha, os processos automatizados permitem a alta disponibilidade do cluster.
- Para workload pesados, o Amazon ElastiCache para Redis OSS e o Amazon ElastiCache para Valkey são de thread único. Por causa disso, comandos de longa duração podem bloquear outras operações. Workload excessivo no cluster pode levar à utilização excessiva e ao esgotamento dos recursos, além de levar ao failover e à recuperação. Por exemplo, comandos complexos, scripts Lua ineficientes e grandes operações baseadas em chaves podem sobrecarregar o cluster e degradar o desempenho.
Observação: quando uma réplica primária falha devido a uma interrupção temporária na zona de disponibilidade, o ElastiCache lança a nova réplica após a recuperação da zona de disponibilidade.
Eventos planejados de failover e recuperação
Eventos planejados de failover e recuperação podem ocorrer para manutenção programada ou operações iniciadas pelo usuário.
Para manutenção programada, a AWS atualiza regularmente a frota do ElastiCache para fortalecer a segurança, a confiabilidade e o desempenho operacional dos clusters do ElastiCache. Eventos de manutenção programados, como substituições de nós e atualizações de serviços como parte da manutenção gerenciada contínua, podem iniciar eventos de failover e recuperação. Para obter mais informações, consulte a página de ajuda sobre manutenção gerenciada e atualizações de serviços do Amazon ElastiCache.
Para operações iniciadas pelo usuário, o usuário inicia o TestFailover por meio da API TestFailover, do comando test-failover da AWS CLI ou do console do ElastiCache. Para promover uma réplica de leitura para um cluster desativado no modo de cluster primário, inicie uma operação de promoção. Para obter mais informações, consulte Promover uma réplica de leitura para grupos de replicação Valkey ou Redis OSS (modo de cluster desativado).
Observação: em algumas condições, como durante eventos operacionais de grande escala, a AWS pode bloquear essa API. Se a AWS bloquear a API, você verá a seguinte mensagem em seus logs de eventos: “A API de failover de teste foi chamada para o grupo de nós 0001.”
Prepare-se para eventos
Para eventos de failover planejados, como manutenção ou atualizações de serviços, o ElastiCache substitui os nós quando o cluster atende às solicitações de gravação recebidas. Para mitigar problemas, siga as práticas recomendadas para eventos de failover planejados. Para obter mais informações, consulte a página de ajuda sobre manutenção gerenciada e atualizações de serviços do Amazon ElastiCache.
Para eventos de failover não planejados, o failover do ElastiCache ocorre automaticamente quando você ativa o Multi-AZ para seu cluster.
Observação: se ocorrer um failover em uma réplica quando você grava em um nó que usa o endpoint da réplica, o nó pode não estar disponível. Depois de substituir a réplica, o nó fica disponível para solicitações de leitura.
Para reduzir os problemas durante eventos planejados e não planejados, siga as práticas recomendadas de conectividade e configuração.
Configurar notificações de eventos
Para responder rapidamente aos eventos e suas causas, configure o ElastiCache para enviar notificações quando houver um failover ou uma recuperação em um cluster. Para obter mais informações, consulte Gerenciando notificações do Amazon Simple Notification Service (Amazon SNS) no ElastiCache.
Ao configurar o ElastiCache para usar o Amazon SNS para notificações, você recebe notificações semelhantes aos seguintes exemplos:
Exemplos de eventos de recuperação:
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>
Exemplos de eventos de 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>
Observação: o ElastiCache para Memcached não oferece suporte a mensagens aprimoradas para eventos de recuperação.
Informações relacionadas
Como soluciono problemas de alta latência no ElastiCache para Redis?
- Tópicos
- Database
- Idioma
- Português
