首页 > 解决方案 > 端口转发从本地机器连接到 Redis 的 Memorystore 失败

问题描述

我正在尝试按照本指南从我的本地计算机连接到我的 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 实例,但端口转发不起作用。

标签: google-cloud-platformredisgoogle-compute-enginegcloudgoogle-cloud-memorystore

解决方案


按照以下步骤,

  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

推荐阅读