文档首页> 分布式缓存服务 DCS> 最佳实践> 使用SSH隧道代理机制实现公网访问DCS实例
更新时间:2023-08-15 GMT+08:00
分享

使用SSH隧道代理机制实现公网访问DCS实例

背景

公有云采用虚拟私有云(VPC)管理各服务的网络安全,比如DCS缓存服务,用户创建的DCS缓存实例,只允许被实例处于相同虚拟私有云的弹性云服务器访问。

解决方案

华为云的弹性云服务器,如果绑定了弹性IP地址,用户可以从本地电脑远程访问。

因此,可以采用ssh工具的隧道代理机制,通过一台既能连接DCS缓存实例,又能被本地电脑访问的中转服务器,实现“代理转发”。

  • Redis 4.0/5.0/6.0的Cluster集群实例暂不支持使用该方案进行公网访问。
  • 不建议在生产环境中使用公网访问的方式,对于因公网网络性能造成的客户端访问异常不计入SLA。

前提条件

假设已申请DCS缓存实例一个,本地电脑可以连接互联网,且安装有MobaXterm、Redis客户端等工具。

申请一台弹性云服务器(ECS),满足以下要求:

  • 绑定弹性IP,公网可以访问ECS.
  • ECS的虚拟私有云以及子网配置成与DCS缓存实例相同。
  • ECS配置正确的安全组访问规则。
  • 为了方便,ECS使用linux操作系统。

这样保证ECS与DCS缓存实例网络互通,同时可以从本地电脑远程SSH连接ECS。

通过MobaXterm建立隧道作为跳板机

  1. 新建一个到ECS的SSH连接,使用22号端口。

    图1 连接ECS

  2. SSH连接配置好后,输入登录用户和密码,连接上ECS。登录后输入TMOUT=0,避免连接超时自动关闭。

    图2 输入TMOUT=0

  3. 在MobaXterm工具中找到MobaSSHtunnal,建立隧道。

    图3 创建隧道

  4. 配置本地IP为127.0.0.1后,启动隧道。

    图4 启动隧道

  5. 本地电脑打开Redis客户端,以Redis命令行界面为例。连接DCS缓存实例,命令如下:

    Redis-cli -h 127.0.0.1 -p 3306 -a {password}

    参数说明:

    -h 主机名:localhost或者127.0.0.1,和隧道建立时配置的本地IP相同。

    -p 端口号:3306,和隧道建立时配置的本地侦听端口相同。

    -a 密码:DCS缓存实例连接密码。

  1. 连接成功,显示如下。

    图5 连接实例

分享:

    相关文档

    相关产品