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 액세스를 위한 추가 종속성

AWSLoad 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 역할을 생성할지 아니면 필요한 권한이 있는 기존 역할을 사용할지 선택합니다(위의 관리자 권한 설정 섹션 참조).

    원격 액세스 구성

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

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

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

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

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

    참고

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

    웹 브라우저 액세스 구성

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

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

    • Route 53 호스팅 영역: 기존 영역을 선택하거나 호스팅 영역 생성을 선택합니다.

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

    • SSL 인증서:

      • 새 인증서 생성 - Route 53 DNS 레코드를 사용하여 AWSCertificate Manager에서 자동으로 요청되고 검증됨

      • 기존 인증서 사용 - AWSCertificate Manager에서 SSL 인증서 선택

    • 토큰 서명 키: JWT 토큰 서명을 위한 AWSKMS 비대칭 키를 선택하거나 서명 키 생성을 선택합니다.

    참고

    호스팅 영역 및 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 콘솔
  1. EKS 콘솔로 이동 → 클러스터 선택

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

  3. SageMaker Spaces 추가 기능 선택

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

  5. 클릭 광고

설치 확인
# 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 속성 설정(유휴 제한 시간, 액세스 로그 등)

사용 가능한 모든 주석은 AWSLoad 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>