Condividi tramite


Risolvere le problematiche di connettività di Azure Cache per Redis

Questo articolo illustra come risolvere i problemi comuni relativi alla connessione dell'applicazione client a Cache Redis di Azure. I problemi di connettività potrebbero essere causati da condizioni intermittenti o da una configurazione della cache non corretta. Questo articolo è suddiviso in problemi intermittenti e problemi di configurazione della cache.

Problemi di connettività intermittente

Problemi di connettività della configurazione della cache

Testare la connettività

È possibile testare la connettività usando lo strumento da riga di comando Redis redis-cli. Per altre informazioni sull'interfaccia della riga di comando di Redis, vedere Usare lo strumento da riga di comando Redis con Cache Redis di Azure.

Se redis-cli non è in grado di connettersi, è possibile testare la connettività usando PSPING in Azure PowerShell.

psping -q <cachename>:<port>

Se il numero di pacchetti inviati è uguale al numero di pacchetti ricevuti, non c'è alcun calo della connettività.

Problemi di connettività intermittente

L'applicazione client potrebbe avere problemi di connettività intermittenti causati da picchi nel numero di connessioni o da eventi come patch.

Applicazioni ospitate in Kubernetes

Se l'applicazione client è ospitata in Kubernetes, verificare se i nodi del cluster o il pod che esegue l'applicazione client sono sotto pressione di memoria, CPU o rete. Un pod che esegue l'applicazione client può essere interessato da altri pod in esecuzione nello stesso nodo e potrebbe limitare le connessioni Redis o le operazioni di I/O.

Se si usa Istio o qualsiasi altra mesh di servizi, assicurarsi che il proxy mesh del servizio riserva le porte 13000-13019 o 15000-15019. I client usano queste porte per comunicare con i nodi in una cache Redis di Azure in cluster e potrebbero causare problemi di connettività su tali porte.

Applicazione client basata su Linux

L'uso delle impostazioni TCP ottimistiche in Linux potrebbe causare problemi di connettività per le applicazioni client. Per altre informazioni, vedere Impostazioni TCP per le applicazioni client ospitate in Linux e Blocchi di connessione che durano 15 minuti.

Numero di client connessi

Controllare se la metrica Max aggregate for the Connected Clients è vicina o superiore al numero massimo di connessioni consentite per le dimensioni della cache. Per ulteriori informazioni sul dimensionamento delle connessioni client, vedere prestazioni della cache di Azure per Redis.

Manutenzione del server

La cache potrebbe essere sottoposta a manutenzione pianificata o non pianificata che influisce negativamente sull'applicazione durante la finestra di manutenzione. È possibile verificare questo problema controllando la metrica Errori (tipo: failover) nella cache nel portale di Azure. Per ridurre al minimo gli effetti dei failover, vedere Resilienza della connessione.

Problemi di configurazione della connettività

Se l'applicazione non riesce a connettersi alla cache Redis di Azure, è possibile che alcune configurazioni della cache non siano configurate correttamente. Le sezioni seguenti offrono suggerimenti su come assicurarsi che la cache sia configurata correttamente.

Regole del firewall

Se è stato configurato un firewall per la cache Redis di Azure, assicurarsi che l'indirizzo IP del client venga aggiunto alle regole del firewall. Per controllare le regole del firewall, selezionare Firewall in Impostazioni nel menu di spostamento a sinistra per la pagina della cache.

Firewall di terze parti o proxy esterno

Se si usa un firewall o un proxy di terze parti nella rete, assicurarsi che consenta l'endpoint Azure Cache per Redis *.redis.cache.windows.net e le porte 6379 e 6380. Potrebbe essere necessario consentire più porte quando si usa una cache in cluster o una replica geografica.

Configurazione endpoint privato

Nel portale di Azure, controlla la configurazione del Private Endpoint selezionando Private Endpoint sotto Impostazioni nel menu di navigazione a sinistra relativo alla tua cache.

  • Nella pagina Endpoint privato assicurarsi che l'opzione Abilita l'accesso alla rete pubblica sia impostata correttamente.

    • L'accesso alla rete pubblica è disabilitato per impostazione predefinita quando si crea un endpoint privato.
    • Per connettersi all'endpoint privato della cache dall'esterno della rete virtuale della cache, è necessario abilitare l'accesso alla rete pubblica.
    • Se si elimina l'endpoint privato, assicurarsi di abilitare l'accesso alla rete pubblica.
  • Selezionare il collegamento in Endpoint privato e assicurarsi che l'endpoint privato sia configurato correttamente. Per altre informazioni, vedere Creare un endpoint privato con una nuova istanza di cache di Azure per Redis.

  • Assicurarsi che l'applicazione si connetta a <cachename>.redis.cache.windows.net sulla porta 6380. Evitare di usare <cachename>.privatelink.redis.cache.windows.net nella configurazione o nella stringa di connessione.

  • Per verificare che un comando si risolva nell'indirizzo IP privato per la cache, eseguire un comando simile nslookup <hostname> all'interno della rete virtuale collegata all'endpoint privato.

Modifica dell'indirizzo IP pubblico

Se si configura una risorsa di rete o di sicurezza per l'uso dell'indirizzo IP pubblico della cache, verificare se l'indirizzo IP pubblico della cache è cambiato. Per ulteriori informazioni, vedere Affidarsi al nome host e non all'indirizzo IP pubblico.

Configurazione della rete virtuale

Controllare la configurazione della rete virtuale come indicato di seguito:

  • Assicurarsi che alla cache sia assegnata una rete virtuale. Nel portale di Azure selezionare Rete virtuale in Impostazioni nel menu di spostamento a sinistra per la cache.
  • Assicurarsi che il computer host client si trova nella stessa rete virtuale della cache.
  • Se l'applicazione client si trova in una rete virtuale diversa dalla cache, abilitare il peering per entrambe le reti virtuali all'interno della stessa area di Azure.
  • Verificare che le regole in ingresso e in uscita soddisfino i requisiti delle porte.

Per altre informazioni, vedere Configurare il supporto della rete virtuale per un'istanza di Cache Redis di Azure Premium.

Replicazione geografica utilizzando VNet injection con cache Premium

La replica geografica tra cache nella stessa rete virtuale è supportata. La replica geografica tra cache in reti virtuali diverse è supportata con le avvertenze seguenti:

  • Se le reti virtuali si trovano nella stessa area, è possibile connetterle usando il peering di rete virtuale o una connessione VNet-to-VNet tramite gateway VPN.

  • Se le reti virtuali si trovano in aree diverse, la replica geografica con peering di rete virtuale non è supportata. Una macchina virtuale client in VNet 1 (area 1) non può accedere a una cache in VNet 2 (area 2) usando il nome, a causa di un vincolo con servizi di bilanciamento del carico interno Basic. Usare invece una connessione da rete virtuale a rete virtuale del gateway VPN. Per altre informazioni sui vincoli di peering di rete virtuale, vedere Requisiti e vincoli del peering di rete virtuale.

Per configurare la rete virtuale in modo efficace ed evitare problemi di replica geografica, è necessario configurare correttamente le porte in ingresso e in uscita. Per altre informazioni su come evitare i problemi di configurazione errata della rete virtuale più comuni, vedere Requisiti delle porte peer di replica geografica.

Anche se è possibile usare l'inserimento di reti virtuali con cache Premium, è preferibile usare collegamento privato di Azure. Per altre informazioni, vedi: