文档首页/ 分布式缓存服务 DCS/ 最佳实践/ 网络连接/ 使用SSH隧道代理实现公网访问DCS
更新时间:2024-10-24 GMT+08:00

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

方案概述

当前,华为云DCS的Redis 4.0及以上版本不支持绑定弹性IP,无法直接通过公网访问。

本章节主要介绍通过SSH工具的隧道代理机制,通过一台既能连接DCS缓存实例,又能被本地电脑访问的中转服务器,实现“代理转发”,从而访问VPC内Redis 4.0/5.0/6.0单机、主备、读写分离、Proxy集群实例。Cluster集群实例暂不支持使用该方案进行公网访问

不建议在生产环境中使用公网访问的方式,对于因公网网络性能造成的客户端访问异常不计入SLA。

前提条件

  • 已创建DCS缓存实例,且状态为“运行中”。
  • 申请一台弹性云服务器(ECS),满足以下要求,这样保证ECS与DCS缓存实例网络互通,同时可以从本地电脑远程SSH连接ECS。
    • 绑定弹性IP,公网可以访问ECS.
    • ECS的虚拟私有云以及子网配置成与DCS缓存实例相同。
    • ECS配置正确的安全组访问规则。
    • 为了方便,ECS使用Linux操作系统。
  • 本地电脑可以连接互联网,且安装有MobaXterm、Redis客户端等工具。

实施步骤

  1. 在本地电脑中打开MobaXterm工具。
  2. 新建一个到ECS的SSH连接,使用22号端口。

    图1 连接ECS

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

    图2 输入TMOUT=0

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

    图3 创建隧道

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

    图4 启动隧道

  6. 本地电脑打开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 连接实例