Solução de problemas de conectividade
Neste artigo, fornecemos ajuda de solução de problemas ao conectar seu aplicativo cliente ao Cache do Azure para Redis. Os problemas de conectividade são divididos em dois tipos: problemas de conectividade intermitentes e problemas de conectividade contínuos.
- Problemas de conectividade intermitentes
- Problemas de conectividade contínuos
- Replicação geográfica usando injeção de VNet com caches Premium
Problemas de conectividade intermitentes
Seu aplicativo cliente pode ter problemas de conectividade intermitentes causados por eventos como aplicação de patch ou picos no número de conexões.
Manutenção do servidor
Às vezes, o cache passa por uma manutenção de servidor planejada ou não planejada. Seu aplicativo pode ser afetado negativamente durante a manutenção. Você pode validar verificando a métrica Errors (Type: Failover)
em seu portal. Para minimizar os efeitos dos failovers, confira Resiliência de conexão.
Número de clientes conectados
Verifique se a agregação máxima para a métrica Connected Clients
é próxima ou maior que o número máximo de conexões permitidas para um tamanho de cache específico. Para obter mais informações sobre o dimensionamento por conexões de cliente, confira Desempenho do Cache do Azure para Redis.
Aplicativos hospedados no Kubernetes
- Se o aplicativo cliente estiver hospedado no Kubernetes, verifique se o Pod que está executando o aplicativo cliente ou os nós de cluster não está sob pressão de memória/CPU/rede. Um pod que executa o aplicativo cliente pode ser afetado por outros pods em execução no mesmo nó e limitar as conexões do Redis ou as operações de E/S.
- Se você estiver usando o Istio ou qualquer outra malha de serviço, verifique se o proxy de malha de serviço reserva a porta 13000-13019 ou 15000-15019. Essas portas são usadas pelos clientes para se comunicar com nós clusterizados do Cache do Azure para Redis e podem causar problemas de conectividade nessas portas.
Aplicativo cliente baseado em Linux
O uso de configurações de TCP otimistas no Linux pode fazer com que os aplicativos cliente tenham problemas de conectividade. Confira Paralisações de conexão que duram 15 minutos.
Conectividade contínua
Se o aplicativo não consegue se conectar ao seu Cache do Azure para Redis, é possível que algumas configurações no cache não estejam corretas. As seções a seguir oferecem sugestões sobre como verificar se o cache está configurado corretamente.
Testar a conectividade usando redis-cli
Teste a conectividade usando redis-cli. Para obter mais informações sobre a CLI, confira Como usar a ferramenta de linha de comando Redis com Cache do Azure para Redis.
Testar a conectividade usando PSPING
Se redis-cli não puder se conectar, você poderá testar a conectividade usando o PSPING
no PowerShell.
psping -q <cache DNS endpoint>:<Port Number>
Você pode confirmar se o número de pacotes enviados é igual ao de pacotes recebidos. A confirmação garante que não haja queda na conectividade.
Configuração da rede virtual
Etapas para verificar sua configuração de rede virtual:
- Verifique se uma rede virtual está atribuída ao seu cache da seção "Rede virtual" sob as Configurações no menu de recursos do portal do Azure.
- Certifique-se de que a máquina host do cliente esteja na mesma rede virtual que o Cache do Azure para Redis.
- Quando o aplicativo cliente estiver em uma rede virtual (VNet) diferente do seu Cache do Azure para Redis, ambas as VNets deverão ter o emparelhamento de VNet habilitado na mesma região do Azure.
- Confirme que as regras de Entrada e Saída atendem aos requisitos.
- Para obter mais informações, confira Configurar uma rede virtual - Instância do Cache do Azure para Redis de Camada Premium.
Configuração de ponto de extremidade privado
Etapas para verificar sua configuração de ponto de extremidade privado:
- O sinalizador
Public Network Access
é desabilitado por padrão na criação de um ponto de extremidade privado. Certifique-se de definir oPublic Network Access
corretamente. Quando seu cache estiver no portal do Azure, procure em Ponto de Extremidade Privado no menu de recursos à esquerda dessa configuração. - Se você estiver tentando se conectar ao ponto de extremidade privado do cache de fora da rede virtual do seu cache, o
Public Network Access
precisará ser habilitado. - Se você excluir seu ponto de extremidade privado, certifique-se de que o acesso à rede pública esteja habilitado.
- Verifique se o seu ponto de extremidade privado está configurado corretamente. Para obter mais informações, confira Criar um ponto de extremidade privado com uma nova instância do Cache do Azure para Redis.
- Verifique se o aplicativo está conectando o
<cachename>.redis.cache.windows.net
na porta 6380. É recomendável evitar o uso de<cachename>.privatelink.redis.cache.windows.net
na configuração ou na cadeia de conexão. - Para verificar se o comando resolve para o endereço IP privado do cache, execute um comando como
nslookup <hostname>
de dentro da rede virtual (VNet) que está vinculada ao ponto de extremidade privado.
Regras de firewall
Se você tiver um firewall configurado para seu Cache do Azure para Redis, certifique-se de que seu endereço IP do cliente seja adicionado às regras de firewall. Você pode marcar Firewall no menu de recursos, em Configurações no portal do Azure.
Proxy externo ou firewall de terceiros
Ao usar um firewall ou proxy de terceiros em sua rede, verifique se o ponto de extremidade do Cache do Azure para Redis, *.redis.cache.windows.net
, é permitido junto com as portas 6379
e 6380
. Talvez seja necessário permitir mais portas ao usar um cache clusterizado ou replicação geográfica.
Alterar o endereço IP público
Se você configurar qualquer recurso de rede ou segurança para usar o endereço IP público do seu cache, verifique se o endereço IP público do seu cache foi alterado. Para obter mais informações, consulte Confiar no nome do host e não no endereço IP público do cache.
Replicação geográfica usando injeção de VNet com caches Premium
Embora seja possível usar injeção de rede virtual (VNet) com seus caches Premium, recomendamos o Link Privado do Azure.
Para saber mais, veja:
- Migrar dos caches de injeção de VNet para os caches de Link Privado
- O que é o Cache do Azure para Redis com o Link Privado do Azure?
A replicação geográfica de caches em redes virtuais (VNet) é suportada com ressalvas:
- Há suporte para a replicação geográfica entre caches na mesma VNet.
- Também há suporte para a replicação geográfica entre caches em diferentes VNets.
- Se os VNets estiverem na mesma região, é possível conectá-los usando o emparelhamento VNet ou uma Conexão de VNet para VNet do Gateway de VPN.
- Se as VNets estiverem em regiões diferentes, a replicação geográfica usando emparelhamento de VNet não será suportada. Uma VM cliente na VNet 1 (região 1) não pode acessar o cache na VNet 2 (região 2) usando o nome DNS dela por causa de uma restrição com balanceadores de carga internos básicos. Para obter mais informações sobre restrições de emparelhamento VNet, consulte Rede Virtual – emparelhamento – requisitos e restrições. Recomendamos usar uma conexão VNet a VNet do Gateway de VPN.
Para configurar sua rede virtual (VNet) de forma eficaz e evitar problemas de replicação geográfica, você deve configurar corretamente as portas de entrada e saída. Para obter mais informações sobre como evitar os problemas mais comuns de configuração incorreta da VNet, confira Requisitos de porta dos pares de replicação geográfica.
Conteúdo relacionado
Estes artigos fornecem mais informações sobre conectividade e resiliência: