SSH port forwarding should do the trick. Try running this from you client.
ssh -f -N -L 6379:<your redis node endpoint>:6379 <your EC2 node that you use to connect to redis>
Then from your client
redis-cli -h 127.0.0.1 -p 6379
Please note that default port for redis is 6379
not 6739
. And also make sure you allow the security group of the EC2 node that you are using to connect to your redis instance into your Cache security group.
Also, AWS now supports accessing your cluster more info here
Update 04/13/2024:
Many folks are running Kubernetes today. It's a very typical scenario for folks to have services running in Kubernetes accessing ElasticCache Redis.
So there is a way to do this (test your redis connection locally through Kubernetes) using the kubectl ssh jump plugin.
Follow the installation instructions. Then see case 2 here.
For example:
kubectl ssh-jump sshjump \
-i ~/.ssh/id_rsa_k8s -p ~/.ssh/id_rsa_k8s.pub \
-a "-L 6379:<your redis node endpoint>:6379"
and then from your client:
redis-cli -h 127.0.0.1 -p 6379