使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。

使用 AWS CDK 和 AWS Service Catalog 使用 Amazon SageMaker Canvas 预置和管理 ML 环境

机器学习 (ML) 在各种用例中的普及正在每个行业中变得普遍。 然而,这超过了传统上负责实施这些技术解决方案以实现业务成果的 ML 从业者数量的增长。

在当今的企业中,需要机器学习供精通数据的非机器学习从业者使用,这是机器学习的基础。 为了实现这一目标,ML 的价值正在通过无代码 ML 平台在整个企业中实现。 这些平台使不同的角色(例如业务分析师)无需编写任何代码即可使用 ML,并以快速、简单和直观的方式为业务问题提供解决方案。 亚马逊 SageMaker 画布 是一种可视化的点击式服务,使业务分析师能够使用 ML 通过自己生成准确的预测来解决业务问题,无需任何 ML 经验或编写一行代码。 Canvas 通过简单易用的直观界面扩展了 ML 在企业中的使用,可帮助企业快速实施解决方案。

尽管 Canvas 实现了 ML 的民主化,但以安全方式配置和部署 ML 环境的挑战仍然存在。 通常,这是大多数大型企业中中央 IT 团队的职责。 在这篇文章中,我们将讨论 IT 团队如何使用 亚马逊 SageMaker 画布, AWS云开发套件 (AWS CDK) 和 AWS服务目录. 这篇文章为 IT 管理员提供了一个分步指南,以快速、大规模地实现这一目标。

AWS CDK 和 AWS Service Catalog 概述

AWS CDK 是一个开源软件开发框架,用于定义您的云应用程序资源。 它使用编程语言的熟悉度和表现力来为您的应用程序建模,同时以安全和可重复的方式配置资源。

AWS Service Catalog 让您可以集中管理已部署的 IT 服务、应用程序、资源和元数据。 借助 AWS Service Catalog,您可以使用基础设施即代码 (IaC) 模板创建、共享、组织和管理云资源,并实现快速直接的预置。

解决方案概述

我们通过三个步骤启用使用 Canvas 配置 ML 环境:

  1. 首先,我们将分享您如何使用 AWS Service Catalog 管理 Canvas 的批准使用所需的资源组合。
  2. 然后,我们使用 AWS CDK 为 Canvas 部署示例 AWS Service Catalog 产品组合。
  3. 最后,我们演示了如何在几分钟内按需配置 Canvas 环境。

先决条件

要使用 Canvas、AWS CDK 和 AWS Service Catalog 预置 ML 环境,您需要执行以下操作:

  1. 有权访问将部署 Service Catalog 产品组合的 AWS 账户。 确保您拥有将 AWS CDK 堆栈部署到您的账户的凭证和权限。 这 AWS CDK 研讨会 是一个有用的资源,如果您需要支持,可以参考。
  2. 我们建议遵循通过以下资源中详述的概念突出显示的某些最佳实践:
  3. 克隆 这个GitHub仓库 进入你的环境。

使用 AWS Service Catalog 使用 Amazon SageMaker Canvas 预置批准的 ML 环境

在受监管的行业和大多数大型企业中,您需要遵守 IT 团队规定的要求来配置和管理 ML 环境。 这些可能包括安全的专用网络、数据加密、仅允许授权和经过身份验证的用户的控制,例如 AWS身份和访问管理 (IAM) 用于访问 Canvas 等解决方案,以及用于审计目的的严格日志记录和监控。

作为 IT 管理员,您可以使用 AWS Service Catalog 使用 SageMaker Canvas 创建安全、可重复的 ML 环境并将其组织到产品组合中。 这是使用嵌入的 IaC 控件来管理的,以满足前面提到的要求,并且可以在几分钟内按需配置。 您还可以控制谁可以访问此产品组合以发布产品。

下图说明了此体系结构。

示例流程

在本节中,我们将演示一个使用 SageMaker Canvas 的 AWS Service Catalog 产品组合示例。 该产品组合由作为服务目录产品组合一部分的 Canvas 环境的不同方面组成:

  • 工作室域 – Canvas 是一个在其中运行的应用程序 工作室域. 该域由一个 亚马逊弹性文件系统 (Amazon EFS) 卷、授权用户列表以及一系列安全、应用程序、策略和 亚马逊虚拟私有云 (VPC) 配置。 一个 AWS 账户与每个区域的一个域相关联。
  • 亚马逊S3存储桶 – 创建 Studio 域后, 亚马逊简单存储服务 (Amazon S3) 存储桶为 Canvas 预置以允许从本地文件导入数据集,也称为本地文件上传。 此存储桶位于客户的账户中,并且预置一次。
  • 画布用户 – SageMaker Canvas 是一个应用程序,您可以在其中为每个 Canvas 用户在 Studio 域中添加用户配置文件,这些用户可以继续导入数据集、构建和训练 ML 模型而无需编写代码,并在模型上运行预测。
  • 计划关闭 Canvas 会话 – Canvas 用户在完成任务后可以从 Canvas 界面注销。 或者, 管理员可以关闭 Canvas 会话 来自 AWS管理控制台 作为管理 Canvas 会话的一部分。 在 AWS Service Catalog 产品组合的这一部分中, AWS Lambda 功能 创建并配置为以定义的计划时间间隔自动关闭 Canvas 会话。 这有助于管理打开的会话并在不使用时将其关闭。

此示例流程可在 GitHub存储库 以供快速参考。

使用 AWS CDK 部署流

在本节中,我们使用 AWS CDK 部署前面描述的流程。 部署后,您还可以进行版本跟踪和管理产品组合。

投资组合堆栈可以在 app.py 和产品堆栈下 products/ 文件夹。 您可以迭代 IAM 角色, AWS密钥管理服务 (AWS KMS) 密钥和 VPC 设置 studio_constructs/ 文件夹。 在将堆栈部署到您的帐户之前,您可以在 app.py 并授予对您选择的 IAM 角色的投资组合访问权限。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。

您可以管理相关 IAM 用户、组和角色对投资组合的访问。 看 授予用户访问权限 以获得更多细节。

将投资组合部署到您的帐户中

您现在可以运行以下命令来安装 AWS CDK 并确保您具有正确的依赖项来部署产品组合:

npm install -g aws-cdk@2.27.0
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt

运行以下命令将投资组合部署到您的帐户中:

ACCOUNT_ID=$(aws sts get-caller-identity --query Account | tr -d '"')
AWS_REGION=$(aws configure get region)
cdk bootstrap aws://${ACCOUNT_ID}/${AWS_REGION}
cdk deploy --require-approval never

前两个命令使用 AWS命令行界面 (AWS CLI) 在您的计算机上。 按照此, cdk bootstrapcdk deploy 在本地构建资产,并在几分钟内部署堆栈。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。

现在可以在 AWS Service Catalog 中找到该产品组合,如以下屏幕截图所示。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。

按需供应

产品组合中的产品可以根据客户的需求快速轻松地推出 供应 AWS Service Catalog 控制台上的菜单。 一个典型的流程是首先启动 Studio 域和 Canvas 自动关闭,因为这通常是一次性操作。 然后,您可以将 Canvas 用户添加到域中。 域 ID 和用户 IAM 角色 ARN 保存在 AWS系统经理 并自动填充用户参数,如以下屏幕截图所示。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。

您还可以使用附加到每个用户的成本分配标签。 例如, UserCostCenter 是一个示例标记,您可以在其中添加每个用户的名称。

使用 Canvas 管理 ML 环境的关键注意事项

既然我们已经预置和部署了一个专注于 Canvas 的 AWS Service Catalog 产品组合,我们想强调一些注意事项,以管理专注于域和用户配置文件的基于 Canvas 的 ML 环境。

以下是有关 Studio 域的注意事项:

  • Canvas 的网络在 Studio 域级别进行管理,其中域部署在私有 VPC 子网上以实现安全连接。 看 使用私有VPC保护Amazon SageMaker Studio连接的安全 了解更多信息。
  • 默认 IAM 执行角色是在域级别定义的。 此默认角色分配给域中的所有 Canvas 用户。
  • 使用 AWS KMS 通过加密域中的 EFS 卷来完成加密。 对于其他控件,您可以指定自己的托管密钥,也称为客户托管密钥 (CMK)。 看 使用加密保护静态数据 了解更多信息。
  • 从本地磁盘上传文件的能力是通过将跨域资源共享 (CORS) 策略附加到 Canvas 使用的 S3 存储桶来完成的。 看 授予您的用户上传本地文件的权限 了解更多信息。

以下是有关用户配置文件的注意事项:

  • Studio 中的身份验证可以通过单点登录 (SSO) 和 IAM 完成。 如果您有现有的身份提供商来联合用户访问控制台,您可以使用 IAM 将 Studio 用户配置文件分配给每个联合身份。 见章节 将策略分配给Studio用户 in 通过完全资源隔离为团队和组配置Amazon SageMaker Studio 了解更多信息。
  • 您可以将 IAM 执行角色分配给每个用户配置文件。 在使用 Studio 时,用户会承担映射到其用户配置文件的角色,该角色会覆盖默认执行角色。 您可以将其用于团队内的细粒度访问控制。
  • 您可以使用基于属性的访问控制 (ABAC) 实现隔离,以确保用户只能访问其团队的资源。 看 通过完全资源隔离为团队和组配置Amazon SageMaker Studio 了解更多信息。
  • 您可以通过将成本分配标签应用于用户配置文件来执行细粒度的成本跟踪。

清理

为了清理上面的 AWS CDK 堆栈创建的资源,导航到 AWS CloudFormation 堆栈页面并删除 Canvas 堆栈。 你也可以运行 cdk destroy 从存储库文件夹中执行相同的操作。

结论

在这篇博文中,我们分享了如何使用 AWS Service Catalog 和 AWS CDK 使用 Canvas 快速轻松地预置 ML 环境。 我们讨论了如何在 AWS Service Catalog 上创建产品组合、预置产品组合并将其部署到您的账户中。 IT 管理员可以在配置 Canvas 时使用此方法来部署和管理用户、会话和相关成本。

了解有关 Canvas 的更多信息 产品页面开发人员指南. 如需进一步阅读,您可以了解如何 使业务分析师无需控制台即可使用 AWS SSO 访问 SageMaker Canvas. 您还可以学习如何 业务分析师和数据科学家可以使用 Canvas 和 Studio 更快地协作.


作者简介

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。戴维德·加利特利 是 EMEA 地区的 AI/ML 专家解决方案架构师。 他常驻布鲁塞尔,与比荷卢三国的客户密切合作。 他从小就是一名开发人员,7 岁开始编写代码。他从大学开始学习 AI/ML,从那时起就爱上了它。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。索非亚·哈米蒂(Sofian Hamiti) 是AWS的AI / ML专家解决方案架构师。 他通过帮助他们构建和运行端到端机器学习解决方案来帮助各行各业的客户加速其AI / ML之旅。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。希亚姆·斯里尼瓦桑 是 AWS AI/ML 团队的首席产品经理,负责 Amazon SageMaker Canvas 的产品管理。 Shyam 关心通过技术让世界变得更美好,并对人工智能和机器学习如何成为这一旅程的催化剂充满热情。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。阿维·帕特尔(Avi Patel) 在 Amazon SageMaker Canvas 团队担任软件工程师。 他的背景包括以前端为重点的全栈工作。 在业余时间,他喜欢为加密领域的开源项目做出贡献,并了解新的 DeFi 协议。

使用 AWS CDK 和 AWS Service Catalog PlatoBlockchain Data Intelligence 使用 Amazon SageMaker Canvas 预置和管理 ML 环境。 垂直搜索。 哎。杰瑞德海伍德 是 AWS 的高级业务发展经理。 他是一位全球 AI/ML 专家,帮助客户进行无代码机器学习。 过去 5 年,他一直在 AutoML 领域工作,并在 Amazon 推出了 Amazon SageMaker JumpStart 和 Amazon SageMaker Canvas 等产品。

时间戳记:

更多来自 AWS机器学习