Partilhar via


Solucionar problemas de conectividade do Azure Cache para Redis

Importante

O Cache do Azure para Redis anunciou seu cronograma de desativação para todas as SKUs. Recomendamos mover as suas instâncias existentes do Azure Cache para Redis para Azure Managed Redis o mais rápido possível.

Para mais detalhes sobre a aposentadoria:

Este artigo explica como solucionar problemas comuns com a conexão de seu aplicativo cliente ao Cache do Azure para Redis. Problemas de conectividade podem ser causados por condições intermitentes ou por configuração incorreta de cache. Este artigo é dividido em problemas intermitentes e problemas de configuração de cache.

Problemas de conectividade intermitentes

Problemas de conectividade de configuração de cache

Testar conectividade

Você pode testar a conectividade usando a ferramenta de linha de comando Redis redis-cli. Para obter mais informações sobre a CLI do Redis, consulte Usar a ferramenta de linha de comando Redis com o Cache do Azure para Redis.

Se redis-cli não conseguir se conectar, você poderá testar a conectividade usando PSPING no Azure PowerShell.

psping -q <cachename>:<port>

Se o número de pacotes enviados for igual ao número de pacotes recebidos, não haverá queda na conectividade.

Problemas de conectividade intermitentes

Seu aplicativo cliente pode ter problemas intermitentes de conectividade causados por picos no número de conexões ou por eventos como patching.

Aplicações anfitriãs do Kubernetes

Se seu aplicativo cliente estiver hospedado no Kubernetes, verifique se os nós do cluster ou o pod que executa o aplicativo cliente estão sob pressão de memória, CPU ou rede. Um pod executando o aplicativo cliente pode ser afetado por outros pods em execução no mesmo nó e pode limitar conexões Redis ou operações de E/S.

Se você estiver usando o Istio ou qualquer outra malha de serviço, certifique-se de que seu proxy de malha de serviço reserve portas 13000-13019 ou 15000-15019. Os clientes usam essas portas para comunicar-se com nós em um cache Redis do Azure em cluster, o que pode causar problemas de conectividade nesses ports.

Aplicação cliente baseada no Linux

Usar configurações de TCP otimistas no Linux pode causar problemas de conectividade para aplicativos cliente. Para obter mais informações, consulte Configurações de TCP para aplicativos cliente hospedados no Linux e Interrupções de conexão com duração de 15 minutos.

Número de clientes ligados

Verifique se a agregação máxima para a métrica Clientes conectados está próxima ou acima do número máximo de conexões permitidas para o tamanho do cache. Para obter mais informações sobre o dimensionamento por conexões de cliente, consulte Azure Cache for Redis desempenho.

Manutenção de servidores

Seu cache pode passar por manutenção planejada ou não planejada do servidor que afeta negativamente seu aplicativo durante a janela de manutenção. Você pode verificar esse problema verificando a métrica Erros (Tipo: Failover) em seu cache no portal do Azure. Para minimizar os efeitos das falhas, veja Resiliência de Conexão.

Problemas de configuração de conectividade

Se seu aplicativo não puder se conectar ao cache Redis do Azure, algumas configurações de cache podem não estar configuradas corretamente. As secções seguintes oferecem sugestões sobre como garantir que a cache está configurada corretamente.

Regras da firewall

Se você tiver um firewall configurado para o cache Redis do Azure, verifique se o endereço IP do cliente foi adicionado às regras de firewall. Para verificar as regras de firewall, selecione Firewallem Configurações no menu de navegação esquerdo da página de cache.

Firewall de terceiros ou proxy externo

Se utilizar um firewall ou proxy de terceiros na sua rede, verifique se permite o ponto de extremidade *.redis.cache.windows.net do Azure Cache para Redis e as portas 6379 e 6380. Talvez seja necessário permitir mais portas ao usar um cache clusterizado ou replicação geográfica.

Configuração de endpoints privados

No portal do Azure, verifique sua configuração de ponto de extremidade privado selecionando Ponto de extremidade privado em Configurações no menu de navegação esquerdo para seu cache.

  • Na página Ponto de Extremidade Privado , verifique se Habilitar acesso à rede pública está definido corretamente.

    • O acesso à rede pública é desabilitado por padrão quando você cria um ponto de extremidade privado.
    • Para se conectar ao ponto de extremidade privado do cache de fora da rede virtual do cache, você deve habilitar o acesso à rede pública.
    • Se você excluir seu ponto de extremidade privado, certifique-se de habilitar o acesso à rede pública.
  • Selecione o link em Ponto de extremidade privado e verifique se o ponto de extremidade privado está configurado corretamente. Para obter mais informações, veja Criar um ponto final privado com uma instância nova da Cache do Azure para Redis.

  • Certifique-se de que seu aplicativo se conecta à <cachename>.redis.cache.windows.net porta 6380. Evite usar <cachename>.privatelink.redis.cache.windows.net na configuração ou na cadeia de conexão.

  • Para verificar se um comando é resolvido para o endereço IP privado do cache, execute um comando como o nslookup <hostname> na rede virtual associada ao ponto de extremidade privado.

Alteração do endereço IP público

Se você configurar qualquer recurso de rede ou segurança para usar o endereço IP público do cache, verifique se o endereço IP público do cache foi alterado. Para obter mais informações, consulte Confiar no nome do host e não no endereço IP público.

Configuração da rede virtual

Verifique a configuração da sua rede virtual da seguinte forma:

  • Certifique-se de que uma rede virtual está atribuída ao seu cache. No portal do Azure, selecione Rede Virtual em Configurações no menu de navegação esquerdo do cache.
  • Verifique se a máquina host do cliente está na mesma rede virtual que o cache.
  • Se o aplicativo cliente estiver em uma rede virtual diferente do cache, habilite o emparelhamento para ambas as redes virtuais dentro da mesma região do Azure.
  • Verifique se as regras de entrada e saída atendem aos requisitos de porta.

Para obter mais informações, consulte Configurar o suporte de rede virtual para uma instância do Cache Premium do Azure para Redis.

Georreplicação com injeção de VNet utilizando caches premium

Há suporte para replicação geográfica entre caches na mesma rede virtual. A replicação geográfica entre caches em diferentes redes virtuais é suportada com as seguintes advertências:

  • Se as redes virtuais estiverem na mesma região, você poderá conectá-las usando emparelhamento de rede virtual ou uma conexão VNet-to-VNet do Gateway VPN.

  • Se as redes virtuais estiverem em regiões diferentes, não há suporte para replicação geográfica usando emparelhamento de rede virtual. Uma máquina virtual cliente em VNet 1 (região 1) não pode acessar um cache em VNet 2 (região 2) usando seu nome, devido a uma restrição com balanceadores de carga internos básicos. Em vez disso, use uma conexão VNet-to-VNet do Gateway VPN. Para obter mais informações sobre restrições de emparelhamento de rede virtual, consulte Requisitos e restrições de emparelhamento de rede virtual.

Para configurar sua rede virtual de forma eficaz e evitar problemas de replicação geográfica, você deve configurar as portas de entrada e saída corretamente. Para obter mais informações sobre como evitar os problemas mais comuns de configuração incorreta da rede virtual, consulte Requisitos de porta para pares de replicação geográfica.

Embora seja possível usar a injeção de rede virtual com caches Premium, é preferível usar o Azure Private Link. Para obter mais informações, consulte: