使用 LCC 脚本自定义 SageMaker 笔记本实例 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 LCC 脚本自定义 SageMaker 笔记本实例

重要

允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。需要向资源添加标签的权限,因为 Studio 和 Studio Classic 会自动标记他们创建的任何资源。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记,则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息,请参阅 提供为资源添加标签 SageMaker的权限

Amazon 适用于亚马逊的托管政策 SageMaker授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。

生命周期配置 (LCC) 提供的 shell 脚本仅在您创建笔记本实例或启动笔记本实例时运行。创建笔记本实例时,可以创建新的 LCC 或附加已有的 LCC。生命周期配置脚本对以下用例非常有用:

  • 在笔记本实例上安装软件包或示例笔记本

  • 为笔记本实例配置网络和安全性

  • 使用 shell 脚本自定义笔记本实例

您也可以使用生命周期配置脚本从笔记本访问 Amazon 服务。例如,您可以创建一个脚本,允许您使用笔记本控制其他 Amazon 资源,例如 Amazon EMR 实例。

我们维护着一个包含笔记本生命周期配置脚本的公共存储库,这些脚本解决了自定义笔记本实例的常见用例,网址为 https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples

注意

每个脚本的字符数上限为 16384 个字符。

可用于这两个脚本的 $PATH 环境变量的值是 /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin。工作目录(这是 $PWD 环境变量的值)是 /

在 CloudWatch 日志流的日志组中查看 notebook 实例生命周期配置/aws/sagemaker/NotebookInstances的日志[notebook-instance-name]/[LifecycleConfigHook]

脚本运行时间不能超过 5 分钟。如果脚本运行时间超过 5 分钟,它会失败,并且不创建或启动笔记本实例。为了缩短脚本的运行时间,请尝试以下方法:

  • 减少所需的步骤。例如,限制在哪些 conda 环境中安装大型软件包。

  • 在并行进程中运行任务。

  • 在脚本中使用 nohup 命令。

您可以通过在 SageMaker 控制台中选择生命周期配置来查看之前创建的笔记本实例生命周期配置列表。在创建新的笔记本实例时,您可以附加笔记本实例 LCC。有关创建笔记本实例的更多信息,请参阅 创建 Amazon SageMaker 笔记本实例

创建生命周期配置
  1. 打开 SageMaker 控制台,网址为 https://console.aws.amazon.com/sagemaker/

  2. 在左侧导航窗格中,选择管理员配置

  3. 管理员配置下,选择生命周期配置

  4. 生命周期配置页面中,选择笔记本实例选项卡。

  5. 选择创建配置

  6. 对于名称,请键入使用字母数字字符和 -(但不能含空格)的名称。名称最多可包含 63 个字符。

  7. (可选)要创建在您创建笔记本和每次启动笔记本时运行的脚本,请选择启动笔记本

  8. 启动笔记本编辑器中,键入脚本。

  9. (可选)要创建仅运行一次的脚本,则在创建笔记本时,选择创建笔记本

  10. 创建笔记本编辑器中,键入脚本配置网络。

  11. 选择创建配置