【问题标题】:Access dashboard on AWS ec2 local cluster访问 AWS ec2 本地集群上的仪表板
【发布时间】:2021-10-08 03:26:35
【问题描述】:

我正在 AWS 的 EC2 实例上运行 Dask 脚本。我想连接并查看 Dask 提供的仪表板,但我不知道如何连接。

我正在我的 EC2 实例上创建一个本地集群,脚本运行良好,我正在通过 Putty 连接到我的 AWS 实例。但是,我想查看可用的仪表板:在我的 PC 上连接到提供的 IP 和端口就足够了,但我无法在 AWS 机器上这样做。

脚本运行后,这是我本地集群“参数”的输出:

<Client: 'inproc://172.31.29.4/7475/1' processes=1 threads=8, memory=27.94 GiB>
LocalCluster(b8be08dd, 'inproc://172.31.29.4/7475/1', workers=1, threads=8, memory=27.94 GiB)
dashboard address: {'dashboard': 8787}

例如,我尝试在浏览器上写 172.32.29.4:8787/status,但无法连接到仪表板。

我已经检查了这个问题:How to view Dask dashboard when running on a virtual machine? 但是我使用的是本地集群,我想从远程连接到它的仪表板。可能吗?如果有,怎么做?

【问题讨论】:

  • 172.31.29.4 是本地 IP 地址,如 192.168.1.1。您不能在机器子网之外使用该地址。您需要一个公共 IP 地址。
  • 获取该 EC2 的 Public IP,然后确保 EC2 Security Group allows port 8787。虽然询问了所有这些,但请注意:允许通过安全组访问所有人是不安全的。最好添加一个Auth Layer to that dashboard

标签: python amazon-web-services amazon-ec2 dask dask-distributed


【解决方案1】:

答案在 cmets 中,但我会在此处输入,以便原始问题看起来“已回答”。

您需要两件事来连接到 EC2 机器上的端口:外部 IP 和访问权限。前者最容易从 AWS 控制台中找到。对于后者,您通常需要编辑安全组来为端口添加入站 TCP 规则(向世界开放,或者只是您的 IP)。还有其他方法可以做到这一点,具体取决于您的机器是否在 VPC 内,是否有任何自定义网关或路由器……但如果您不知道这意味着什么,请先找到安全组。公共 IP 和安全组都将从 EC2“运行实例”列表中的机器行链接。

【讨论】:

  • 我设法让它工作。我基本上在我的 AWS 实例中添加了一个入站 TCP 规则,允许访问 8787 端口。然后我使用公共 IP(在实例设置中可用)连接到 Putty,并选择 8787 作为端口。一旦腻子运行并连接,终端似乎死了,但这不是问题。打开您的浏览器并连接(putty 仍在运行)到“public_ip_AWS:8787/status”,您将能够看到您的仪表板。这可能对未来的用户有用
【解决方案2】:

我已设置 dask-labextension 可视化来提供这种类型的 UI。

创建client 对象:

from dask.distributed import Client
client = Client()

然后点击扩展提供的放大镜自动连接集群。

详细说明为in this post

【讨论】:

    猜你喜欢
    • 2022-08-10
    • 2019-01-26
    • 2019-12-22
    • 1970-01-01
    • 2017-12-24
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    相关资源
    最近更新 更多