Connectivity Issue Troubleshooting for Azure Cache for Redis Enterprise.
With the evolution of Azure Cache for Redis enterprise and the growing number of Redis Enterprise cache users let us look at few steps to troubleshoot if you are stuck in connecting to Azure cache for Redis. Few thumb rule for Enterprise Cache are below.
- Are you connecting to the right port. Enterprise cache uses port 10000, not 63xx like basic, standard, Premium?
- Are Enterprise cache instance configured to require TLS or non-TLS? It only supports one of them at a time.
- Are the client configured to use the TLS or non-TLS setting correctly? (Client must be configured the same as with Enterprise cache instance)
- Are the FQDN of the cache name, correct? Enterprise uses the pattern "[cacheName].[region].redisenterprise.cache.azure.net". The domain suffix will be different than basic, standard and premium.
There are different ways to perform the connectivity test. Let’s look onto Window’s Ecosystem to check the connectivity test.
Using Redis CLI:
We can use redis-cli.exe command-line tool to interact with an Azure Cache for Redis Enterprise as a client. The tool is available for Windows platforms by downloading the Releases · microsoftarchive/redis (github.com)
If you have configured Enterprise Cache to accept the in Plain text Format you can use the following command:
redis-cli.exe -h < cacheFQDN > -a <Accesskey> -p 10000
If you have disabled plan text. Since the redis-cli doesn’t support SSL port (10000), we can make use of stunnel to connect to Azure Cache for Redis using SSL port.
- Download and install stunnel: Downloads
- Run stunnel GUI Start to start the server.
- Right-click the taskbar icon for the stunnel server and select Show Log Window.
- On the stunnel Log Window menu, select Configuration > Edit Configuration to open the current configuration file.
- Add the following entry for redis-cli.exe under the Service definitions section. Insert your actual cache FQDN name in place of yourcachenam
[redis-cli]
client = yes
accept = 127.0.0.1:10000
connect = <cacheFQDN>:10000
Once the Stunnel is configured you can use the following command to connect Enterprise Redis using redis CLI
redis-cli.exe -p 10000 -a <Access keys>
Using Powershell:
From PowerShell we can run the following command to text the connectivity:
Test-NetConnection -ComputerName <cacheFQDN> -Port 10000
Using Telnet Client:
You may also test by using Telnet client. Make sure it is installed in the client machine before running it and run the following command. If the out is blank screen, it is connected after ran:
telnet <EnterprisecacheFQDN> 10000
Using PsPing
You can test connectivity whether you are getting response from the Enterprise Redis end point on the desired port by making use of PSPING. The tool can be downloaded from the link PsPing - Sysinternals | Microsoft Learn:
Please leverage the below syntax to test the connectivity and check on the number of packets being sent and received as part of testing.
psping -q <Enterprise Cache EndPoint>:10000
Please note: If the number of packets sent are not equal to the received packets, it points to drop in connectivity.
Using Stackexchange.redis SDK
Enterprise Cache can be connected either to cryptographic protocol TLS or non-TLS at any point of time. You cannot connect to the protocol at the same time. Once you have created the Enterprise cache you will find an option named Plain text. If you have enabled, in that case in application code/ config Cache connection string use ssl = False and Vice versa.
Plan Text |
Cache Connection String |
Enabled |
*****.centralindia.redisenterprise.cache.azure.net:10000,password=******,ssl=false,abortConnect=False |
Disabled |
*****.centralindia.redisenterprise.cache.azure.net:10000,password=******,ssl=true,abortConnect=False |
Till now we are looking into Windows Ecosystem. What if we are connecting from a Linux Machine.
Using bash
We can use bash command to check if the connection is happening. Please leverage the following command:
nc -vz cacheFQDN 10000
For Redis Cli I would recommend to follow this article Connect to Azure Cache for Redis using SSL Port 6380 from Linux VM - Microsoft Community Hub
Hope this helps.
Published on:
Learn moreRelated posts
Disconnected operations for Azure Local
Introducing the new Linux-based Azure Cosmos DB Emulator (Preview)
We are excited to announce the preview release of the new Linux-based Azure Cosmos DB Emulator! This latest version is built to provide faster...
Azure Cosmos DB Shines at Microsoft Ignite 2024!
Microsoft Ignite 2024 took over the Windy City this week, bringing with it new technological innovation and exciting product announcements apl...