TL;DR
SageMaker AI Spaces add-on을 EKS 클러스터에 설치하면 JupyterLab과 Code Editor를 클러스터 내부에서 5분 내에 실행할 수 있다. 구현은 Route 53·ALB·Traefik으로 라우팅하고 auth middleware가 KMS로 암호화된 JWT를 검증하며 Pod Identity로 IAM 역할을 네임스페이스 수준에서 바인딩한다. VS Code는 SSH-over-SSM으로 원격 파일시스템과 커널에 연결하며, Dex+Cognito를 통해 OIDC 기반 사내 로그인과 Kubernetes RBAC 연동도 가능하다.
섹션별 상세

- 클러스터에 인터랙티브 IDE를 통합하면 전용 노트북 플릿보다 GPU 활용률을 최대 30% 상승시킬 수 있다. — 본문의 'This can lift GPU utilization by up to 30 percent' 단락과 아키텍처 설명
helm repo add eks https://aws.github.io/eks-charts
helm repo update eks
helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
-n kube-system \
--set clusterName=$CLUSTER_NAME \
--set serviceAccount.create=true \
--set serviceAccount.name=aws-load-balancer-controller \
--set region=$REGION \
--set vpcId=$VPC_ID이 명령은 AWS Load Balancer Controller Helm 차트를 클러스터에 설치해 ALB를 프로비저닝하도록 구성한다. 차트 설치 시 clusterName, region, vpcId를 명시해 EKS 파드에서 VPC를 자동 감지하지 못하는 환경을 보완한다. 설치가 완료되면 컨트롤러가 ALB 리소스를 생성해 외부 트래픽을 Traefik으로 라우팅한다.
CERT_ARN=$(aws acm request-certificate \
--domain-name "example.com" \
--subject-alternative-names "*.example.com" \
--validation-method DNS \
--region $REGION \
--query CertificateArn --output text)
aws acm describe-certificate --certificate-arn "$CERT_ARN" \
--region $REGION \
--query 'Certificate.DomainValidationOptions[].ResourceRecord'이 스니펫은 ACM에 도메인과 와일드카드 인증서를 DNS 검증 방식으로 요청하고, ACM이 요구하는 CNAME 검증 레코드를 조회한다. 반환된 CNAME 값을 Route 53에 추가하면 인증서가 Issued 상태로 전환된다. 발급된 ARN은 add-on 구성에 전달되어 Spaces의 TLS 종료에 사용된다.


- SSM advanced-instances tier는 Space 파드당 약 $0.00695/hr 비용이 발생한다. — SSM 고급 티어 비용 주석과 aws ssm update-service-setting 명령이 포함된 설명
apiVersion: workspace.jupyter.org/v1alpha1
kind: Workspace
metadata:
name: my-space
namespace: default
spec:
templateRef:
name: sagemaker-jupyter-template
namespace: jupyter-k8s-system
appType: jupyterlab
accessType: OwnerOnly
accessStrategy:
name: hyperpod-access-strategy
namespace: jupyter-k8s-system
image: public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpuworkspace 리소스는 JupyterLab 기반 Space를 네임스페이스 내에 생성하도록 정의한다. templateRef로 미리 설치된 템플릿을 참조해 이미지, 접근 전략, 권한 모델을 재사용하며, apply 후 약 5분 내에 워크스페이스가 Available 상태가 된다. 이 방식은 많은 설정을 템플릿으로 추상화해 사용자 셀프서비스를 단순화한다.





- Space 첫 생성 시 약 5분 내에 사용 가능한 상태가 된다. — 본문의 'First-time startup takes about five minutes' 문장 및 Space 생성 후 kubectl get workspace 출력, Figure 5 콘솔 스크린샷
- presigned URL에는 KMS로 암호화된 JWT가 포함되며 만료시간은 5분이다. — presigned URL 동작 설명과 'KMS-encrypted JWT with a 5-minute expiry' 보안 주석, 예시 kubectl create 명령 블럭




용어 해설
- EKS Pod Identity
- — EKS Pod Identity는 Kubernetes 서비스 계정이 AWS IAM 역할을 일시적으로 수임하도록 연결하는 메커니즘이다. 서비스 계정 → IAM 역할 트러스트 정책을 통해 Pod가 필요 권한만 획득하게 하며, Pod 수준 권한 분리를 가능하게 한다. 이 글에서는 ExternalDNS, Load Balancer Controller, Spaces 컨트롤러 등에서 Pod Identity를 사용해 역할을 바인딩한다.
- SSM Session Manager
- — SSM Session Manager는 AWS Systems Manager를 통한 원격 세션 터널링 기능으로, SSH 포트 개방 없이도 인스턴스나 하이브리드 엔드포인트에 셸 또는 포트 포워딩을 제공한다. 본 워크플로우에서는 VS Code가 SSM을 통해 Space pod의 파일 시스템과 커널에 안전하게 연결된다. 고급 tier(advanced)를 활성화하면 세션 기반 하이브리드 인스턴스 연결이 가능하다.
- ACM DNS 검증(ACM DNS validation)
- — ACM DNS 검증은 인증서 발급을 위해 도메인 소유권을 입증하는 방법으로, ACM이 제공하는 CNAME 레코드를 Route 53 같은 DNS 호스팅에 추가하면 인증서가 발급된다. DNS 레코드를 삭제하면 자동 갱신이 실패하므로 검증용 CNAME을 유지해야 한다. 본문에서는 와일드카드와 루트 도메인을 함께 요청한다.
- AWS KMS JWT 암호화(AWS KMS (JWT encryption))
- — Auth middleware는 JSON Web Token을 KMS 대칭 키로 암호화·복호화하며, 각 토큰 발급 시 kms:GenerateDataKey를 호출해 암호화된 데이터키를 얻는다. 이 설계는 presigned URL에 담긴 토큰의 기밀성을 유지하기 위한 목적이며 키는 ENCRYPT_DECRYPT로 생성되어야 한다. 키 정책과 최소 권한을 권장한다.
- Dex + Amazon Cognito 기반 OIDC(OIDC with Dex and Cognito)
- — 클러스터 내부의 Dex가 OIDC 프로바이더 역할을 하고, Dex는 Amazon Cognito 같은 외부 IdP와 커넥터로 연동해 사용자를 인증한다. EKS는 Dex를 신뢰할 수 있는 OIDC 공급자로 등록하고, Kubernetes RBAC은 그룹 클레임을 통해 사용자를 권한에 매핑한다. 본문은 Cognito와의 claim 매핑(예: preferred_username과 cognito:groups)을 구체적으로 다룬다.
기술
- AWS CLI
- kubectl
- Helm
- AWS Certificate Manager (ACM)
- AWS KMS
- AWS Load Balancer Controller
- Traefik
- AWS Systems Manager (SSM)
활용 사례
- EKS 클러스터 내부에서 JupyterLab과 Code Editor를 GPU, EBS로 직접 실행해 파이프라인과 동일 환경에서 개발하기
- 로컬 VS Code에서 SSM 터널을 통해 워크스페이스에 접속해 원격 파일시스템과 커널을 사용하는 개발 워크플로우
- 사내 IdP(Cognito 등)와 연계한 OIDC 로그인으로 팀 단위의 셀프서비스 워크스페이스 관리
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.