Dha*_*val 14 google-cloud-platform google-cloud-memorystore
在开发过程中从本地计算机访问Memorystore的最佳方法是什么?有没有像我可以用来设置隧道的Cloud SQL Proxy?
Chr*_*aan 14
您可以启动计算引擎实例并使用端口转发连接到Redis计算机.
例如,如果您的Redis机器具有内部IP地址10.0.0.3,您将执行以下操作:
gcloud compute instances create redis-forwarder --machine-type=f1-micro
gcloud compute ssh redis-forwarder -- -N -L 6379:10.0.0.3:6379
Run Code Online (Sandbox Code Playgroud)
只要保持ssh隧道打开,就可以连接到localhost:6379
您可以启动 Compute Engine 实例并使用以下docker image haproxy docker image设置 haproxy,然后 haproxy 会将您的 tcp 请求转发到 memorystore。
例如,我想使用 ip 10.0.0.12 访问 memorystore 实例,因此添加了以下 haproxy 配置:
frontend redis_frontend
bind *:6379
mode tcp
option tcplog
timeout client 1m
default_backend redis_backend
backend redis_backend
mode tcp
option tcplog
option log-health-checks
option redispatch
log global
balance roundrobin
timeout connect 10s
timeout server 1m
server redis_server 10.0.0.12:6379 check
Run Code Online (Sandbox Code Playgroud)
所以现在您可以使用以下命令从本地机器访问 memorystore:
redis-cli -h <your-haproxy-public-ipaddress> -p 6379
Run Code Online (Sandbox Code Playgroud)
注意:替换为您实际的 haproxy ip 地址。
希望可以帮助您解决您的问题。
我在Google Cloud上创建了一个VM
gcloud compute instances create redis-forwarder --machine-type=f1-micro
Run Code Online (Sandbox Code Playgroud)
然后SSH到它并安装haproxy
sudo su
apt-get install haproxy
Run Code Online (Sandbox Code Playgroud)
然后更新配置文件
/etc/haproxy/haproxy.cfg
....existing file contents
frontend redis_frontend
bind *:6379
mode tcp
option tcplog
timeout client 1m
default_backend redis_backend
backend redis_backend
mode tcp
option tcplog
option log-health-checks
option redispatch
log global
balance roundrobin
timeout connect 10s
timeout server 1m
server redis_server [MEMORYSTORE IP]:6379 check
Run Code Online (Sandbox Code Playgroud)
重新启动haproxy
/etc/init.d/haproxy restart
Run Code Online (Sandbox Code Playgroud)
然后,我可以从本地计算机连接到内存存储以进行开发
| 归档时间: |
|
| 查看次数: |
4474 次 |
| 最近记录: |