기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 Grafana 모니터링 대시보드 설정 AWS ParallelCluster
작성자: Dario La Porta(AWS) 및 William Lu(AWS)
코드 리포지토리: parallelcluster-monitoring-dashboard | 환경: PoC 또는 파일럿 | 기술: 고성능 컴퓨팅, 분석, 관리 및 거버넌스 |
워크로드: 오픈 소스 | AWS 서비스: AWS ParallelCluster |
요약
AWS ParallelCluster 는 고성능 컴퓨팅(HPC) 클러스터를 배포하고 관리하는 데 도움이 됩니다. AWS 배치 및 Slurm 오픈 소스 작업 스케줄러를 지원합니다. AWS ParallelCluster 는 로깅 및 지표를 CloudWatch 위해 Amazon과 통합되지만 워크로드에 대한 모니터링 대시보드는 제공하지 않습니다.
(GitHub)에 대한 Grafana 대시보드AWS ParallelCluster
AWS ParallelCluster v3 지원
Prometheus, Grafana, Prometheus Slurm Exporter 및 NVIDIA DCGM-Exporter를 포함한 오픈 소스 패키지의 최신 버전을 사용합니다.
Slurm 작업이 사용하는 CPU 코어 수와 GPUs 를 늘립니다.
작업 모니터링 대시보드 추가
그래픽 처리 단위가 4개 또는 8개인 GPU 노드에 대한 노드 모니터링 대시보드를 개선합니다(GPUs).
이 버전의 향상된 솔루션은 AWS 고객의 HPC 프로덕션 환경에서 구현되고 검증되었습니다.
사전 조건 및 제한 사항
사전 조건
AWS ParallelCluster CLI, 설치 및 구성됨.
에 지원되는 네트워크 구성입니다AWS ParallelCluster. 이 패턴은 퍼블릭 AWS ParallelCluster 서브넷, 프라이빗 서브넷, 인터넷 게이트웨이 및 게이트웨이가 필요한 두 서브넷 구성을 사용하여 를 사용합니다. NAT
모든 AWS ParallelCluster 클러스터 노드에는 인터넷 액세스 권한이 있어야 합니다. 이는 설치 스크립트가 오픈 소스 소프트웨어 및 Docker 이미지를 다운로드할 수 있도록 하기 위해 필요합니다.
Amazon Elastic Compute Cloud(Amazon )의 키 페어입니다EC2. 이 키 페어가 있는 리소스는 헤드 노드에 대한 Secure Shell(SSH) 액세스 권한이 있습니다.
제한 사항
이 패턴은 Ubuntu 20.04 를 지원하도록 설계되었습니다LTS. 다른 버전의 Ubuntu를 사용하거나 Amazon Linux 또는 CentOS를 사용하는 경우 이 솔루션과 함께 제공되는 스크립트를 수정해야 합니다. 이러한 수정은 이 패턴에 포함되지 않습니다.
제품 버전
Ubuntu 20.04 LTS
ParallelCluster 3.X
청구 및 비용 고려 사항
이 패턴으로 배포된 솔루션에는 프리 티어가 적용되지 않습니다. Amazon EC2, Amazon FSx for Lustre, Amazon 의 NAT 게이트웨이 VPC및 Amazon Route 53에는 요금이 부과됩니다.
아키텍처
대상 아키텍처
다음 다이어그램은 사용자가 헤드 노드에서 에 대한 모니터링 대시보드AWS ParallelCluster 에 액세스하는 방법을 보여줍니다. 헤드 노드는 NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter 및 NGINX 오픈 소스를 실행합니다. 컴퓨팅 노드는 Prometheus Node Exporter를 실행하고 노드에 이 포함된 경우 NVIDIA DCGM-내보내기도 실행합니다GPUs. 헤드 노드는 컴퓨팅 노드에서 정보를 검색하고 Grafana 대시보드에 해당 데이터를 표시합니다.
대부분의 경우 작업 스케줄러에 상당한 양의 메모리 CPU 또는 메모리가 필요하지 않기 때문에 헤드 노드가 심하게 로드되지 않습니다. 사용자는 포트 443에서 를 사용하여 헤드 노드의 대시보드SSL에 액세스합니다.
승인된 모든 뷰어는 모니터링 대시보드를 익명으로 볼 수 있습니다. Grafana 관리자만 대시보드를 수정할 수 있습니다. aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml
파일에서 Grafana 관리자의 비밀번호를 구성합니다.
도구
AWS 서비스
NICE DCV 는 다양한 네트워크 조건에서 모든 클라우드 또는 데이터 센터에서 모든 디바이스로 원격 데스크톱 및 애플리케이션 스트리밍을 제공하는 데 도움이 되는 고성능 원격 디스플레이 프로토콜입니다.
AWS ParallelCluster 는 고성능 컴퓨팅(HPC) 클러스터를 배포하고 관리하는 데 도움이 됩니다. AWS 배치 및 Slurm 오픈 소스 작업 스케줄러를 지원합니다.
Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
Amazon Virtual Private Cloud(Amazon VPC)를 사용하면 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다.
기타 도구
Docker
는 운영 체제 수준의 가상화를 사용하여 컨테이너에 소프트웨어를 제공하는 서비스형 플랫폼(PaaS) 제품 세트입니다. Grafana
는 지표, 로그 및 추적을 쿼리, 시각화, 경고 및 탐색하는 데 도움이 되는 오픈 소스 소프트웨어입니다. NGINX 오픈 소스
는 오픈 소스 웹 서버 및 역방향 프록시입니다. NVIDIA Data Center GPU Manager(DCGM)
는 클러스터 환경에서 NVIDIA 데이터 센터 그래픽 처리 장치(GPUs)를 관리하고 모니터링하기 위한 도구 모음입니다. 이 패턴에서는 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 describe-cluster를 참조하세요.
| AWS 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
Grafana 포털에 접속합니다. |
| AWS 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
클러스터를 삭제합니다. | 클러스터를 삭제하려면 다음 명령을 입력합니다. 이 명령에 대한 자세한 내용은 AWS ParallelCluster 설명서의 pcluster delete-cluster를 참조하세요.
| AWS 관리자 |
IAM 정책을 삭제합니다. | 헤드 노드와 컴퓨팅 노드에 대해 생성한 정책을 삭제합니다. 정책 삭제에 대한 자세한 내용은 IAM 설명서의 IAM 정책 삭제를 참조하세요. | AWS 관리자 |
보안 그룹 및 규칙을 삭제합니다. | 헤드 노드용으로 생성한 보안 그룹을 삭제합니다. 자세한 내용은 Amazon VPC 설명서의 보안 그룹 규칙 삭제 및 보안 그룹 삭제를 참조하세요. | AWS 관리자 |
S3 버킷을 삭제합니다. | 구성 스크립트를 저장하기 위해 생성한 S3 버킷을 삭제합니다. 자세한 내용은 Amazon S3 설명서의 버킷 삭제를 참조하세요. | 일반 AWS |
문제 해결
문제 | Solution |
---|---|
브라우저에서 헤드 노드에 액세스할 수 없습니다. | 보안 그룹을 확인하고 인바운드 포트 443이 열려 있는지 확인합니다. |
Grafana가 열리지 않습니다. | 헤드 노드에서 |
일부 지표에 데이터가 없습니다. | 헤드 노드에서 모든 컨테이너의 컨테이너 로그를 확인하십시오. |
관련 리소스
AWS 설명서
기타 AWS 리소스
에 대한 모니터링 대시보드AWS ParallelCluster
(AWS 블로그 게시물)
기타 리소스