기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS ParallelCluster용 Grafana 모니터링 대시보드 설정
작성자: Dario La Porta (AWS) 및 William Lu (AWS)
요약
AWS ParallelCluster는 고성능 컴퓨팅(HPC) 클러스터를 배포하고 관리하는 데 도움이 됩니다. AWS Batch 및 Slurm 오픈 소스 작업 스케줄러를 지원합니다. AWS ParallelCluster는 로깅 및 지표를 위해 Amazon CloudWatch와 통합되어 있지만 워크로드를 위한 모니터링 대시보드를 제공하지는 않습니다.
AWS ParallelCluster(GitHub)용 Grafana 대시보드
AWS ParallelCluster v3 지원
Prometheus, Grafana, Prometheus Slurm Exporter, NVIDIA DCGM-Exporter를 포함한 최신 버전의 오픈 소스 패키지를 사용합니다.
Slurm 작업이 사용하는 CPU 코어 및 GPU 수를 증가시킵니다.
작업 모니터링 대시보드 추가
그래픽 처리 장치(GPU)가 4개 또는 8개인 노드의 GPU 노드 모니터링 대시보드를 개선합니다.
이 버전의 향상된 솔루션은 AWS 고객의 HPC 프로덕션 환경에서 구현 및 검증되었습니다.
사전 조건 및 제한 사항
사전 조건
AWS ParallelCluster CLI, 설치 및 구성됨.
AWS ParallelCluster에 지원되는 네트워크 구성. 이 패턴은 공개 서브넷, 개인 서브넷, 인터넷 게이트웨이 및 NAT 게이트웨이가 필요한 두 개의 서브넷을 사용하는 AWS ParallelCluster 구성을 사용합니다.
모든 AWS ParallelCluster 클러스터 노드는 인터넷 액세스 권한을 가지고 있어야 합니다. 이는 설치 스크립트가 오픈 소스 소프트웨어 및 Docker 이미지를 다운로드할 수 있도록 하기 위해 필요합니다.
Amazon Elastic Compute Cloud(Amazon EC2)의 키 쌍입니다. 이 키 쌍이 있는 리소스는 헤드 노드에 대한 SSH(Secure Shell) 액세스 권한을 가집니다.
제한 사항
이 패턴은 Ubuntu 20.04 LTS를 지원하도록 설계되었습니다. 다른 버전의 Ubuntu를 사용하거나 Amazon Linux 또는 CentOS를 사용하는 경우 이 솔루션과 함께 제공되는 스크립트를 수정해야 합니다. 이러한 수정은 이 패턴에 포함되지 않습니다.
제품 버전
Ubuntu 20.04 LTS
ParallelCluster 3.X
청구 및 비용 고려 사항
이 패턴으로 배포된 솔루션에는 프리 티어가 적용되지 않습니다. Amazon EC2, Amazon FSx for Lustre, Amazon VPC의 NAT 게이트웨이, Amazon Route 53에는 요금이 부과됩니다.
아키텍처
대상 아키텍처
다음 다이어그램은 사용자가 헤드 노드에서 AWS ParallelCluster의 모니터링 대시보드에 액세스할 수 있는 방법을 보여줍니다. 헤드 노드는 NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter, NGINX 오픈 소스를 운영합니다. 컴퓨팅 노드는 Prometheus Node Exporter를 실행하며, 노드에 GPU가 포함된 경우 NVIDIA DCGM-Exporter도 실행합니다. 헤드 노드는 컴퓨팅 노드에서 정보를 검색하고 Grafana 대시보드에 해당 데이터를 표시합니다.

대부분의 경우 작업 스케줄러에 상당한 양의 CPU나 메모리가 필요하지 않기 때문에 헤드 노드의 부하가 많지 않습니다. 사용자는 포트 443에서 SSL을 사용하여 헤드 노드의 대시보드에 액세스합니다.
승인된 모든 뷰어는 모니터링 대시보드를 익명으로 볼 수 있습니다. Grafana 관리자만 대시보드를 수정할 수 있습니다. aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml
파일에서 Grafana 관리자의 비밀번호를 구성합니다.
도구
서비스
NICE DCV는 다양한 네트워크 조건에서 모든 클라우드 또는 데이터 센터에서 모든 디바이스로 원격 데스크톱 및 애플리케이션 스트리밍을 제공할 수 있는 고성능 원격 디스플레이 프로토콜입니다.
AWS ParallelCluster는 고성능 컴퓨팅(HPC) 클러스터를 배포하고 관리하는 데 도움이 됩니다. AWS Batch 및 Slurm 오픈 소스 작업 스케줄러를 지원합니다.
Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
Amazon Virtual Private Cloud(VPC)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다.
기타 도구
Docker
는 운영 체제 수준의 가상화를 사용하여 컨테이너에 소프트웨어를 제공하는 서비스형 플랫폼(PaaS) 제품 세트입니다. Grafana
는 지표, 로그 및 추적을 쿼리, 시각화, 경고 및 탐색하는 데 도움이 되는 오픈 소스 소프트웨어입니다. NGINX 오픈 소스
는 오픈 소스 웹 서버이자 리버스 프록시입니다. NVIDIA 데이터 센터 GPU 관리자(DCGM)
는 클러스터 환경에서 NVIDIA 데이터 센터 그래픽 처리 장치(GPU)를 관리하고 모니터링하기 위한 도구 모음입니다. 이 패턴에서는 Prometheus에서 GPU 지표를 내보내는 데 도움이 되는 DCGM-Exporter 를 사용합니다. Prometheus
는 지표를 관련 키-값 쌍(레이블이라고 함)이 있는 시계열 데이터로 수집하고 저장하는 오픈 소스 시스템 모니터링 툴킷입니다. 이 패턴에서는 Prometheus Slurm Exporter 를 사용하여 지표를 수집 및 내보내고 Prometheus Node Exporter 를 사용하여 컴퓨팅 노드에서 지표를 내보냅니다. Ubuntu
는 엔터프라이즈 서버, 데스크톱, 클라우드 환경 및 IoT를 위해 설계된 오픈 소스 Linux 기반 운영 체제입니다.
코드 리포지토리
이 패턴의 코드는 GitHub pcluster-monitoring-dashboard
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
S3 버킷을 생성합니다. | Amazon S3 버킷을 생성합니다. 이 버킷을 사용하여 구성 스크립트를 저장합니다. 지침은 Amazon S3 설명서의 버킷 생성을 참조하세요. | 일반 AWS |
리포지토리를 복제합니다. | 다음 명령어를 실행하여 GitHub pcluster-monitoring-dashboard
| DevOps 엔지니어 |
관리 비밀번호를 생성합니다. |
| Linux Shell 스크립팅 |
필요한 파일을 S3 버킷에 복사합니다. | post_install.sh | 일반 AWS |
헤드 노드용 추가 보안 그룹을 구성합니다. |
| AWS 관리자 |
헤드 노드의 IAM 정책을 구성합니다. | 헤드 노드에 대한 자격 증명 기반 정책을 생성합니다. 이 정책을 통해 노드는 Amazon CloudWatch에서 지표 데이터를 검색할 수 있습니다. GitHub 리포지토리에는 예제 정책 | AWS 관리자 |
컴퓨팅 노드의 IAM 정책을 구성합니다. | 컴퓨팅 노드에 대한 자격 증명 기반 정책을 생성합니다. 이 정책을 통해 노드는 작업 ID 및 작업 소유자가 포함된 태그를 생성할 수 있습니다. GitHub 리포지토리에는 예제 정책 제공된 예제 파일을 사용할 경우 아래의 값을 대체합니다.
| AWS 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
제공된 클러스터 템플릿 파일을 수정합니다. | AWS ParallelCluster 클러스터를 생성합니다. 제공된 cluster.yaml
| AWS 관리자 |
클러스터를 생성합니다. | AWS ParallelCluster CLI에서 다음 명령을 입력합니다. 그러면 CloudFormation 템플릿이 배포되고 클러스터가 생성됩니다. 이 명령에 대한 자세한 내용은 AWS ParallelCluster 설명서의 pcluster create-cluster를 참조하세요.
| AWS 관리자 |
클러스터 생성을 모니터링하십시오. | 다음 명령을 입력하여 클러스터 생성을 모니터링합니다. 이 명령에 대한 자세한 내용은 AWS ParallelCluster 설명서의 pcluster create-cluster를 참조하세요.
| AWS 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
Grafana 포털에 접속합니다. |
| AWS 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
클러스터를 삭제합니다. | 클러스터를 삭제하려면 다음 명령을 입력합니다. 이 명령에 대한 자세한 내용은 AWS ParallelCluster 설명서의 pcluster create-cluster를 참조하세요.
| AWS 관리자 |
IAM 정책을 삭제합니다. | 헤드 노드와 컴퓨팅 노드에 대해 생성한 정책을 삭제합니다. 정책 삭제에 대한 자세한 내용은 IAM 설명서의 IAM 정책 삭제를 참조하세요. | AWS 관리자 |
보안 그룹 및 규칙을 삭제합니다. | 헤드 노드용으로 생성한 보안 그룹을 삭제합니다. 자세한 정보는 Amazon VPC 설명서의 보안 그룹 규칙 삭제 및 보안 그룹 삭제를 참조하세요. | AWS 관리자 |
S3 버킷을 삭제합니다. | 구성 스크립트를 저장하기 위해 생성한 S3 버킷을 삭제합니다. 자세한 내용은 Amazon S3 설명서의 버킷 삭제를 참조하세요. | 일반 AWS |
문제 해결
문제 | Solution |
---|---|
브라우저에서 헤드 노드에 액세스할 수 없습니다. | 보안 그룹을 확인하고 인바운드 포트 443이 열려 있는지 확인합니다. |
Grafana가 열리지 않습니다. | 헤드 노드에서 |
일부 지표에 데이터가 없습니다. | 헤드 노드에서 모든 컨테이너의 컨테이너 로그를 확인하십시오. |
관련 리소스
설명서
기타 AWS 리소스
AWS ParallelCluster용 모니터링 대시보드
(AWS 블로그 게시물)
기타 리소스