多域和共享空间 - SageMaker 工作室管理最佳实践

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

多域和共享空间

Amazon SageMaker AI 现在支持在单个账户中创建多个 AWS 区域 A SageMaker I 域。每个域可以有自己的域设置(例如身份验证模式)和网络设置(例如VPC和子网)。用户配置文件无法跨域共享。如果用户加入了按域划分的多个团队,则每个域都要为其创建用户配置文件。如需了解为现有域回填标签的方法,请参阅多域概述

在IAM身份验证模式下设置的每个域都可以利用共享空间在用户之间进行近乎实时的协作。通过共享空间,用户可以访问共享的 Amazon EFS 目录和用户界面的共享JupyterServer应用程序,并且可以近乎实时地共同编辑。管理员可使用共享空间创建的资源自动标记功能跟踪项目成本。共享 JupyterServer 用户界面还会筛选实验和模型注册表项等资源,以便仅显示与共享机器学习工作相关的项目。下图概述了每个域中的私有应用程序和共享空间。

图中概述了单个域中的私有应用程序和共享空间。

单个域中的私有应用程序和共享空间概述

在您的域中设置共享空间

共享空间通常是为特定的机器学习工作或项目创建的,其中单个域的成员需要近乎实时地访问相同的底层文件存储和IDE. 用户可以近实时地访问、读取、编辑并共享其笔记本,能够以最快的速度开始与同行迭代。

如需创建共享空间,必须先指定空间默认执行角色,负责管理使用该空间的任何用户的权限。在编写时,域内所有用户均可访问自己域内的所有共享空间。有关向现有域添加共享空间的最新文档,请参阅创建共享空间

为IAM联盟设置您的域名

在为 SageMaker AI Studio 域设置 AWS Identity and Access Management (IAM) IAM 联合之前,您需要在 IdP 中设置联合用户角色(例如平台管理员),如身份管理部分所述。

有关使用该IAM选项设置 SageMaker AI Studio 的详细说明,请参阅使用IAM身份中心加入亚马逊 SageMaker 域名

为单点登录 (SSO) 联合设置您的域

要使用单点登录 (SSO) 联合,您需要 AWS IAM Identity Center 在需要运行 SageMaker AI Studio 的同一区域的AWS Organizations管理账户中启用。域设置步骤与IAM联合身份验证步骤类似,不同之处在于您在 “身份验证” 部分中选择 AWS IAM Identity Center(iDc)

有关详细说明,请参阅使用IAM身份中心登录 Amazon SageMaker 域名

SageMaker AI Studio 用户资料

用户配置文件代表域中的单个用户,也是为了使用共享、报告和其他面向用户的功能而引用“人员”的主要方式。该实体是在用户加入 toSageMaker AI Studio 时创建的。如果管理员通过电子邮件邀请用户或使用 IdC 导入文件,则用户配置文件会自动创建。用户个人资料是个人用户设置的主要持有者,它引用了用户的私有 Amazon Elastic File Syst em (AmazonEFS) 主目录。我们建议为 SageMaker AI Studio 应用程序的每个物理用户创建用户配置文件。每个用户在 Amazon 上都有自己的专用目录EFS,并且不能在同一个账户中跨域共享用户资料。

每个共享 SageMaker AI Studio 域的用户个人资料都会获得用于运行笔记本的专用计算资源(例如 SageMaker AI A mazon Elastic Compute Cloud (AmazonEC2) 实例)。分配给一号用户和二号用户的计算实例是完全隔离的。同样,分配给 AWS 账户的计算资源与其他账户中用户的计算资源也是完全分隔的。每位用户可以在隔离的 Docker 容器中最多运行四款应用程序(应用),也可以在相同的实例类型上运行映像。

Jupyter 服务器应用程序

当您通过访问预签名URL或使用 iD AWS IAM C 登录为用户启动 SageMaker Amazon AI Studio 笔记本时,Jupyter Server 应用程序将在人工智能服务托管实例中 SageMaker 启动。VPC每位用户都能在私有应用程序中获得专用的 Jupyter 服务器应用程序。默认情况下,适用于 SageMaker AI Studio 笔记本的 Jupyter Server 应用程序在专用ml.t3.medium实例(预留为系统实例类型)上运行。客户无需支付实例计算费用。

Jupyter 内核网关应用程序

Kernel Gateway 应用程序可以通过API或 SageMaker AI Studio 接口创建,并在选定的实例类型上运行。此应用程序可以使用预先配置了流行数据科学的内置 SageMaker AI Studio 映像以及深度学习包(例如 Apache MXNet 和)来运行。TensorFlowPyTorch

用户可以在同一 Studio 中启动和运行多个 Jupyter 笔记本内核、终端会话和交互式控制台。 SageMaker image/Kernel Gateway app. Users can also run up to four Kernel Gateway apps or images on the same physical instance—each isolated by its container/image

您需要使用不同的实例类型,才能创建其他应用程序。一个用户配置文件只能运行一个实例,类型不限。例如,用户可以在同一个实例上运行使用 SageMaker AI Studio 内置数据科学图像的简单笔记本电脑,也可以使用内置 TensorFlow 图像运行另一台笔记本电脑。用户需要付费运行实例。为了避免在用户未主动运行 SageMaker AI Studio 时产生成本,用户需要关闭实例。有关更多信息,请参阅关闭和更新 Studio 应用程序

每次从 SageMaker AI Studio 界面关闭并重新打开 Kernel Gateway 应用程序时,该应用程序都会在新实例上启动。这意味着重启同一应用程序时需要重新安装软件包。同样,如果用户更改笔记本上的实例类型,则已安装的软件包和会话变量都会丢失。但是,您可以使用诸如自带图像生命周期脚本之类的功能,将用户自己的软件包引入 SageMaker AI Studio,并通过实例切换和新实例启动来保留它们。

Amazon Elastic File System 卷

创建域时,将创建一个 Amazon Elastic File System (AmazonEFS) ,供该域内的所有用户使用。每个用户个人资料都会在 Amazon EFS 卷中收到一个私有主目录,用于存储用户的笔记本、 GitHub 存储库和数据文件。域中的每个空间都会在 Amazon EFS 卷中接收一个私有目录,多个用户配置文件可以访问该目录。对文件夹的访问由用户通过文件系统权限进行隔离。 SageMaker AI Studio 为每个用户配置文件或空间创建一个全局唯一的用户 ID,并将其作为便携式操作系统接口 (POSIX) 应用user/group ID for the user’s home directory on EFS, which prevents other users/spaces于访问其数据。

备份和恢复

现有EFS卷无法连接到新的 SageMaker AI 域。在生产环境中,请确保已将 Amazon EFS 卷备份(备份到另一个EFS卷或亚马逊简单存储服务 (Amazon S3))。如果EFS卷被意外删除,管理员必须拆除并重新创建 SageMaker AI Studio 域。流程如下:

通过、、和DescribeSpaceAPI呼叫备份用户配置文件、空间和关联EFS用户 IDs (UIDs) 的列表。ListUserProfiles DescribeUserProfile List Spaces

  1. 创建新的 A SageMaker I Studio 域名。

  2. 创建用户配置文件和空间。

  3. 对于每个用户个人资料,请复制 EFS /Amazon S3 上备份的文件。

  4. (可选)删除旧 A SageMaker I Studio 域中的所有应用程序和用户配置文件。

有关详细说明,请参阅附录部分 SageMaker AI Studio 域备份和恢复

注意

还可以使用 LifecycleConfigurations,在用户每次启动应用程序时,在 S3 之间来回备份数据。

亚马逊EBS交易量

每个 AI Studio Notebook 实例上还附有一个亚马逊 Elastic Bloc k Store ( SageMaker AmazonEBS) 存储卷。它将作为运行在实例上的容器或映像的根卷。虽然亚马逊EFS存储空间是永久性的,但附加到容器的亚马逊EBS卷是临时的。如果客户删除应用程序,本地存储在 Amazon EBS 卷上的数据将无法保存。

保护对预签名的访问权限 URL

当 A SageMaker I Studio 用户打开笔记本链接时, SageMaker AI Studio 会验证联合用户授权访问的IAM策略,并生成并解析该用户的预签名URL策略。由于 SageMaker AI 控制台在 Internet 域上运行,因此在浏览器会话中可以看到生成的预签名URL。这可能会导致发生数据失窃,以及在未采取适当措施的情况下被人获取客户数据。

Studio 支持几种针对预签名URL数据盗窃实施访问控制的方法:

  • 使用IAM策略条件验证客户端 IP aws:sourceIp

  • 使用IAM条件VPC验证客户端 aws:sourceVpc

  • 使用IAM策略条件验证客户端VPC端点 aws:sourceVpce

从 SageMaker AI 控制台访问 AI Studio 笔记本电脑时,唯一可用的选项是将客户端 IP 验证与IAM策略条件一起使用aws:sourceIp。 SageMaker 您也可以使用 Zscaler 等浏览器流量路由产品,确保员工访问互联网的规模与合规性。这些流量路由产品会生成专属源 IP,IP 范围不受企业客户控制。因此,这些企业客户无法使用 aws:sourceIp 条件。

要使用IAM策略条件进行客户端VPC端点验证aws:sourceVpce,URL需要在部署 AI Studio 的同一客户VPC中创建预签名,并且URL需要通过客户上的 SageMaker AI Studio VPC 端点解决预签名问题。 SageMaker VPC使用DNS转发规则(URL在 Zscaler 和企业版中DNS),然后使用 A mazon Route 53 入站解析器进入客户VPC终端节点,如以下架构所示,可以解析企业网络用户在访问期间的预签名:

显示通过公司网络访问使用VPC端点预先签名的 Studio URL 的示意图。

通过企业网络访问使用VPC端点预先URL签名的 Studio

有关设置上述架构的 step-by-step指南,请参阅预先签名的安全 Amazon A SageMaker I Studio URLs 第 1 部分:基础基础设施

SageMaker AI 域配额和限制

  • SageMaker AI Studio 域名SSO联合仅在配置 AWS 身份中心的 AWS 组织的成员账户中支持该区域。

  • 使用 Ident AWS ity Center 设置的域目前不支持共享空间。

  • VPC并且在创建域后无法更改子网配置。但是,您可以使用不同的VPC子网配置创建新域。

  • 创建域后,无法在IAM和SSO模式之间切换域访问权限。您可以使用不同的身份验证模式创建新域。

  • 每位用户使用每种实例类型时,最多只能启动四个内核网关应用程序。

  • 每个用户只能启动每个实例类型的一个实例。

  • 域内消耗的资源也会受限,如按实例类型启动的实例数量,以及可创建的用户配置文件数量。有关服务限制的完整列表,请参阅服务配额页面

  • 客户可以提交企业支持案例并说明商业理由,以便根据账户级防护机制放宽默认资源限制,例如增加域数量或用户配置文件数量。

  • 每个账户的并发应用程序数量的硬限制为 2500 个。该硬限制决定了域和用户配置文件的数量限制。例如,账户可以有单个域,域中包含 1000 个用户配置文件,也可以有 20 个域,每个域中包含 50 个用户配置文件。