Connect to a redis in a specific reigon


When connecting to redis from outside fly, is there a way to retrieve a specific region’s keys? I know you could connect to db=1 to set things on all regions, but that doesn’t allow retrieving output. My current fix is to recommend my teammate use a VPN, which seems a little weird.


Are you using the builtin FLY_REDIS or deploying your own? If you’re using the builtin FLY_REDIS you might want to deploy VMs at each region and access the local Redis from there. If you’re deploying Redis yourself, and accessing them from inside your network, you could use the special address to hit the region-specific Redis instance you need.

Is there any more information you could share about the use case? Might be able to help set up something.

Sorry, yeah, this is the builtin FLY_REDIS. How would a VM in say ord access the iad Redis? It’s being used as a work queue; deploying my own Redis would probably make more sense in the long run.

The builtin FLY_REDIS can’t be accessed outside of the region it’s set up in, so if you really want to you’ll need to run VMs and have the VMs talk to each other instead.

I’d suggest running your own Redis, though — especially if this is a job queue you’ll probably want persistence as well, and some measure of reliability. The FLY_REDIS is a courtesy service that’s suitable for transient caching, but don’t recommend you run job queues on it.

We have example apps at GitHub - fly-apps/redis: Launch a Redis server on Fly and GitHub - fly-apps/redis-geo-cache: A global Redis cache — you may be interested in the geo cache deployment example if you’d like a global setup, and the single instance one if you want a job queue.