SageMaker AI Spaces add-on brings managed JupyterLab and Code Editor to Amazon EKS
Amazon Web Services
Amazon SageMaker AI Spaces, an add-on for Amazon EKS, lets data scientists run JupyterLab and Code Editor directly on the EKS cluster. It avoids the need for separate JupyterHub or laptop environments, keeps GPU utilization high, and can cut setup time from days to minutes.
The SageMaker AI Spaces add-on for Amazon EKS enables running interactive IDEs like JupyterLab and Code Editor on existing EKS clusters, eliminating the need to switch to standalone JupyterHub or local laptops. This avoids losing access to GPU nodes, shared storage, and IAM roles. A typical setup for a standalone JupyterHub takes 3-5 days, while the add-on allows a data scientist to launch a fully configured Space in about five minutes. The solution runs on a single EKS cluster with layers for network access, routing, and compute/storage, including Route 53, ALB, Traefik, KMS for JWT encryption, EBS for persistent volumes, and EFS/FSx for shared storage. This consolidation can increase GPU utilization by up to 30 percent and avoids the cost of an always-on GPU environment which can be thousands of dollars monthly. The post walks through installing the add-on, setting up prerequisites like IAM roles, AWS Load Balancer Controller, TLS certificate, KMS key, and SSM configuration. Users can access Spaces via a presigned URL in the browser or from VS Code over SSH-over-SSM. The article also covers moving teams to OpenID Connect sign-in with Amazon Cognito.
- Abbreviations
- AWS = Amazon Web Services — Amazon Web Services
- EKS = Elastic Kubernetes Service — Amazon Elastic Kubernetes Service
- IDEs = Integrated Development Environments — интегрированные среды разработки
- IAM = Identity and Access Management — управление доступом и идентификацией
- ALB = Application Load Balancer — Application Load Balancer
- TLS = Transport Layer Security — Transport Layer Security
- KMS = Key Management Service — Key Management Service
- SSM = Systems Manager — Systems Manager
- OIDC = OpenID Connect — OpenID Connect
- ACM = AWS Certificate Manager — AWS Certificate Manager
- JWT = JSON Web Token — JSON Web Token
- EBS = Elastic Block Store — Elastic Block Store
- EFS = Elastic File System — Elastic File System
- FSx = FSx (Amazon FSx for Lustre or Windows File Server) — Amazon FSx
- CSI = Container Storage Interface — Container Storage Interface
- CNAME = Canonical Name record — CNAME запись
- SSH = Secure Shell — Secure Shell
- SageMaker AI = SageMaker AI (product name, not expanded) — SageMaker AI
- JupyterLab = JupyterLab (name of IDE, not an abbreviation) — JupyterLab
- VS Code = Visual Studio Code — Visual Studio Code
- HyperPod = HyperPod (not abbreviation) — HyperPod
- Traefik = Traefik (not abbreviation) — Traefik
- Helm = Helm (not abbreviation) — Helm
- VPC = Virtual Private Cloud — Virtual Private Cloud
- NAT = Network Address Translation — трансляция сетевых адресов
- EC2 = Elastic Compute Cloud — Elastic Compute Cloud
- CLI = Command Line Interface — интерфейс командной строки
- cert-manager = cert-manager (not abbreviation) — cert-manager
- External DNS = External DNS (not abbreviation) — External DNS
Source: AWS ML blog —
original
