创建和关联生命周期配置 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建和关联生命周期配置

Amazon SageMaker Studio 应用程序是交互式应用程序,可实现 Studio 的视觉界面、代码创作和执行体验。应用程序类型可以是 JupyterServer 或内核网关。

  • JupyterServer 应用程序:此应用程序类型允许访问 Studio 的可视界面。工作室中的每个用户都有自己的 JupyterServer 应用程序。

  • 内核网关应用程序:此应用程序类型允许访问 Studio 笔记本电脑和终端的代码执行环境和内核。有关更多信息,请参阅 。Jupyter 内核网关.

有关 Studio 体系结构和 Studio 应用程序的更多信息,请参阅使用 Amazon SageMaker Studio 笔记本.

Prerequisites

第 1 步:创建新的生命周期配置

以下过程演示如何创建生命周期配置脚本,在该脚本中打印Hello World.

  1. 从您的本地计算机上,创建一个名为my-script.sh,其中包含以下内容。

    #!/bin/bash set -eux echo 'Hello World!'
  2. 将您的my-script.sh文件将 API 导入 Base64 格式。此要求可防止由于间距和换行符编码而产生的错误。

    LCC_CONTENT=`openssl base64 -in my-script.sh`
  3. 创建 Studio 生命周期配置。以下命令将创建一个生命周期配置,该配置在启动关联的 KernelGateway 应用程序时运行。

    aws sagemaker create-studio-lifecycle-config \ --region <your-region> \ --studio-lifecycle-config-name my-studio-lcc \ --studio-lifecycle-config-content $LCC_CONTENT \ --studio-lifecycle-config-app-type KernelGateway

    记下返回的新创建的生命周期配置的 ARN。要将生命周期配置附加到您的应用程序,需要使用此 ARN。

第 2 步:将生命周期配置附加到 Studio 域或 UserProfile

您需要更新 Studio 域的 UserSettings 或单个 UserProfile 以附加生命周期配置。在域级别关联的生命周期配置脚本由所有用户继承,而在 UserProfile 级别关联的脚本的作用域为特定用户。

以下示例显示如何使用附加生命周期配置创建新的 UserProfile。如果要更新现有 UserProfile,请使用update-user-profile命令。

将上一步中的生命周期配置 ARN 添加到相应 AppType 的设置中。例如,将其放入JupyterServerAppSettings的。您可以使用生命周期配置列表一次添加多个生命周期配置。

# Create a new UserProfile aws sagemaker create-user-profile --domain-id <DOMAIN-ID> \ --user-profile-name <USER-PROFILE-NAME> \ --region <REGION> \ --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": ["<LIFECYCLE-CONFIGURATION-ARN-LIST>"] } }'

第 3 步:启动新应用程序时选择生命周期配置

将生命周期配置附加到 UserProfile 后,用户可以在启动应用程序时选择该配置。启动应用程序的两种方法是使用Amazon CLI并通过 Studio 启动程序进行相关操作。以下几节介绍了如何使用这两种方法启动应用程序。

启动应用程序使用Amazon CLI

启动应用程序并在ResourceSpec参 CreateApp。

  • 以下示例显示了如何创建 JupyterServer 应用程序。创建 JupyterServer 应用程序时,应用程序名称必须是default.

    aws sagemaker create-app --domain-id <DOMAIN-ID> \ --region <YOUR-REGION> \ --user-profile-name <USERPROFILE-NAME> \ --app-type JupyterServer \ --resource-spec LifecycleConfigArn=<LIFECYCLE-CONFIGURATION-ARN> \ --app-name default
  • 以下示例显示了如何创建 KerLGateway 应用程序。

    aws sagemaker create-app --domain-id <DOMAIN-ID> \ --region <YOUR-REGION> \ --user-profile-name <USERPROFILE-NAME> \ --resource-spec LifecycleConfigArn=<LIFECYCLE-CONFIGURATION-ARN>,SageMakerImageArn=<SAGEMAKER-IMAGE-ARN>,InstanceType=<INSTANCE-TYPE> \ --app-type KernelGateway \ --app-name <APP-NAME>

使用工作室启动程序启动内核网关应用

  1. 启动工作室域。有关更多信息,请参阅使用 Amazon SageMaker Studio 启动程序

  2. 在启动器中,导航到Notebooks and compute resources部分。

  3. 选择您的 SageMaker 图片。

  4. 选择启动脚本。如果没有默认的生命周期配置,则此值默认为No script. 否则,此值将等于默认生命周期配置。选择生命周期配置后,可以查看整个脚本。

  5. SelectNotebook启动包含所选映像和生命周期配置的新笔记本内核。

第 4 步:查看生命周期配置的日志

在将生命周期配置附加到 Studio 域或 UserProfile 后,您可以查看生命周期配置的日志。

  1. 要查看生命周期配置的 CloudWatch 日志,您必须首先为您的 IAM 角色提供对 CloudWatch 的访问权限。您需要以下日志组的读取权限/aws/sagemaker/studio和以下日志流{Domain}/{UserProfile}/{AppType}/{AppName}/LifecycleConfigOnStart. 有关添加权限的信息,请参阅从启用日志记录Amazon服务.

  2. 要监视生命周期配置,请导航到Running instances 选项卡。

  3. 从正在运行的应用程序列表中选择一个应用。具有附加生命周期配置的应用程序具有附加的指示 .

  4. 单击应用程序的指标图标。这将打开一个列出生命周期配置的新面板。

  5. 在新面板中,选择View logs. 此操作将打开一个新的选项卡,其中显示日志。