핵심 요약
농심 NDS Cloud Tech가 AWS ParallelCluster를 Slurm 기반으로 구축하고 운영하는 전체 워크플로를 단계별로 설명합니다.
구현 방법
- AWS ParallelCluster CLI 설치
- pip3 install aws-parallelcluster --upgrade --user
- 설정 파일 생성 및 대화형 구성
- pcluster configure --config slurm-config.yaml
- 구성 단계 요약:
- 2-1 리전: ap-northeast-2
- 2-2 SSH Key: mykeypair
- 2-3 스케줄러: Slurm
- 2-4 OS: Amazon Linux
- 2-5 Head Node 유형: t3.medium (또는 t3.large)
- 2-6 대기 열 구성: Compute Fleet으로 m5.large 등 선택, MinCount 0, MaxCount 10
- 2-7 네트워크 설정: SubnetId(예: subnet-123456789), ElasticIp: true
- 2-8 결과: slurm-config.yaml 형식으로 생성됩니다 (Region: ap-northeast-2, Image: alinux2023, HeadNode: InstanceType: t3.medium, Networking: SubnetId, ElasticIp, Ssh: KeyName, Scheduling: Slurm, SlurmQueues: - Name: queue1, ComputeResources: - Name: m5large, Instances: - InstanceType: m5.large, MinCount: 0, MaxCount: 10, Networking: SubnetIds: - subnet-123456789)
- AWS ParallelCluster 구축 및 접속
- pcluster create-cluster --cluster-name my-cluster --cluster-configuration slurm-config.yaml
- 생성 완료 후 AWS Console에서 CloudFormation 스택 상태 확인
- Head 노드 접속: pcluster ssh --cluster-name my-cluster -i <key-pair 파일>
- AWS ParallelCluster 작업 수행
- 간단한 수행 파일 batch_test.sh 생성(예: sleep 30 후 출력)
- sbatch batch_test.sh 로 큐에 제출
- squeue로 상태 확인
- 생성된 파일로 작업 결과를 확인
- 테스트 시연
- 예시로 머신러닝 모델 학습 등 병렬처리 작업 가능
- 리소스 제거
- pcluster delete-cluster --region ap-northeast-2 --cluster-name my-cluster
- VPC 자동 생성까지 했다면 CloudFormation의 VPC 관련 스택도 제거
주요 결과
- Slurm 기반의 AWS ParallelCluster를 통해 Head 노드와 Compute Fleet를 구성하고, 간단한 작업을 제출·모니터링하는 전체 흐름을 구현했습니다.
- CloudFormation으로 자동 구성된 클러스터 상태를 AWS Console에서도 확인 가능하며, 작업 완료 후 클러스터를 안전하게 제거했습니다.


