如何解决从本地机器连接到 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
请按照以下步骤操作
- 通过从 redis-port-forward-vm SSH 终端运行以下命令,在 Compute Engine 虚拟机上安装 redis-cli:
sudo apt-get install redis-server
- 如果尚未创建,请创建一个 Redis 实例,并检查您创建的 Redis 实例的端口号(默认为 6379,但对我而言为 6378)。
- 在本地机器终端上运行以下命令
gcloud compute ssh redis-port-forward-vm --zone=us-east1-d
redis-cli -h REDIS INSTANCE IP -p PORT NUMBER
- 要测试连接,请打开一个新的终端窗口并运行以下命令:
redis-cli ping
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。