GCP 终于发布了托管的 Jupyter 笔记本。我希望能够通过连接到笔记本在本地与它进行交互。IE。我使用 PyCharm 通过传递其 URL 和令牌参数来连接到外部配置的 jupyter notebbok 服务器。
问题也适用于 AWS Sagemaker 笔记本。
GCP 终于发布了托管的 Jupyter 笔记本。我希望能够通过连接到笔记本在本地与它进行交互。IE。我使用 PyCharm 通过传递其 URL 和令牌参数来连接到外部配置的 jupyter notebbok 服务器。
问题也适用于 AWS Sagemaker 笔记本。
AWS 本身并不支持将 SSH 连接到 SageMaker 笔记本实例,但没有什么能真正阻止您自己设置 SSH。
唯一的问题是这些实例没有获得公共 IP 地址,这意味着您必须创建一个反向代理(例如使用 ngrok)或通过堡垒箱连接到它。
使 ngrok 解决方案起作用的步骤:
curl https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip > ngrok.zip
unzip ngrok.zip
./ngrok authenticate
使用您的令牌运行./ngrok tcp 22 > ngrok.log &
(& 将其置于后台)开头~/.ssh/authorized_keys
文件(在 SageMaker 上)并粘贴您的公钥(可能~/.ssh/id_rsa.pub
来自您的计算机)ssh -p <port_from_ngrok_logfile> ec2-user@0.tcp.ngrok.com
(或他们分配给您的任何主机,它;将在 ngrok.log 中)如果你想自动化它,我建议使用生命周期配置脚本。
另一个好技巧是将下载、解压缩、身份验证和启动 ngrok 包装到 /usr/bin 中的一些二进制文件中,这样如果它死了,你就可以从 SageMaker 控制台调用它。
完全解释如何使用生命周期脚本自动化它有点太长了,但我已经在https://biasandvariance.com/sagemaker-ssh-setup/上编写了详细指南。
在 AWS 上,您可以使用 AWS Glue 创建开发人员终端节点,然后从那里创建 Sagemaker 笔记本。开发人员端点使您可以访问通过 ssh 连接到您的 python 或 Scala spark REPL,它还允许您通过任何其他工具(包括 PyCharm)建立连接和访问。
对于 PyCharm 专业版,我们有更紧密的集成,允许您 SFTP 文件和远程调试。
而且,如果您需要在笔记本上安装任何依赖项,除了直接在笔记本上安装之外,您始终可以选择new>terminal
并且您将直接从您的 jupyter 环境连接到该机器,您可以在其中安装任何您想要的东西。
你好橄榄树,
感谢您使用 Amazon SageMaker。
您是否尝试过CreatePresignedNotebookInstanceUrl使用 url 访问您的笔记本实例?
我们总是根据客户的要求重新评估我们积压的功能,因此我们感谢有关此功能的反馈。
让我们知道是否还有其他我们可以提供的帮助。
谢谢,
尼拉姆
GCP 的 AI Platform Notebooks 会自动创建一个永久性 URL,您可以使用该 URL 访问您的笔记本。那是你要找的吗?