Azure PaaS Blog articles

Azure PaaS Blog articles

https://techcommunity.microsoft.com/t5/azure-paas-blog/bg-p/AzurePaaSBlog

Azure PaaS Blog articles

Connectivity Issue Troubleshooting for Azure Cache for Redis Enterprise.

Published

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.

  1. Are you connecting to the right port. Enterprise cache uses port 10000, not 63xx like basic, standard, Premium?
  2. Are Enterprise cache instance configured to require TLS or non-TLS? It only supports one of them at a time.
  3. Are the client configured to use the TLS or non-TLS setting correctly? (Client must be configured the same as with Enterprise cache instance)
  4. 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:

 

samsarka_0-1681835267099.png

 

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.

  1. Download and install stunnel: Downloads
  2. Run stunnel GUI Start to start the server.
  3. Right-click the taskbar icon for the stunnel server and select Show Log Window.
  4. On the stunnel Log Window menu, select Configuration > Edit Configuration to open the current configuration file.
  5. 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

 

samsarka_1-1681835295377.png

 

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

samsarka_2-1681835307593.png

 

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

samsarka_3-1681835327173.png

 

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

 

samsarka_4-1681835342343.png

 

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.

Continue to website...

More from Azure PaaS Blog articles