Redis/RIOT Questions

Hi!

I am trying to migrate our existing redis data from AWS Elasticache to Redis (render) using riot-redis CLI: https://developer.redis.com/explore/riot

I can connect to both endpoints (AWS Elasticache and Redis Render) using redis-cli

But when trying to use riot-redis (any action/command) I am getting:

Encountered an error executing step RedisItemReader in job RedisItemReader: Cannot retrieve cluster partitions from [rediss://my-username:********************************@singapore-redis.render.com:6379]

[rediss://my-username:********************************@singapore-redis.render.com:6379]: Unable to connect to [singapore-redis.render.com:6379]: NOAUTH Authentication required.

I verified that I am using the correct credentials (same as the one I used at redis-cli) but still getting auth issue.

Sample riot-redis CLI using compare:

riot-redis -h my-aws-elasticache-host -p 6379 --tls compare -h singapore-redis.render.com --tls --user=my-username --pass=my-password -p 6379 -c

Note. Our AWS Elasticache does not require AUTH in this sample usage.

What seems to be the issue? Is it possible to use riot-redis for redis render?

2nd Question: Are all render users/subscribers (on Singapore in this case) share the same hosts/instances ~ clustered (singapore-redis.render.com) and are just separated with user/pass?

3rd Question: What happens when multiple users sets/deletes a cache key with the same name, are we overwriting/deleting each other’s key? (Not sure how user separation and redis cluster work)

Appreciate all the help and answers.

Thanks!

Hi there,

The external addresses you use to connect to either Redis or Postgres are actually proxies and not a direct connection to the Redis instance - the proxy determines what the actual target instance is, so your 2nd and third questions are actually not relevant.

I’ve seen a similar NOAUTH error when another customer tried to use a certain client (i forget which) to make the connection, but I’ll dig it up and add this as a possible suspect here internally.

What you might be able to do as a workaround is use an SSH tunnel to proxy via an instance you have in you account.

eg:

$ ssh -N -L 5444:red-c7lu24hg7hp2d4r6m94g:6379 srv-c5i6mecobjd3doro539g@ssh.frankfurt.render.com -v

obviously, change the details so it’s your service details. That command will run and show the verbose output - you need to wait until it shows

debug1: Local forwarding listening on ::1 port 5444.debug1: channel 0: new [port listener]debug1: Local forwarding listening on 127.0.0.1 port 5444.debug1: channel 1: new [port listener]debug1: Entering interactive session.debug1: pledge: filesystem

and then in another tab/panel you can simply do:

$ redis-cli -p 5444

and you’ll be running redis-cli connecting to localhost port 5444 which is being tunnelled through the web service to the Render internal hostname of your Redis.

I hope that helps, let me know

John B

Thanks for this. It works!

Thanks for confirming!

John B