使用 SageMaker AI 在 Amazon EKS 上运行交互式 IDE,以增强您的 AI 工作流程

Amazon EKS 的 Amazon SageMaker AI Spaces 插件在您的 ML 团队已运营的集群上运行托管 JupyterLab 和代码编辑器环境。本文介绍如何安装和配置该插件、从浏览器和通过 SSH-over-SSM 的 VS Code 进行连接,以及如何将您的团队转移到使用 Amazon Cognito 进行 OpenID Connect 登录。

来源:亚马逊云科技 _机器学习

为了在 Amazon Elastic Kubernetes Service (Amazon EKS) 上增强 AI 工作流程,数据科学家需要 JupyterLab 和代码编辑器等交互式 IDE。然而,运行这些 IDE 通常意味着离开托管其管道的集群,转移到独立的 JupyterHub 部署或本地笔记本电脑。这种切换使他们失去了管道所依赖的 GPU 节点、共享存储以及 AWS Identity and Access Management (IAM) 角色。 Amazon EKS 的 Amazon SageMaker AI Spaces 插件弥补了这一差距。它在您已操作的集群上运行托管 JupyterLab 和代码编辑器环境。建立具有 GPU 访问、存储和身份验证功能的独立 JupyterHub 环境通常需要平台团队 3-5 天的时间。通过该附加组件,数据科学家可以在大约 5 分钟内启动一个完全配置的空间。

在本文中,您将在 Amazon EKS 集群上安装 SageMaker AI Spaces 插件。您设置支持附加组件和 IAM 角色、部署 AWS 负载均衡器控制器、请求 TLS 证书并创建 AWS Key Management System (AWS KMS) 加密密钥。然后,您创建第一个空间,并通过浏览器中的预签名 URL 以及通过 SSH-over-SSM 从 VS Code 访问它。最后,您将了解如何将您的团队转移到使用 Amazon Cognito 进行 OpenID Connect (OIDC) 登录。

解决方案概述

该解决方案在三层的单个 EKS 集群上运行:

将交互式和训练工作负载整合到一个集群上可以使 GPU 节点在作业之间保持忙碌。与专用笔记本电脑群相比,这可以将 GPU 利用率提高高达 30%。它还避免了始终在线的 GPU 环境的成本,该成本每月可能高达数千美元。

图 1:解决方案架构

先决条件

图 2:带有验证记录的 Route 53 托管区域

设置这些变量一次。帖子的其余部分重用了它们。

导出 CLUSTER_NAME=

导出区域=<区域>导出 ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)创建 EKS 集群