google-cloud-platform - 端口转发从本地机器连接到 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 实例,但端口转发不起作用。
解决方案
按照以下步骤,
- 通过从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
推荐阅读
- react-admin - 我没有将我的后端 api 与 react-admin 连接起来。发生的错误:
- javascript - 停止模态窗口滚动后面的内容
- java - 我想将此代码转换为声音(尝试共享音频文件)
- c# - 数组索引超出范围,在其他帖子中找不到答案
- eclipse - 如何设置 JPA 控制台或类似的东西来执行 JPQL 查询?
- git - 如果没有人共享分支,Git Rebase
- javascript - Tensorflow.js 预测的上限好像是1?
- javascript - 如何在每次调用时为 setInterval 生成新的延迟?
- python - tensorflow profiler 形状不兼容警告
- amazon-web-services - 如何处理 EC2 用户数据