附上自定义 A SageMaker I 镜像 - 亚马逊 SageMaker AI

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

附上自定义 A SageMaker I 镜像

重要

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

AWS 亚马逊 A SageMaker I 的托管策略授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。

重要

截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息,请参阅 亚马逊 SageMaker Studio

要使用自定义 A SageMaker I 镜像,您必须将镜像版本附加到您的网域或共享空间。附加图像版本时,它会显示在 SageMaker Studio Classic Launcher 中,并显示在 “选择图像” 下拉列表中,用户可以使用该下拉列表启动活动或更改笔记本使用的图像。

要将自定义 A SageMaker I 映像提供给网域内的所有用户,您需要将该图像附加到网域。要使一个映像可供共享空间中的所有用户使用,可以将该映像附加到共享空间。要使一个映像可供单个用户使用,需要将该映像附加到该用户的配置文件中。当您附加图像时, SageMaker AI 默认使用最新的图像版本。您也可以附加特定的映像版本。附加版本后,您可以在启动笔记本电脑时从 SageMaker AI Launcher 或图像选择器中选择版本。

在任何给定时间可以附加的映像版本的数量是有限的。达到限制后,必须分离一个版本才能附加映像的另一个版本。

以下各节演示如何使用 SageMaker AI 控制台或将自定义 SageMaker AI 映像附加到您的网域 AWS CLI。您只能使用 AWS CLI将自定义映像附加到共享空间。

将 SageMaker AI 图像附加到网域

使用控制台附加 SageMaker AI 映像

本主题介绍如何使用 AI 控制面板将现有的自定义 SageMaker AI 映像版本附加到您的网域。 SageMaker 您还可以创建自定义 A SageMaker I 镜像和镜像版本,然后将该版本附加到您的网域。有关创建映像和映像版本的过程,请参阅创建自定义 A SageMaker I 镜像

附加现有映像
  1. 打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/

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

  3. 管理员配置下,选择

  4. 页面上,选择要将映像附加到的域。

  5. 域详细信息页面上,选择环境选项卡。

  6. 在 “环境” 选项卡上,在 “附加到域名的自定义 SageMaker Studio Classic 图像” 下,选择 “附加图像”。

  7. 对于映像源,选择现有映像

  8. 从列表中选择现有映像。

  9. 从列表中选择映像的版本。

  10. 选择下一步

  11. 验证映像名称映像显示名称描述的值。

  12. 选择 IAM 角色。有关更多信息,请参阅 创建自定义 A SageMaker I 镜像

  13. (可选)为映像添加标签。

  14. 指定 EFS 挂载路径。这是映像中挂载用户的 Amazon Elastic File System (EFS) 主目录的路径。

  15. 对于图像类型,请选择 SageMaker Studio 图像

  16. 对于内核名称中,输入映像中现有内核的名称。有关如何从镜像获取内核信息的信息,请参阅 SageMaker Studio Classic 自定义图像样本存储库中的开发。有关更多信息,请参阅 自定义 SageMaker AI 图像规格内核发现用户数据部分。

  17. (可选)对于内核显示名称,输入内核的显示名称。

  18. 选择添加内核

  19. 选择提交

    1. 等待映像版本附加到域。附加后,该版本将显示在自定义映像列表中,并短暂高亮显示。

使用附加 SageMaker AI 图像 AWS CLI

以下各节演示了在创建新域名或使用更新现有域名时如何附加自定义 SageMaker AI 映像 AWS CLI。

将 SageMaker AI 映像附加到新域

以下部分演示如何创建附有版本的新域。这些步骤要求您指定创建域所需的 Amazon Virtual Private Cloud (VPC) 信息和执行角色。您可以执行以下步骤来创建域并附加自定义 SageMaker AI 镜像:

  • 获取您的默认 VPC ID 和子网 IDs。

  • 为域创建配置文件,该文件指定映像。

  • 使用配置文件创建域。

将自定义 A SageMaker I 镜像添加到您的网域
  1. 获取默认 VPC ID。

    aws ec2 describe-vpcs \ --filters Name=isDefault,Values=true \ --query "Vpcs[0].VpcId" --output text

    响应内容应该类似于以下内容。

    vpc-xxxxxxxx
  2. IDs 使用上一步中的 VPC ID 获取您的默认子网。

    aws ec2 describe-subnets \ --filters Name=vpc-id,Values=<vpc-id> \ --query "Subnets[*].SubnetId" --output json

    响应内容应该类似于以下内容。

    [ "subnet-b55171dd", "subnet-8a5f99c6", "subnet-e88d1392" ]
  3. 创建一个名为 create-domain-input.json 的配置文件。插入之前步骤中的 VPC ID IDs ImageName、子网和AppImageConfigName。由于未指定 ImageVersionNumber,因此将使用映像的最新版本,也是本例中唯一的版本。

    { "DomainName": "domain-with-custom-image", "VpcId": "<vpc-id>", "SubnetIds": [ "<subnet-ids>" ], "DefaultUserSettings": { "ExecutionRole": "<execution-role>", "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "custom-image", "AppImageConfigName": "custom-image-config" } ] } }, "AuthMode": "IAM" }
  4. 使用附带的自定义 SageMaker AI 镜像创建网域。

    aws sagemaker create-domain \ --cli-input-json file://create-domain-input.json

    响应内容应该类似于以下内容。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx", "Url": "https://d-xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/..." }

将 SageMaker AI 图像附加到您当前的域名

如果您已加入 A SageMaker I 域,则可以将自定义图像附加到当前网域。有关加入 A SageMaker I 域的更多信息,请参阅亚马逊 SageMaker AI 域名概述。将自定义映像附加到当前域时,无需指定 VPC 信息和执行角色。附加版本后,必须删除域中的所有应用程序,然后重新打开 Studio Classic。有关删除应用程序的信息,请参阅 删除亚马逊 A SageMaker I 域名

您可以执行以下步骤将 SageMaker AI 图像添加到当前域中。

  • DomainID从 A SageMaker I 控制面板中获取。

  • 使用 DomainID 获取域的 DefaultUserSettings

  • ImageNameAppImageConfig 作为 CustomImage 添加到 DefaultUserSettings

  • 更新域以包含自定义映像。

将自定义 A SageMaker I 镜像添加到您的网域
  1. 打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/

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

  3. 管理员配置下,选择

  4. 页面上,选择要将映像附加到的域。

  5. 域详细信息页面上,选择域设置选项卡。

  6. 域设置选项卡的常规设置下,找到 DomainId。ID 的格式如下:d-xxxxxxxxxxxx

  7. 使用域 ID 获取域的描述。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    响应内容应该类似于以下内容。

    { "DomainId": "d-xxxxxxxxxxxx", "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. 将响应的默认用户设置部分保存到名为 default-user-settings.json 的文件中。

  9. 插入前面步骤中的 ImageNameAppImageConfigName 作为自定义映像。由于未指定 ImageVersionNumber,因此将使用映像的最新版本,也是本例中唯一的版本。

    { "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. 使用域 ID 和默认用户设置文件更新域。

    aws sagemaker update-domain \ --domain-id <d-xxxxxxxxxxxx> \ --cli-input-json file://default-user-settings.json

    响应内容应该类似于以下内容。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }

将 SageMaker AI 图像附加到共享空间

您只能使用将 SageMaker AI 映像附加到共享空间 AWS CLI。附加版本后,必须删除共享空间中的所有应用程序并重新打开 Studio Classic。有关删除应用程序的信息,请参阅 删除亚马逊 A SageMaker I 域名

您可以执行以下步骤将 SageMaker AI 图像添加到共享空间。

  • DomainID从 A SageMaker I 控制面板中获取。

  • 使用 DomainID 获取域的 DefaultSpaceSettings

  • ImageNameAppImageConfig 作为 CustomImage 添加到 DefaultSpaceSettings

  • 更新域以包含共享空间的自定义映像。

将自定义 SageMaker AI 图像添加到您的共享空间
  1. 打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/

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

  3. 管理员配置下,选择

  4. 页面上,选择要将映像附加到的域。

  5. 域详细信息页面上,选择域设置选项卡。

  6. 域设置选项卡的常规设置下,找到 DomainId。ID 的格式如下:d-xxxxxxxxxxxx

  7. 使用域 ID 获取域的描述。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    响应内容应该类似于以下内容。

    { "DomainId": "d-xxxxxxxxxxxx", ... "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. 将响应的默认空间设置部分保存到名为 default-space-settings.json 的文件中。

  9. 插入前面步骤中的 ImageNameAppImageConfigName 作为自定义映像。因为没有指定 ImageVersionNumber,所以使用映像的最新版本,这是本例中唯一的版本。

    { "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. 使用域 ID 和默认空间设置文件更新您的域。

    aws sagemaker update-domain \ --domain-id <d-xxxxxxxxxxxx> \ --cli-input-json file://default-space-settings.json

    响应内容应该类似于以下内容。

    { "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }

在 SageMaker AI 中查看所附图片

创建自定义 SageMaker AI 映像并将其附加到您的域后,该图像将出现在该域的环境选项卡中。您只能使用以下命令查看共享空间 AWS CLI 的附加图像。

aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>