SageMaker AI Spaces 추가 기능 설치 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SageMaker AI Spaces 추가 기능 설치

종속성

Amazon EKS Pod Identity Agent 추가 기능

  • 운영자가 AWS 자격 증명을 얻는 데 필요합니다.

  • 일반적으로 대부분의 EKS 클러스터에 사전 설치됨

  • 설치: EKS 추가 기능을 통해

Cert-manager

  • TLS 인증서 관리에 필요

  • HyperPod 빠른 클러스터 생성을 사용하는 경우 사전 설치됨

  • 설치: EKS 추가 기능을 통해

EBS CSI 드라이버

  • 스페이스 영구 스토리지(EBS 볼륨)에 필요

  • SageMaker 콘솔을 사용하여 설치할 때 자동으로 설치됨

  • AmazonEBSCSIDriverPolicy + HyperPod별 권한이 있는 IAM 역할 필요

  • 설치: EKS 추가 기능을 통해. 그러나 가이드에 따라 HyperPod에 필요한 추가 권한을 설치해야 합니다.

  • 참조: HyperPod에서 Amazon EBS CSI 드라이버 사용

WebUI 액세스를 위한 추가 종속성

AWS Load Balancer서 컨트롤러

외부 DNS

  • WebUI 액세스에 사용자 지정 도메인을 사용할 때 필요합니다.

  • Route53 DNS 레코드를 자동으로 관리합니다.

  • Route53 권한이 있는 IAM 역할 필요

  • 설치: EKS 추가 기능을 통해

설치

시작하기 전에 다음을 갖추었는지 확인합니다.

  • Kubernetes 버전 1.30 이상을 실행하는 작업자 노드가 하나 이상 있는 활성 SageMaker HyperPod 클러스터

  • 최소 인스턴스 유형(XX vCPU, YY GiB 메모리)이 있는 작업자 노드 하나 이상

Amazon SageMaker Spaces 추가 기능 설치

기본 설정의 경우 빠른 설치 또는 고급 구성의 경우 사용자 지정 설치를 사용하여 SageMaker Spaces 추가 기능을 설치할 수 있습니다.

빠른 설치

  1. https://console.aws.amazon.com/sagemaker/에서 Amazon SageMaker Console을 엽니다.

  2. 클러스터 목록에서 클러스터를 선택합니다.

  3. IDE 및 노트북 탭에서 Amazon SageMaker Spaces를 찾은 다음 빠른 설치를 선택합니다.

빠른 설치 자동:

  • 추가 기능에 필요한 IAM 역할을 생성합니다.

  • Systems Manager에 필요한 IAM 역할을 사용하여 원격 액세스 모드 활성화

  • 추가 기능을 설치하고 포드 자격 증명 연결을 구성합니다.

사용자 지정 설치

  1. https://console.aws.amazon.com/sagemaker/에서 Amazon SageMaker Console을 엽니다.

  2. 클러스터 목록에서 클러스터를 선택합니다.

  3. IDE 및 노트북 탭에서 Amazon SageMaker Spaces를 찾은 다음 사용자 지정 설치를 선택합니다.

  4. 다음과 같은 옵션을 구성합니다.

    추가 기능에 필요한 IAM 역할

    • 권장 권한이 있는 새 IAM 역할을 생성할지 아니면 필요한 권한이 있는 기존 역할을 사용할지 선택합니다(위의 관리자 권한 설정 섹션 참조).

    원격 액세스 구성

    • 사용자가 AWS Systems Manager를 사용하여 로컬 Visual Studio 코드의 스페이스에 연결할 수 있도록를 활성화합니다.

    • SSM 관리형 인스턴스 역할의 경우:

      • 새 역할 생성 - 추가 기능은 필요한 Systems Manager 권한으로 역할을 생성하고 관리합니다.

      • 기존 역할 사용 - 필요한 Systems Manager 권한이 있는 사전 구성된 역할 선택

    • Spaces 추가 기능 실행 역할에 SSM 관리형 인스턴스 역할에 대한 PassRole 권한이 있는지 확인합니다.

    참고

    원격 액세스를 활성화하면 추가 인스턴스당 요금에 대해 AWS Systems Manager 고급 인스턴스 티어가 활성화됩니다. 요금 정보는 Systems Manager 요금을 참조하세요.

    웹 브라우저 액세스 구성

    • 사용자가 Route 53 DNS 및 SSL 인증서를 사용하여 웹 브라우저를 통해 스페이스에 액세스할 수 있도록 허용하려면 활성화

    • 사전 조건: 브라우저 액세스를 활성화하기 전에 AWS Load Balancer 컨트롤러 설치

    • Route 53 호스팅 영역: 소유한 도메인 또는 하위 도메인의 기존 호스팅 영역을 선택합니다. DNS 관리 및 SSL 인증서 검증을 활성화하려면 도메인 또는 하위 도메인을 등록하고 사용자가 제어해야 합니다.

      도메인 등록에 대한 자세한 내용은 Route 53 개발자 안내서의 새 도메인 등록을 참조하세요.

    • 하위 도메인: 하위 도메인 접두사 입력(영숫자 및 하이픈만 해당, 최대 63자)

    • SSL 인증서: AWS Certificate Manager에서 기존 SSL 인증서를 선택합니다. 인증서는 유효해야 하며 개별 스페이스 액세스 URL을 지원하려면 하위 도메인(예: subdomain.domain.com)과 와일드카드 하위 도메인(예: *.subdomain.domain.com)을 모두 포함해야 합니다. URLs

    • 토큰 서명 키: JWT 토큰 서명을 위한 AWS KMS 비대칭 키를 선택합니다. 키는 보안 WebUI 액세스를 위한 인증 토큰을 암호화하는 데 사용됩니다. KMS에서 새 비대칭 키를 생성하거나 계정이 액세스할 수 있는 기존 키를 선택할 수 있습니다.

    참고

    호스팅 영역 및 DNS 쿼리에는 표준 Route 53 요금이 적용됩니다. 요금 정보는 Route 53 요금을 참조하세요.

EKS 추가 기능 설치 - WebUI를 사용하는 Jupyter K8s

구성 파일

생성addon-config.yaml:

jupyter-k8s: workspacePodWatching: enable: true jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" kmsEncryptionContext: enabled: true traefik: shouldInstall: true auth: kmsKeyId: "<KMS_KEY_ARN>"

다음 자리 표시자를 바꿉니다.

  • <DOMAIN_NAME>: 도메인 이름(예: jupyter.example.com)

  • <ACM_CERTIFICATE_ARN>: ACM 인증서 ARN(예: arn:aws:acm:us-west-2:111122223333:certificate/12345678-1234-1234-1234-123456789012,

  • <KMS_KEY_ARN>: KMS 키 ARN(예: arn:aws:kms:us-west-2:111122223333:key/12345678-1234-1234-1234-123456789012

를 통한 설치 AWS CLI
aws eks create-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>

기존 추가 기능을 업데이트하려면:

aws eks update-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>
를 통한 설치 AWS Management Console
  1. EKS 콘솔로 이동 → 클러스터 선택

  2. 추가 기능 탭 클릭 → 새 기능 추가

  3. SageMaker Spaces 추가 기능 선택

  4. 위의 YAML 구성을 선택적 구성 설정에 붙여넣습니다.

  5. 다음을 클릭한 후 추가 기능 설정을 검토합니다.

  6. 생성을 클릭합니다

설치 확인
# Check addon status aws eks describe-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --region <AWS_REGION>
ALB 속성 사용자 지정

기본적으로 추가 기능은 웹 UI와 함께 사용할 퍼블릭 로드 밸런서를 생성합니다. EKS 추가 기능 속성을 사용하여 로드 밸런서 속성을 사용자 지정할 수 있습니다.

내부 ALB를 생성하려면 체계를 로 설정합니다internal.

jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" alb: scheme: "internal" # Default is "internet-facing"

alb.annotations 필드를 사용하여 ALB 설정을 사용자 지정할 수도 있습니다.

jupyter-k8s-aws-hyperpod: clusterWebUI: enabled: true domain: "<DOMAIN_NAME>" awsCertificateArn: "<ACM_CERTIFICATE_ARN>" alb: scheme: "internal" annotations: alb.ingress.kubernetes.io/security-groups: "<SECURITY_GROUP_ID>" alb.ingress.kubernetes.io/subnets: "<SUBNET_ID_1>,<SUBNET_ID_2>" alb.ingress.kubernetes.io/load-balancer-attributes: "idle_timeout.timeout_seconds=60"

일반적인 ALB 주석:

  • alb.ingress.kubernetes.io/security-groups: ALB에 대한 보안 그룹 지정

  • alb.ingress.kubernetes.io/subnets: ALB의 서브넷 지정

  • alb.ingress.kubernetes.io/load-balancer-attributes: ALB 속성 설정(유휴 제한 시간, 액세스 로그 등)

사용 가능한 모든 주석은 AWS Load Balancer 컨트롤러 설명서를 참조하세요.

추가 기능의 업그레이드/버전 관리

aws eks update-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name amazon-sagemaker-spaces \ --configuration-values file://addon-config.yaml \ --resolve-conflicts OVERWRITE \ --region <AWS_REGION>