AWS 병렬 컴퓨팅 서비스에서 클러스터 생성 - AWS PCS

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

AWS 병렬 컴퓨팅 서비스에서 클러스터 생성

이 주제에서는 사용 가능한 옵션에 대한 개요를 제공하고 AWS 병렬 컴퓨팅 서비스(AWS PCS)에서 클러스터를 생성할 때 고려해야 할 사항에 대해 설명합니다. AWS PCS 클러스터를 처음 생성하는 경우를 따르는 것이 좋습니다AWS 병렬 컴퓨팅 서비스 시작하기. 이 자습서는 가능한 모든 사용 가능한 옵션과 시스템 아키텍처로 확장하지 않고도 작동하는 HPC 시스템을 생성하는 데 도움이 될 수 있습니다.

사전 조건

AWS PCS 클러스터 생성

AWS Management Console 또는를 사용하여 클러스터를 AWS CLI 생성할 수 있습니다.

AWS Management Console
클러스터 생성
  1. https://console.aws.amazon.com/pcs/home#/clusters AWS PCS 콘솔을 열고 클러스터 생성을 선택합니다.

  2. 클러스터 설정 섹션에서 다음 필드를 입력합니다.

    • 클러스터 이름 - 클러스터의 이름입니다. 이름에는 영숫자(대소문자 구분)와 하이픈만 사용할 수 있습니다. 영문자로 시작해야 하며 40자를 초과할 수 없습니다. 이름은 내에서 고유해야 하며 클러스터를 생성할 AWS 리전 AWS 계정 때 고유해야 합니다.

    • 스케줄러 - 스케줄러 및 버전을 선택합니다. 자세한 내용은 AWS PCS의 Slurm 버전 단원을 참조하십시오.

    • 컨트롤러 크기 - 컨트롤러의 크기를 선택합니다. 이는 AWS PCS 클러스터에서 관리할 수 있는 동시 작업 및 컴퓨팅 노드 수를 결정합니다. 클러스터가 생성될 때만 컨트롤러 크기를 설정할 수 있습니다. 크기 조정에 대한 자세한 내용은 섹션을 참조하세요AWS PCS의 클러스터 크기.

  3. 네트워킹 섹션에서 다음 필드의 값을 선택합니다.

    • 네트워크 유형 - 클러스터의 IP 주소 유형을 선택합니다. 클러스터는 IPv4 또는 IPv6를 사용할 수 있지만 둘 다 사용할 수는 없습니다. VPC와 서브넷은 동일한 네트워크 주소 유형을 사용해야 합니다. 각 서브넷에 사용하는 IP 주소 블록에는 사용 가능한 주소가 1개 이상 있어야 합니다. AWS 는 각 서브넷의 일부 주소를 예약합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서서브넷 CIDR 블록을 참조하세요.

    • VPC - AWS PCS 요구 사항을 충족하는 기존 VPC를 선택합니다. 자세한 내용은 AWS PCS VPC 및 서브넷 요구 사항 및 고려 사항 단원을 참조하십시오. 클러스터를 생성한 후에는 VPC를 변경할 수 없습니다. 나열된 VPCs가 없는 경우 먼저 VPC를 생성해야 합니다.

    • 서브넷 - 선택한 VPC에서 사용 가능한 모든 서브넷이 나열됩니다. AWS PCS 서브넷 요구 사항을 충족하는 서브넷을 선택합니다. 자세한 내용은 AWS PCS VPC 및 서브넷 요구 사항 및 고려 사항 단원을 참조하십시오. 스케줄러 엔드포인트가 퍼블릭 인터넷에 노출되지 않도록 프라이빗 서브넷을 선택하는 것이 좋습니다.

    • 보안 그룹 - AWS PCS가 클러스터에 대해 생성하는 네트워크 인터페이스와 연결할 보안 그룹(들)을 지정합니다. 클러스터와 컴퓨팅 노드 간의 통신을 허용하는 보안 그룹을 하나 이상 선택해야 합니다. 보안 그룹 빠른 생성을 선택하여 AWS PCS가 선택한 VPC에서 필요한 구성으로 보안 그룹을 생성하도록 하거나 기존 보안 그룹을 선택할 수 있습니다. 자세한 내용은 보안 그룹 요구 사항 및 고려 사항 단원을 참조하십시오.

  4. (선택 사항) Slurm 회계 구성 섹션에서 Slurm 회계를 활성화하고 회계 파라미터를 설정할 수 있습니다. 자세한 내용은 AWS PCS의 Slurm 회계 단원을 참조하십시오.

  5. (선택 사항) Slurm 구성 섹션에서 AWS PCS에서 설정한 기본값을 재정의하는 Slurm 구성 옵션을 지정할 수 있습니다.

    • 유휴 시간 축소 - 동적으로 프로비저닝된 컴퓨팅 노드에서 작업이 완료되거나 종료된 후 활성 상태를 유지하는 시간을 제어합니다. 이를 더 긴 값으로 설정하면 후속 작업이 노드에서 실행될 가능성이 높아지지만 비용이 증가할 수 있습니다. 값이 짧을수록 비용이 절감되지만 HPC 시스템이 노드에서 작업을 실행하는 대신 노드를 프로비저닝하는 데 소비하는 시간의 비율이 증가할 수 있습니다.

    • Prolog - 컴퓨팅 노드 그룹 인스턴스의 Prolog 스크립트 디렉터리에 대한 정규화된 경로입니다. 이는 Slurm의 Prolog 설정에 해당합니다. 특정 실행 파일의 경로가 아닌 디렉터리여야 합니다.

    • 에픽로그 - 컴퓨팅 노드 그룹 인스턴스의 에픽로그 스크립트 디렉터리에 대한 정규화된 경로입니다. 이는 Slurm의 Epilog 설정에 해당합니다. 특정 실행 파일의 경로가 아닌 디렉터리여야 합니다.

    • 유형 파라미터 선택 - Slurm에서 사용하는 리소스 선택 알고리즘을 제어하는 데 도움이 됩니다. 이 값을 로 설정CR_CPU_Memory하면 메모리 인식 예약이 활성화되고 로 설정하면 CPU 전용 예약CR_CPU이 활성화됩니다. 이 파라미터는 SelectType가 AWS PCS에 select/cons_tres 의해 로 설정된 Slurm의 SelectTypeParameters 설정에 해당합니다.

  6. (선택 사항) 태그에서 AWS PCS 클러스터에 태그를 추가합니다.

  7. 클러스터 생성을 선택합니다. AWS PCS가 클러스터를 생성하는 Creating 동안 상태 필드가 표시됩니다. 이 프로세스는 몇 분 정도 걸릴 수 있습니다.

중요

Creating AWS 리전 상태에는 클러스터가 1개만 있을 수 있습니다 AWS 계정. AWS 클러스터를 생성하려고 할 때 Creating 상태에 이미 클러스터가 있는 경우 PCS는 오류를 반환합니다.

AWS CLI
클러스터 생성
  1. 다음 명령을 사용하여 클러스터를 생성합니다. 명령을 실행하기 전에 다음과 같은 바꾸기를 합니다.

    • region을와 같이 클러스터를 생성 AWS 리전 하려는의 ID로 바꿉니다us-east-1.

    • my-cluster를 클러스터의 이름으로 바꿉니다. 이름에는 영숫자(대소문자 구분)와 하이픈만 사용할 수 있습니다. 영문자로 시작해야 하며 40자를 초과할 수 없습니다. 이름은 클러스터를 생성하는 AWS 리전 및 AWS 계정 내에서 고유해야 합니다.

    • 24.11을 지원되는 Slurm 버전으로 바꿉니다.

      참고

      AWS PCS는 현재 Slurm 24.11 및 24.05를 지원합니다.

    • SMALL을 지원되는 클러스터 크기로 바꿉니다. 이는 AWS PCS 클러스터에서 관리할 수 있는 동시 작업 및 컴퓨팅 노드 수를 결정합니다. 클러스터가 생성될 때만 설정할 수 있습니다. 크기 조정에 대한 자세한 내용은 섹션을 참조하세요AWS PCS의 클러스터 크기.

    • 의 값을 자신의 값으로 바꿉subnetIds니다. 스케줄러 엔드포인트가 퍼블릭 인터넷에 노출되지 않도록 프라이빗 서브넷을 선택하는 것이 좋습니다.

    • AWS PCSsecurityGroupIds가 클러스터에 대해 생성하는 네트워크 인터페이스와 연결할를 지정합니다. 보안 그룹은 클러스터와 동일한 VPC에 있어야 합니다. 클러스터와 컴퓨팅 노드 간의 통신을 허용하는 보안 그룹을 하나 이상 선택해야 합니다. 자세한 내용은 보안 그룹 요구 사항 및 고려 사항 단원을 참조하십시오.

    • 선택적으로 사용자 지정 KMS 키를 제공하여를 사용하여 컨트롤러의 데이터를 암호화할 수 있습니다--kms-key-id kms-key. kms-key를 기존 KMS ARN, 키 ID 또는 별칭으로 바꿉니다. 클러스터를 생성하는 데 사용되는 계정에는 사용자 지정 KMS 키에 대한 kms:Decrypt 권한이 있어야 합니다.

    aws pcs create-cluster --region region \ --cluster-name my-cluster \ --scheduler type=SLURM,version=24.11 \ --size SMALL \ --networking subnetIds=subnet-ExampleId1,securityGroupIds=sg-ExampleId1
    • IPv6를 사용하려면 --networking 구성에 networkType=IPV6를 추가합니다.

      --networking networkType=IPV6,subnetIds=subnet-ExampleId1,securityGroupIds=sg-ExampleId1
    • 선택적으로 --slurm-configration 옵션을 추가하여 Slurm 동작을 사용자 지정하고 Slurm 구성 옵션을 지정할 수 있습니다. 다음 예제에서는 축소 유휴 시간을 60분(3600초)으로 설정하고, Slurm 회계를 활성화하고, slurm.conf 설정을의 값으로 지정합니다slurmCustomSettings. 자세한 내용은 AWS PCS의 Slurm 회계 단원을 참조하십시오.

      참고

      회계는 Slurm 24.11 이상에서 지원됩니다.

      aws pcs create-cluster --region region \ --cluster-name my-cluster \ --scheduler type=SLURM,version=24.11 \ --size SMALL \ --networking subnetIds=subnet-ExampleId1,securityGroupIds=sg-ExampleId1 --slurm-configuration scaleDownIdleTimeInSeconds=3600,accounting='{mode=STANDARD}',slurmCustomSettings='[{parameterName=SelectTypeParameters,parameterValue=CR_CPU_Memory}]'
  2. 클러스터를 프로비저닝하는 데 몇 분 정도 걸릴 수 있습니다. 다음 명령을 사용하여 클러스터의 상태를 쿼리할 수 있습니다. 클러스터의 상태 필드가가 될 때까지 대기열 또는 컴퓨팅 노드 그룹 생성을 진행하지 마세요ACTIVE.

    aws pcs get-cluster --region region --cluster-identifier my-cluster
중요

Creating AWS 리전 상태에는 클러스터가 1개만 있을 수 있습니다 AWS 계정. AWS 클러스터를 생성하려고 할 때 Creating 상태에 이미 클러스터가 있는 경우 PCS는 오류를 반환합니다.

클러스터에 권장되는 다음 단계
  • 컴퓨팅 노드 그룹을 추가합니다.

  • 대기열을 추가합니다.

  • 로깅을 활성화합니다.