对笔记本进行容器化 - AWS IoT Analytics
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

对笔记本进行容器化

此部分包括有关如何使用Jupyter笔记本构建Docker容器的信息。如果重复使用第三方构建的笔记本,则存在安全风险:包含的容器可能使用您的用户权限执行任意代码。此外,笔记本生成的HTML可以显示在 AWS IoT Analytics 控制台,在显示HTML的计算机上提供潜在攻击向量。在使用之前,请确保您信任任何第三方笔记本的作者。

执行高级分析功能的一个选项是使用 Jupyter Notebook。 Jupyter Notebook 提供强大的数据科学工具,可执行机器学习和一系列统计分析。有关更多信息,请参阅 笔记本模板. (请注意,我们目前不支持JupyterLab内部的容器化。)您可以打包您的 Jupyter Notebook 和库放入容器,定期在新批次数据上运行,因为数据由 AWS IoT Analytics 在增量时间窗口中,您可以定义。您可以计划使用容器的分析作业和在指定时间窗口内捕获的新分段数据,然后存储作业的输出以用于将来的计划分析。

如果您已经创建了一个 SageMaker 使用的实例 AWS IoT Analytics 控制台,则系统会自动为您安装容器化扩展程序 并且可以开始创建一个集装箱化图像. 否则,请按照本节中列出的步骤在您的 SageMaker 实例。在下面的内容中,您修改了 SageMaker 执行角色,允许您将容器镜像上传到 Amazon EC2 并安装容器化扩展名。

启用未通过创建笔记本实例的容器化 AWS IoT Analytics 控制台

我们建议您创建新的 SageMaker 实例,通过 AWS IoT Analytics 而不是按照这些步骤操作。新实例将自动支持容器化。

如果您重新启动 SageMaker 实例,如此处所示,启用容器化后,您不必重新添加 IAM 角色和策略,但您必须重新安装扩展程序,如最后一步所示。

  1. 如何授予笔记本实例访问权限 Amazon ECS,请选择您的 SageMaker 实例 SageMaker 页面:

    
           将笔记本容器化 AWS IoT Analytics.
  2. 低于 IAM角色ARN,选择 SageMaker 执行角色。

    
           将笔记本容器化 AWS IoT Analytics.
  3. 选择 Attach Policy (附加策略),然后定义并附加权限中显示的策略。如果 AmazonSageMakerFullAccess 策略尚未附加,请同时附加它。

    
           将笔记本容器化 AWS IoT Analytics.

您还必须从以下位置下载容器化代码: Amazon S3 并将其安装到您的笔记本实例上,第一步是访问 SageMaker 实例的终端。

  1. 在Jupyter内部,选择 .

    
           将笔记本容器化 AWS IoT Analytics.
  2. 在显示的菜单中,选择 终端.

    
           将笔记本容器化 AWS IoT Analytics.
  3. 在终端内,输入以下命令来下载、解压缩和安装代码。请注意,这些命令会终止笔记本在此 SageMaker 实例。

    
           将笔记本容器化 AWS IoT Analytics.
    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 实例通过 AWS IoT Analytics 控制台,然后自动安装容器化扩展。您可以通过重新启动实例来更新分机 SageMaker 控制台。如果您手动安装扩展程序,则可以通过重新运行“启用笔记本实例的容器化”未创建中列出的终端命令来更新它 AWS IoT Analytics 控制台。

创建容器化图像

在本节中,我们将演示实现笔记本容器化所需的步骤。首先,前往您的 Jupyter Notebook 创建带有容器化内核的笔记本。

  1. 在您的 Jupyter Notebook,选择 ,然后从下拉列表中选择所需的内核类型。(内核类型应以“包含”开头,并以您原本选择的任何内核结尾。例如,如果您只想使用普通的Python3.0环境,例如"conda_python3",请选择"Containerizedconda_python3"。

    
           在中更新您的笔记本容器化扩展 AWS IoT Analytics.
  2. 在完成笔记本上的工作并希望对其进行容器化后,请选择 集装箱化.

    
            在中更新您的笔记本容器化扩展 AWS IoT Analytics.
  3. 输入容器化笔记本的名称。您还可以输入可选说明。

    
            在中更新您的笔记本容器化扩展 AWS IoT Analytics.
  4. 指定应用于调用笔记本的 Input Variables (输入变量)(参数)。您可以选择从笔记本中自动检测到的输入变量,或定义自定义变量。(请注意,输入变量仅在您以前执行过笔记本时才被检测到。)为每个输入变量选择类型。您还可以输入输入变量的可选说明。

    
            在中更新您的笔记本容器化扩展 AWS IoT Analytics.
  5. 选择 Amazon ECR 存储库,其中应上传从笔记本创建的图像。

    
            在中更新您的笔记本容器化扩展 AWS IoT Analytics.
  6. 选择 集装箱化 以开始流程。

    您将看到总结您输入的概述。请注意,启动流程后,您无法取消它。该过程可能持续长达一小时。

    
            在中更新您的笔记本容器化扩展 AWS IoT Analytics.
  7. 下一页显示进度。

    
            在中更新您的笔记本容器化扩展 AWS IoT Analytics.
  8. 如果您不小心关闭了浏览器,您可以从 笔记本 部分 AWS IoT Analytics 控制台。

  9. 过程完成后,容器化图像存储在 Amazon ECR 随时可供使用。

    
            在中更新您的笔记本容器化扩展 AWS IoT Analytics.