SageMaker HyperPod 클러스터 생성 - Amazon SageMaker AI

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

SageMaker HyperPod 클러스터 생성

AWS CLI를 사용하여 Amazon EKS에서 오케스트레이션한 SageMaker HyperPod 클러스터를 생성하는 방법을 알아봅니다.

  1. SageMaker HyperPod 클러스터를 생성하기 전에:

    1. 기존 Amazon EKS 클러스터가 실행 중인지 확인합니다. Amazon EKS 클러스터 설정 방법에 대한 자세한 지침은 Amazon EKS 사용 설명서Amazon EKS 클러스터 생성을 참조하세요.

    2. 헬름을 사용하여 Amazon EKS 클러스터에 패키지 설치의 지침에 따라 헬름 차트를 설치합니다.

  2. 수명 주기 구성 스크립트를 준비하고 s3://amzn-s3-demo-bucket/Lifecycle-scripts/base-config/ 같은 Amazon S3 버킷에 업로드합니다.

    빠르게 시작하려면 AWS ome Distributed Training GitHub 리포지토리on_create.sh에서 샘플 스크립트를 다운로드하여 S3 버킷에 업로드합니다. 이 스크립트는 CloudWatch가 Pod 컨테이너에서 로그를 수집하는 데 필요한 로깅 파일 /var/log/provision/provisioning.log을 설정합니다. HyperPod 클러스터 프로비저닝 단계에서 실행할 추가 설정 지침, 일련의 설정 스크립트 또는 명령을 포함할 수도 있습니다.

    중요

    관리형 AmazonSageMakerClusterInstanceRolePolicy만 연결하는 SageMaker HyperPod의 IAM 역할를 생성하는 경우 클러스터는 특정 접두사 sagemaker-가 있는 Amazon S3 버킷에 액세스할 수있습니다.

  3. CreateCluster API 요청 파일을 JSON 형식으로 준비합니다. ExecutionRole의 경우 SageMaker HyperPod의 IAM 역할 섹션에서 관리형 AmazonSageMakerClusterInstanceRolePolicy로 생성한 IAM 역할의 ARN을 제공합니다.

    참고

    SageMaker HyperPod 클러스터가 Amazon EKS 클러스터와 동일한 가상 프라이빗 클라우드(VPC) 내에 배포되었는지 확인합니다. SageMaker HyperPod 클러스터 구성에 지정된 서브넷 및 보안 그룹은 Amazon EKS 클러스터의 API 서버 엔드포인트와의 네트워크 연결 및 통신을 허용해야 합니다.

    // create_cluster.json { "ClusterName": "string", "InstanceGroups": [{ "InstanceGroupName": "string", "InstanceType": "string", "InstanceCount": number, "LifeCycleConfig": { "SourceS3Uri": "s3://amzn-s3-demo-bucket-sagemaker>/<lifecycle-script-directory>/src/", "OnCreate": "on_create.sh" }, "ExecutionRole": "string", "ThreadsPerCore": number, "OnStartDeepHealthChecks": [ "InstanceStress", "InstanceConnectivity" ] }], "VpcConfig": { "SecurityGroupIds": ["string"], "Subnets": ["string"] }, "Tags": [{ "Key": "string", "Value": "string" }], "Orchestrator": { "Eks": { "ClusterArn": "string", } }, "NodeRecovery": "Automatic" }

    EKS 클러스터와 연결하는 새 SageMaker HyperPod 클러스터를 생성하도록 를 구성할 때 다음 사항에 유의하세요.

    • InstanceGroups 파라미터에서 인스턴스 그룹을 최대 20개까지 구성할 수 있습니다.

    • Orchestator.Eks.ClusterArn에서 오케스트레이터로 사용할 EKS 클러스터의 ARN을 지정합니다.

    • OnStartDeepHealthChecks의 경우 InstanceStressInstanceConnectivity를 추가하여 심층 상태 확인를 활성화합니다.

    • NodeRecovery의 경우 Automatic를 지정하여 자동 노드 복구를 활성화합니다. 상태 모니터링 에이전트에서 문제가 발견되면 SageMaker HyperPod가 인스턴스(노드)를 교체하거나 재부팅합니다.

    • Tags 파라미터의 경우 SageMaker HyperPod 클러스터를 AWS 리소스로 관리하기 위한 사용자 지정 태그를 추가할 수 있습니다. 태깅을 지원하는 다른 AWS 서비스에 태그를 추가하는 것과 동일한 방식으로 클러스터에 태그를 추가할 수 있습니다. 일반적으로 AWS 리소스 태그 지정에 대한 자세한 내용은 AWS 리소스 태그 지정 사용 설명서 섹션을 참조하세요.

    • VpcConfig 파라미터에 EKS 클러스터에 사용되는 VPC의 정보를 지정합니다. 서브넷은 프라이빗이어야 합니다.

  4. 다음과 같이 create-cluster 명령을 실행합니다.

    중요

    --cli-input-json 파라미터로 create-cluster 명령을 실행할 때는 JSON 파일의 전체 경로 앞에 file:// 접두사를 포함해야 합니다. 이 접두사는가 입력을 파일 경로로 AWS CLI 인식하도록 하는 데 필요합니다. file:// 접두사를 생략하면 구문 분석 파라미터 오류가 발생합니다.

    aws sagemaker create-cluster \ --cli-input-json file://complete/path/to/create_cluster.json

    그러면 새 클러스터의 ARN이 반환됩니다.