本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对笔记本进行容器化笔记本
本节包括有关如何使用 Jupyter 笔记本构建 Docker 容器的信息。如果重复使用第三方构建的笔记本,则存在安全风险:包含的容器可能使用您的用户权限执行任意代码。此外,笔记本生成的 HTML 可以显示在Amazon IoT Analytics控制台,在显示 HTML 的计算机上提供潜在的攻击向量。在使用之前,请确保您信任任何第三方笔记本的作者。
执行高级分析函数的一个选项是使用 Jupyter 笔记本
如果你已经创建了一个 SageMaker 实例使用Amazon IoT Analytics控制台 2018 年 8 月 23 日之后,容器化扩展的安装已自动为您完成然后你就可以开始创建容器化镜像了. 否则,按照本节中列出的步骤在您的计算机上启用笔记本容器化 SageMaker 实例。在接下来的内容中,你修改你的 SageMaker 执行角色允许您将容器映像上传到 Amazon EC2 并安装容器化扩展程序。
对不是通过创建的笔记本实例启用容器化Amazon IoT Analytics控制台
建议您创建新的 SageMaker 通过运行实例Amazon IoT Analytics控制台,而不是按照这些步骤操作。新实例将自动支持容器化。
如果你重启你的 SageMaker 实例启用容器化后(如下所示),您无需重新添加 IAM 角色和策略,但必须重新安装扩展,如最后一步所示。
-
要向您的笔记本实例授予 Amazon ECS 访问权限,请选择您的 SageMaker 上的实例 SageMaker 页面:
-
下面IAM 角色 ARN,请选择 SageMaker 执行角色。
-
选择 Attach Policy (附加策略),然后定义并附加权限中显示的策略。如果
AmazonSageMakerFullAccess
政策尚未附上,请附上。
您还必须从 Amazon S3 下载容器化代码并将其安装在您的笔记本实例上,第一步是访问 SageMaker 实例的终端。
-
在 Jupyter 里面,选择new.
-
在出现的菜单中,选择终端站.
-
在终端内,输入以下命令来下载、解压缩和安装代码。请注意,这些命令会杀死您的笔记本电脑在此上运行的所有进程 SageMaker 实例。
cd /tmp aws s3 cp s3://iotanalytics-notebook-containers/iota_notebook_containers.zip /tmp unzip iota_notebook_containers.zip cd iota_notebook_containers chmod u+x install.sh ./install.sh
等待一两分钟,以便对扩展进行验证和安装。
更新您的笔记本容器化扩展
如果你创建了你的 SageMaker 通过运行实例Amazon IoT Analytics控制台在 2018 年 8 月 23 日之后,容器化扩展程序自动安装。您可以通过从重启实例来更新扩展程序 SageMaker 控制台。如果您手动安装了扩展程序,则可以通过重新运行启用未通过以下方式创建的笔记本实例的容器化中列出的终端命令来对其进行更新Amazon IoT Analytics控制台。
创建容器化映像
在本节中,我们将演示实现笔记本容器化所需的步骤。首先,请转至您的 Jupyter 笔记本,创建具有容器化内核的笔记本。
-
在您的 Jupyter 笔记本中,选择 New (新建),然后从下拉列表中选择所需内核类型。(内核类型应以 “容器化” 开头,以原本会选择的任何内核结尾。 例如,如果你只想要一个像 “conda_python3” 这样的普通的 Python 3.0 环境,请选择 “容器化 conda_python3”)。
-
在完成笔记本上的工作并想要将其容器化后,选择容器化.
-
输入容器化笔记本的名称。您还可以输入可选说明。
-
指定应用于调用笔记本的 Input Variables (输入变量)(参数)。您可以选择从笔记本中自动检测到的输入变量,或定义自定义变量。(请注意,仅当之前已执行过笔记本时,才能检测到输入变量。) 对于每个输入变量,选择一种类型。您也可以输入输入变量的可选描述。
-
选择 Amazon ECR 存储库,在该存储库中上载从笔记本创建的镜像。
-
选择容器化开始这个过程。
您将看到一个概述,总结您的输入。请注意,启动此过程之后,将无法取消它。该过程可能持续长达一个小时。
-
下一页显示进度。
-
如果您不小心关闭了浏览器,您可以通过以下方式监控容器化过程的状态笔记本部分Amazon IoT Analytics控制台。
-
该过程完成后,容器化映像将存储在 Amazon ECR 上以备使用。