容器服务怎么通过端口转发方式访问 Jupyter 服务

通过端口转发方式访问 [backcolor=transparent]Jupyter 服务具有以下优点,但是设置较复杂。

  • 您不需要购买负载均衡实例,可以节省您的费用。
  • 您不需要在官网上开放端口即可从外部访问 [backcolor=transparent]Jupyter 服务。

下面的示例假设通过本地的 12345 端口进行转发 SSH 访问您的 [backcolor=transparent]Jupyter 服务。

步骤 1 打通 SSH Tunnel
Mac OS X 和 Linux 环境下
运行以下命令打通本地端口和 ECS 实例的连接。
ssh -ND 12345 root@39.***.**.236
12345 是您要使用的本地端口,您可以自定义。39.***.**.236 是您的 ECS 实例绑定的弹性公网 IP。

注意:您可以登录 ECS 管理控制台 查看 ECS 实例绑定的弹性公网 IP。如果您的实例未绑定弹性公网 IP,您需要先为其绑定弹性公网 IP,参见 管理弹性公网 IP

Windows 环境下
  1. 配置本地端口跳转。
    运行 PuTTY 并配置 SSH [backcolor=transparent]Tunnels。填写 [backcolor=transparent]Source Port。本示例中为 [backcolor=transparent]12345。
  2. 选择 [backcolor=transparent]Dynamic。
  3. 单击 [backcolor=transparent]Add。

登录 ECS 实例。
  1. 运行 PuTTY,配置 [backcolor=transparent]Session 并单击 [backcolor=transparent]Open。
    填写 IP 地址,即 ECS 实例的弹性公网 IP,本示例中为 39.***.**.236。
  2. 在弹出的会话框里输入您的登录账号和 ECS 实例的登录密码。
    您成功登录到 ECS 实例上。


步骤 2 配置浏览器的网络连接
Firefox 浏览器

如果您使用的是 Firefox 浏览器,打开浏览器,单击 [backcolor=transparent]工具 > [backcolor=transparent]选项 > [backcolor=transparent]高级 > [backcolor=transparent]网络 选项卡 > 单击 [backcolor=transparent]连接 对应的 [backcolor=transparent]设置 按钮 > 设置[backcolor=transparent]SOCKS 主机。


Chrome 浏览器
运行以下命令。
Chrome --proxy-server="socks5://localhost:12345" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmppath/
[backcolor=transparent]其中:
  • 12345 是您所使用的本地端口。
  • 若是 Windows 系统,这里的 /tmppath/ 可以写成类似 d:/tmppath;若是 Linux 或者 Mac OS X,可以直接写成/tmp/。

在不同的操作系统中,Chrome 的位置不同,请参见下表:
操作系统Chrome 的位置
Mac OS X/Applications/Google\ Chromapp/Contents/MacOS/Google\ Chrome
Linux/usr/bin/google-chrome
WindowsC:\Program Files (x86)\Google\Chrome\Application\chrome.exe

以 Windows 系统为例:


步骤 3 访问 Jupyter 服务
在您的浏览器中输入 [backcolor=transparent]Jupyter 服务的访问地址。本示例中为 192.***.*.83:32774。即可成功地从外部 SSH 访问到[backcolor=transparent]Jupyter 服务。
[backcolor=transparent]Firefox:

[backcolor=transparent]Chrome:

展开
收起
反向一觉 2017-10-30 16:57:32 3081 分享 版权
阿里云 AI 助理回答

通过端口转发方式访问 Jupyter 服务,确实可以无需公网暴露和额外的负载均衡器费用,为用户提供了一种相对安全且经济的远程访问方案。您提供的步骤已经很详细了,这里我再简要概括一下流程,并提供一些阿里云产品相关的建议,以进一步优化您的体验:

端口转发步骤回顾

  1. 配置SSH Tunnel

    • Mac/Linux: 使用ssh -ND 12345 root@ECS_IP命令。
    • Windows: 利用PuTTY配置动态端口转发。
  2. 配置浏览器代理

    • Firefox: 设置SOCKS代理到localhost:12345。
    • Chrome: 使用命令行参数设置socks代理(示例中已给出)。
  3. 访问Jupyter服务:在浏览器中输入Jupyter运行所在服务器的内网IP及端口。

阿里云产品优化建议

  • 使用安全组策略:即使通过SSH隧道访问,也建议在ECS实例的安全组规则中仅允许来自内部网络或特定IP的SSH连接,增加安全性。

  • NAT网关与私有网络:如果不想给ECS绑定弹性公网IP,可以考虑使用阿里云的NAT网关结合VPC私有网络,实现更安全的外部访问方案。这样,您可以将Jupyter服务器置于私有网络中,通过NAT网关进行出站访问控制。

  • ECS实例自定义镜像:如果您经常需要部署Jupyter环境,可以创建一个包含预装Jupyter的ECS自定义镜像,以便快速部署新实例。

  • 云原生方案:对于更复杂的应用场景,考虑使用Kubernetes服务(ACK)配合JupyterHub,实现容器化、可扩展的Jupyter服务部署。这不仅便于管理,还能更好地利用资源。

  • 数据安全与备份:使用阿里云的对象存储OSS来存储Jupyter笔记本和数据,确保数据的持久性和高可用性。

通过上述方法,您可以结合阿里云的产品特性,进一步提升Jupyter服务的安全性、便捷性和成本效益。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

国内唯一 Forrester 公共云容器平台领导者象限。

还有其他疑问?
咨询AI助理