微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从本地机器连接到 Memorystore for Redis 的端口转发失败

如何解决从本地机器连接到 Memorystore for Redis 的端口转发失败

我正在尝试按照 this guide 从我的本地计算机连接到我的 Redis 实例,您可以在其中创建一个 Compute Engine 实例以用于将端口转发到 Redis 实例。

我能够使用以下方法创建 Compute Engine 实例:
gcloud compute instances create redis-port-forward-vm --machine-type=f1-micro --zone=us-east1-d

当我尝试创建一个 SSH 隧道时,该隧道使用以下命令通过 Compute Engine 虚拟机转发流量:
gcloud compute ssh redis-port-forward-vm --zone=us-east1-d -- -N -L 6379:REdis_INSTANCE_IP_ADDRESS:6379

我收到以下错误channel 2: open Failed: connect Failed: Connection timed out

我不明白可能是什么问题,我能够成功通过 SSH 连接到 Compute Engine 实例,但端口转发不起作用。

解决方法

我假设您将 REDIS_INSTANCE_IP_ADDRESS 替换为值。

您也可以直接将 --ssh-flag 传递给 gcloud

这行得通吗?

gcloud compute ssh redis-port-forward-vm \
--zone=us-east1-d \
--ssh-flag="-L 6379:localhost:6379"

注意通常它也适用于 localhost 而不是远程主机的 IP

,

请按照以下步骤操作

  1. 通过从 redis-port-forward-vm SSH 终端运行以下命令,在 Compute Engine 虚拟机上安装 redis-cli
    sudo apt-get install redis-server
  2. 如果尚未创建,请创建一个 Redis 实例,并检查您创建的 Redis 实例的端口号(默认为 6379,但对我而言为 6378)。
  3. 在本地机器终端上运行以下命令
    gcloud compute ssh redis-port-forward-vm --zone=us-east1-d
    redis-cli -h REDIS INSTANCE IP -p PORT NUMBER
  4. 要测试连接,请打开一个新的终端窗口并运行以下命令:
    redis-cli ping

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。