访问 AWS ec2 本地集群上的仪表板

Access dashboard on AWS ec2 local cluster

我是 运行 来自 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,但无法连接到仪表板。

我已经检查过这个问题: 但是我使用的是本地集群,我想从远程连接到它的仪表板。可能吗?如果是,怎么做?

答案在评论中,但我会在这里打出来,这样原始问题看起来“已回答”。

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

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

创建 client 对象:

from dask.distributed import Client
client = Client()

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

详细说明为in this post.