AWS ParallelCluster 2.x에서 3.x로 이동 - AWS ParallelCluster

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

AWS ParallelCluster 2.x에서 3.x로 이동

다음 단원에서는 한 버전에서 다른 버전으로의 변경 사항을 포함하여 AWS ParallelCluster 2.x에서 3.x로 이동할 때 어떤 일이 발생하는지 설명합니다.

사용자 지정 부트스트랩 작업

AWS ParallelCluster 3을 사용하면 HeadNodeScheduling / SlurmQueues 섹션에서 OnNodeStart (pre_install AWS ParallelCluster 버전 2) 및 OnNodeConfigured (post_install AWS ParallelCluster 버전 2) 파라미터를 사용하여 헤드 노드 및 컴퓨팅 노드에 대해 다양한 사용자 지정 부트스트랩 작업 스크립트를 지정할 수 있습니다. 자세한 내용은 사용자 지정 부트스트랩 작업 단원을 참조하십시오.

for AWS ParallelCluster 2용으로 개발된 사용자 지정 부트스트랩 작업 스크립트는 AWS ParallelCluster 3에서 사용하도록 조정해야 합니다.

  • 헤드 노드와 컴퓨팅 노드를 구분하기 위해 /etc/parallelcluster/cfnconfigcfn_node_type을 사용하지 않는 것이 좋습니다. 대신, HeadNodeScheduling/SlurmQueues에 서로 다른 두 스크립트를 지정하는 것이 좋습니다.

  • 부트스트랩 액션 스크립트에서 사용하기 위해 /etc/parallelcluster/cfnconfig를 계속 로드하려면 cfn_node_type의 값이 “MasterServer”에서 “HeadNode”로 변경되었다는 점에 유의하세요(포괄적인 언어 참조).

  • On AWS ParallelCluster 2에서 부트스트랩 작업 스크립트에 대한 첫 번째 입력 인수는 스크립트의 S3 URL이며 예약되었습니다. AWS ParallelCluster 3에서는 구성에 구성된 인수만 스크립트에 전달됩니다.

주의

/etc/parallelcluster/cfnconfig 파일을 통해 제공된 내부 변수를 사용하는 것은 공식적으로 지원되지 않습니다. 이 파일은 향후 릴리스에서 제거될 수 있습니다.

AWS ParallelCluster 2.x 및 3.x는 다른 구성 파일 구문을 사용합니다.

AWS ParallelCluster 3.x 구성은 YAML 구문을 사용합니다. 전체 참조는 구성 파일에서 찾을 수 있습니다.

YAML 파일 형식을 요구하는 것 외에도 여러 구성 섹션, 설정 및 파라미터 값이 AWS ParallelCluster 3.x에서 업데이트되었습니다. 이 단원에서는 AWS ParallelCluster 구성의 주요 변경 사항과 각 버전에서 이러한 차이를 보여주는 side-by-side 예제를 살펴봅니다 AWS ParallelCluster.

하이퍼스레딩을 활성화하거나 비활성화한 다중 스케줄러 대기열 구성의 예

AWS ParallelCluster 2:

[cluster default] queue_settings = ht-enabled, ht-disabled ... [queue ht-enabled] compute_resource_settings = ht-enabled-i1 disable_hyperthreading = false [queue ht-disabled] compute_resource_settings = ht-disabled-i1 disable_hyperthreading = true [compute_resource ht-enabled-i1] instance_type = c5n.18xlarge [compute_resource ht-disabled-i1] instance_type = c5.xlarge

AWS ParallelCluster 3:

... Scheduling: Scheduler: slurm SlurmQueues: - Name: ht-enabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-enabled-i1 DisableSimultaneousMultithreading: true InstanceType: c5n.18xlarge - Name: ht-disabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-disabled-i1 DisableSimultaneousMultithreading: false InstanceType: c5.xlarge

새로운 FSx for Lustre 파일 시스템 구성의 예

AWS ParallelCluster 2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx storage_capacity = 1200 imported_file_chunk_size = 1024 import_path = s3://amzn-s3-demo-bucket export_path = s3://amzn-s3-demo-bucket/export_dir weekly_maintenance_start_time = 3:02:30 deployment_type = PERSISTENT_1 data_compression_type = LZ4

AWS ParallelCluster 3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 ImportedFileChunkSize: 1024 ImportPath: s3://amzn-s3-demo-bucket ExportPath: s3://amzn-s3-demo-bucket/export_dir WeeklyMaintenanceStartTime: "3:02:30" DeploymentType: PERSISTENT_1 DataCompressionType: LZ4

기존 FSx for Lustre 파일 시스템을 탑재하는 클러스터 구성의 예

AWS ParallelCluster 2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx fsx_fs_id = fsx_fs_id

AWS ParallelCluster 3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: FileSystemId: fsx_fs_id

인텔 HPC 플랫폼 사양 소프트웨어 스택이 포함된 클러스터의 예

AWS ParallelCluster 2:

[cluster default] enable_intel_hpc_platform = true ...

AWS ParallelCluster 3:

... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

참고:

사용자 지정 IAM 구성의 예: 인스턴스 프로파일, 인스턴스 역할, 인스턴스에 대한 추가 정책, 클러스터와 관련된 Lambda 함수의 역할 등

AWS ParallelCluster 2:

[cluster default] additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess ec2_iam_role = ec2_iam_role iam_lambda_role = lambda_iam_role ...

AWS ParallelCluster 3:

... Iam: Roles: CustomLambdaResources: lambda_iam_role HeadNode: ... Iam: InstanceRole: ec2_iam_role Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: InstanceProfile: iam_instance_profile - Name: queue2 ... Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess

참고:

  • AWS ParallelCluster 2의 경우 IAM 설정은 클러스터의 모든 인스턴스에 적용되며와 함께 사용할 additional_iam_policies 수 없습니다ec2_iam_role.

  • For AWS ParallelCluster 3의 경우 헤드 및 컴퓨팅 노드에 대해 서로 다른 IAM 설정을 가질 수 있으며 각 컴퓨팅 대기열에 대해 서로 다른 IAM 설정을 지정할 수도 있습니다.

  • For AWS ParallelCluster 3에서는 IAM 인스턴스 프로파일을 IAM 역할의 대안으로 사용할 수 있습니다. InstanceRole 또는 InstanceProfile를 함께 구성할 AdditionalIamPolicies 수 없습니다.

사용자 지정 부트스트랩 작업의 예

AWS ParallelCluster 2:

[cluster default] s3_read_resource = arn:aws:s3:::amzn-s3-demo-bucket/* pre_install = s3://amzn-s3-demo-bucket/scripts/pre_install.sh pre_install_args = 'R curl wget' post_install = s3://amzn-s3-demo-bucket/scripts/post_install.sh post_install_args = "R curl wget" ...

AWS ParallelCluster 3:

... HeadNode: ... CustomActions: OnNodeStart: Script: s3://amzn-s3-demo-bucket/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: amzn-s3-demo-bucket Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://amzn-s3-demo-bucket/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: amzn-s3-demo-bucket

S3 버킷 리소스에 대한 읽기 및 쓰기 액세스 권한이 있는 클러스터의 예

AWS ParallelCluster 2:

[cluster default] s3_read_resource = arn:aws:s3:::amzn-s3-demo-bucket/read_only/* s3_read_write_resource = arn:aws:s3:::amzn-s3-demo-bucket/read_and_write/* ...

AWS ParallelCluster 3:

... HeadNode: ... Iam: S3Access: - BucketName: amzn-s3-demo-bucket KeyName: read_only/ EnableWriteAccess: False - BucketName: amzn-s3-demo-bucket KeyName: read_and_write/ EnableWriteAccess: True Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName: amzn-s3-demo-bucket KeyName: read_only/ EnableWriteAccess: False - BucketName: amzn-s3-demo-bucket KeyName: read_and_write/ EnableWriteAccess: True

포괄적인 언어

AWS ParallelCluster 3은 "마스터"가 AWS ParallelCluster 2에서 사용된 위치에서 "헤드 노드"라는 단어를 사용합니다. 다음 내용이 포함됩니다:

  • AWS Batch 작업 환경에서 내보낸 변수가에서 MASTER_IP로 변경되었습니다PCLUSTER_HEAD_NODE_IP.

  • 모든 AWS CloudFormation 출력이에서 Master*로 변경되었습니다HeadNode*.

  • 모든 NodeType 및 태그가 Master에서 HeadNode로 변경되었습니다.

스케줄러 지원

AWS ParallelCluster 3.x는 Son of Grid Engine(SGE) 및 Torque 스케줄러를 지원하지 않습니다.

AWS Batch 명령 awsbhosts, awsbkill, awsbout, awsbstat, 및 awsbqueues는 별도의 aws-parallelcluster-awsbatch-cli PyPI 패키지로 배포awsbsub됩니다. 헤드 노드에는 AWS ParallelCluster 에 의해 이 패키지가 설치됩니다. 클러스터의 헤드 노드에서 이러한 AWS Batch 명령을 계속 사용할 수 있습니다. 그러나 헤드 노드가 아닌 다른 위치에서 AWS Batch 명령을 사용하려면 먼저 aws-parallelcluster-awsbatch-cli PyPI 패키지를 설치해야 합니다.

AWS ParallelCluster CLI

AWS ParallelCluster 명령줄 인터페이스(CLI)가 변경되었습니다. 새 구문은 AWS ParallelCluster CLI 명령에 설명되어 있습니다. CLI의 출력은 JSON 문자열 형식입니다.

새 클러스터 구성

pcluster configure 명령에는 AWS ParallelCluster 2와 비교하여 in AWS ParallelCluster 3의 다양한 파라미터가 포함됩니다. 자세한 내용은 pcluster configure 단원을 참조하십시오.

또한 구성 파일 구문이 AWS ParallelCluster 2에서 변경되었습니다. 클러스터 구성 설정에 대한 전체 참조는 클러스터 구성 파일를 참조하세요.

새 클러스터 생성

AWS ParallelCluster 2의 pcluster create 명령이 pcluster create-cluster 명령으로 대체되었습니다.

-nw 옵션 없이 AWS ParallelCluster 2.x의 기본 동작은 클러스터 생성 이벤트를 기다리는 반면 AWS ParallelCluster 3.x 명령은 즉시를 반환합니다. pcluster describe-cluster를 사용하여 클러스터 생성 진행 상황을 모니터링할 수 있습니다.

An AWS ParallelCluster 3 구성 파일에는 단일 클러스터 정의가 포함되어 있으므로 -t 파라미터가 더 이상 필요하지 않습니다.

다음은 구성 파일의 예입니다.

# AWS ParallelCluster v2 $ pcluster create \ -r REGION \ -c V2_CONFIG_FILE \ -nw \ -t CLUSTER_TEMPLATE \ CLUSTER_NAME # AWS ParallelCluster v3 $ pcluster create-cluster \ --region REGION \ --cluster-configuration V3_CONFIG_FILE \ --cluster-name CLUSTER_NAME

클러스터 나열

pcluster list AWS ParallelCluster 2.x 명령을 pcluster list-clusters 명령으로 바꿔야 합니다.

참고: 2.x 버전으로 생성된 클러스터를 나열하려면 AWS ParallelCluster v2 CLI가 필요합니다 AWS ParallelCluster. 가상 환경을 사용하는 AWS ParallelCluster 의 여러 버전을 설치하는 방법은 AWS ParallelCluster 가상 환경에 설치(권장)을 참조하세요.

# AWS ParallelCluster v2 $ pcluster list -r REGION # AWS ParallelCluster v3 $ pcluster list-clusters --region REGION

클러스터 시작 및 중지

pcluster startpcluster stop AWS ParallelCluster 2.x 명령을 pcluster update-compute-fleet 명령으로 바꿔야 합니다.

컴퓨팅 플릿 시작:

# AWS ParallelCluster v2 $ pcluster start \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status START_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status ENABLED

컴퓨팅 플릿 중지:

# AWS ParallelCluster v2 $ pcluster stop \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status STOP_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status DISABLED

클러스터에 연결

pcluster ssh AWS ParallelCluster 2.x 명령의 파라미터 이름은 AWS ParallelCluster 3.x에서 다릅니다. pcluster ssh을 참조하세요.

클러스터에 연결:

# AWS ParallelCluster v2 $ pcluster ssh \ -r REGION \ CLUSTER_NAME \ -i ~/.ssh/id_rsa # AWS ParallelCluster v3 $ pcluster ssh \ --region REGION \ --cluster-name CLUSTER_NAME \ -i ~/.ssh/id_rsa

IMDS 구성 업데이트

버전 3.0.0부터는 기본적으로 헤드 노드의 IMDS(및 인스턴스 프로필 자격 증명)에 대한 액세스를 수퍼유저의 하위 집합으로 제한하는 지원을 AWS ParallelCluster 도입했습니다. 자세한 내용은 Imds 속성 단원을 참조하십시오.