

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

# 고성능 컴퓨팅
<a name="highperformancecomputing-pattern-list"></a>

**Topics**
+ [Terraform 및 DRA를 사용하여 고성능 데이터 처리를 위한 Lustre 파일 시스템 배포](deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.md)
+ [AWS ParallelCluster용 Grafana 모니터링 대시보드 설정](set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.md)
+ [패턴 더 보기](highperformancecomputing-more-patterns-pattern-list.md)

# Terraform 및 DRA를 사용하여 고성능 데이터 처리를 위한 Lustre 파일 시스템 배포
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra"></a>

*Arun Bagal 및 Ishwar Chauthaiwale, Amazon Web Services*

## 요약
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-summary"></a>

이 패턴은에 Lustre 파일 시스템을 자동으로 배포 AWS 하고 Amazon Elastic Compute Cloud(Amazon EC2) 및 Amazon Simple Storage Service(Amazon S3)와 통합합니다.

이 솔루션을 사용하면 통합 스토리지, 컴퓨팅 리소스 및 Amazon S3 데이터 액세스를 통해 고성능 컴퓨팅(HPC) 환경을 빠르게 설정할 수 있습니다. Lustre의 스토리지 기능과 Amazon EC2에서 제공하는 유연한 컴퓨팅 옵션 및 Amazon S3의 확장 가능한 객체 스토리지를 결합하여 기계 학습, HPC 및 빅 데이터 분석에서 데이터 집약적인 워크로드를 처리할 수 있습니다.

이 패턴은 HashiCorp Terraform 모듈과 Amazon FSx for Lustre를 사용하여 다음 프로세스를 간소화합니다.
+ Lustre 파일 시스템 프로비저닝
+ FSx for Lustre와 S3 버킷 간에 데이터 리포지토리 연결(DRA)을 설정하여 Lustre 파일 시스템을 Amazon S3 객체와 연결
+ EC2 인스턴스 생성
+ EC2 인스턴스에 Amazon S3 연결 DRA를 사용하여 Lustre 파일 시스템 탑재

이 패턴의 이점은 다음과 같습니다.
+ 모듈식 설계. 이 솔루션의 개별 구성 요소를 쉽게 유지 관리하고 업데이트할 수 있습니다.
+ 확장성. AWS 계정 또는 리전 간에 일관된 환경을 빠르게 배포할 수 있습니다.
+ 유연성 구체적인 니즈에 맞게 배포를 사용자 지정할 수 있습니다.
+ 모범 사례 이 패턴은 AWS 모범 사례를 따르는 사전 구성된 모듈을 사용합니다.

Lustre에 대한 자세한 내용은 [Lustre 웹 사이트](https://www.lustre.org/)를 참조하세요.

## 사전 조건 및 제한 사항
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-prereqs"></a>

**사전 조건 **
+ 활성 AWS 계정
+ 최소 권한 AWS Identity and Access Management (IAM) 정책([지침](https://aws.amazon.com/blogs/security/techniques-for-writing-least-privilege-iam-policies/) 참조)

**제한 사항 **

FSx for Lustre는 Lustre 파일 시스템을 단일 가용 영역으로 제한하므로 고가용성 요구 사항이 있는 경우 문제가 될 수 있습니다. 파일 시스템이 포함된 가용 영역에 장애가 발생하면 복구할 때까지 파일 시스템에 대한 액세스 권한이 손실됩니다. 고가용성을 달성하기 위해 DRA를 사용하여 Lustre 파일 시스템을 Amazon S3와 연결하고 가용 영역 간에 데이터를 전송할 수 있습니다.

**제품 버전**
+ [Terraform 버전 1.9.3 이상](https://developer.hashicorp.com/terraform/install?product_intent=terraform)
+ [HashiCorp AWS Provider 버전 4.0.0 이상](https://registry.terraform.io/providers/hashicorp/aws/latest)

## 아키텍처
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-architecture"></a>

다음 다이어그램은에서 FSx for Lustre 및 보완 아키텍처 AWS 서비스 를 보여줍니다 AWS 클라우드.

![\[AWS KMS, Amazon EC2, Amazon CloudWatch Logs 및 Amazon S3를 사용한 FSx for Lustre 배포.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/51d38589-e752-42cd-9f46-59c3c8d0bfd3/images/c1c21952-fd6f-4b1d-9bf8-09b2f4f4459f.png)


이 아키텍처에는 다음 이벤트가 포함됩니다.
+ S3 버킷은 데이터의 내구성, 확장성 및 비용 효율적인 스토리지 위치로 사용됩니다. FSx for Lustre와 Amazon S3 간의 통합은 Amazon S3와 원활하게 연결되는 고성능 파일 시스템을 제공합니다.
+ FSx for Lustre는 Lustre 파일 시스템을 실행하고 관리합니다.
+ Amazon CloudWatch Logs는 파일 시스템에서 로그 데이터를 수집하고 모니터링합니다. 이러한 로그는 Lustre 파일 시스템의 성능, 상태 및 활동에 대한 인사이트를 제공합니다.
+ Amazon EC2는 오픈 소스 Lustre 클라이언트를 사용하여 Lustre 파일 시스템에 액세스하는 데 사용됩니다. EC2 인스턴스는 동일한 Virtual Private Cloud(VPC) 내의 다른 가용 영역에서 파일 시스템에 액세스할 수 있습니다. 네트워킹 구성을 사용하면 VPC 내의 서브넷 간에 액세스할 수 있습니다. Amazon FSx for Lustre 파일 시스템을 마운트한 후에는 로컬 파일 시스템에서와 마찬가지로 파일 및 디렉터리를 사용할 수 있습니다.
+ AWS Key Management Service (AWS KMS)는 저장 데이터에 대한 암호화를 제공하여 파일 시스템의 보안을 강화합니다.

**자동화 및 규모 조정**

Terraform을 사용하면 여러 환경에서 Lustre 파일 시스템을 더 쉽게 배포, 관리 및 확장할 수 있습니다. FSx for Lustre에서는 단일 파일 시스템에 크기 제한이 있으므로 여러 파일 시스템을 생성하여 수평적으로 확장해야 할 수 있습니다. Terraform을 사용하여 워크로드 니즈에 따라 여러 Lustre 파일 시스템을 프로비저닝할 수 있습니다.

## 도구
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-tools"></a>

**AWS 서비스**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)를 사용하면 모든 시스템, 애플리케이션 및의 로그를 중앙 집중화 AWS 서비스 하여 모니터링하고 안전하게 보관할 수 있습니다.
+ [Amazon Elastic Compute Cloud(Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)는 AWS 클라우드에서 확장 가능한 컴퓨팅 용량을 제공합니다. 필요한 만큼 가상 서버를 시작하고 빠르게 스케일 업하거나 스케일 다운할 수 있습니다.
+ FSx for Lustre를 사용하면 널리 사용되는 고성능 Lustre 파일 시스템을 쉽고 비용 효율적으로 시작하고 실행할 수 있습니다.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)를 사용하면 암호화 키를 생성하고 제어하여 데이터를 보호할 수 있습니다.
+ [Amazon Simple Storage Service(S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

**코드 리포지토리**

이 패턴의 코드는 Terraform 리포지토리를 사용하는 GitHub Provision FSx for Lustre Filesystem에서 사용할 수 있습니다. [ FSx ](https://github.com/aws-samples/provision-fsx-lustre-with-terraform) 

## 모범 사례
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-best-practices"></a>
+ 다음 변수는 Lustre 파일 시스템을 정의합니다. 에[픽](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics) 섹션의 지침에 따라 환경에 따라 올바르게 구성해야 합니다.
  + `storage_capacity` - GiBs. 최소 및 기본 설정은 1200GiB입니다.
  + FSx for Lustre 파일 시스템의 배포 유형을 지정합니다. 두 옵션 `PERSISTENT_1` 및 `PERSISTENT_2`(기본값)에 대한 설명은 [FSx for Lustre 설명서](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#persistent-file-system)를 참조하세요.
  + `per_unit_storage_throughput` - TiB당 초당 MBs 읽기 및 쓰기 처리량입니다. 
  + `subnet_id` - FSx for Lustre를 배포하려는 프라이빗 서브넷의 ID입니다.
  + `vpc_id` - FSx for Lustre를 배포 AWS 하려는 가상 프라이빗 클라우드의 ID입니다.
  + `data_repository_path` - Lustre 파일 시스템에 연결할 S3 버킷의 경로입니다.
  + `iam_instance_profile` - EC2 인스턴스를 시작하는 데 사용할 IAM 인스턴스 프로파일입니다.
  + `kms_key_id` - 데이터 암호화에 사용할 AWS KMS 키의 Amazon 리소스 이름(ARN)입니다.
+ `security_group` 및 `vpc_id` 변수를 사용하여 VPC 내에서 적절한 네트워크 액세스 및 배치를 보장합니다.
+ 에[픽](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics) 섹션에 설명된 대로 `terraform plan` 명령을 실행하여 변경 사항을 적용하기 전에 미리 보고 확인합니다. 이렇게 하면 잠재적 문제를 포착하고 배포할 내용을 파악할 수 있습니다.
+ 에[픽](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics) 섹션에 설명된 대로 `terraform validate` 명령을 사용하여 구문 오류를 확인하고 구성이 올바른지 확인합니다.

## 에픽
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics"></a>

### 환경을 설정합니다
<a name="set-up-your-environment"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Terraform 설치 | 로컬 시스템에 Terraform을 설치하려면 [Terraform 설명서](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)의 지침을 따릅니다. | AWS DevOps, DevOps 엔지니어 | 
|  AWS 자격 증명을 설정합니다. | 계정에 대한 AWS Command Line Interface (AWS CLI) 프로파일을 설정하려면 [AWS 설명서](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)의 지침을 따릅니다. | AWS DevOps, DevOps 엔지니어 | 
| GitHub 리포지토리를 복제합니다. | 다음 명령을 실행하여 GitHub 리포지토리를 복제합니다.<pre>git clone https://github.com/aws-samples/provision-fsx-lustre-with-terraform.git</pre> | AWS DevOps, DevOps 엔지니어 | 

### FSx for Lustre 구성 및 배포
<a name="configure-and-deploy-fsxlustre"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 배포 구성 파일을 업데이트합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps, DevOps 엔지니어 | 
| Terraform 환경을 초기화합니다. | 환경을 초기화하여 Terraform `fsx_deployment` 모듈을 실행하려면 다음을 실행합니다.<pre>terraform init</pre> | AWS DevOps, DevOps 엔지니어 | 
| Terraform 구문을 검증합니다. | 구문 오류를 확인하고 구성이 올바른지 확인하려면 다음을 실행합니다.<pre>terraform validate </pre> | AWS DevOps, DevOps 엔지니어 | 
| Terraform 구성을 검증합니다. | Terraform 실행 계획을 생성하고 배포를 미리 보려면 다음을 실행합니다.<pre>terraform plan -var-file terraform.tfvars</pre> | AWS DevOps, DevOps 엔지니어 | 
| Terraform 파일을 배포합니다. | FSx for Lustre 리소스를 배포하려면 다음을 실행합니다.<pre>terraform apply -var-file terraform.tfvars</pre> | AWS DevOps, DevOps 엔지니어 | 

### AWS 리소스 정리
<a name="clean-up-aws-resources"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
|  AWS 리소스를 제거합니다. | FSx for Lustre 환경 사용을 완료한 후 Terraform에서 배포한 AWS 리소스를 제거하여 불필요한 요금이 발생하지 않도록 할 수 있습니다. 코드 리포지토리에 제공된 Terraform 모듈은이 정리를 자동화합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps, DevOps 엔지니어 | 

## 문제 해결
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-troubleshooting"></a>


| 문제 | Solution | 
| --- | --- | 
| FSx for Lustre는 오류를 반환합니다. | FSx for Lustre 문제에 대한 도움말은 [FSx for Lustre 설명서의 Amazon FSx for Lustre 문제 해결을](https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html) 참조하세요. FSx  | 

## 관련 리소스
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-resources"></a>
+ [Terraform을 사용하여 Amazon FSx for Lustre 빌드](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/fsx_lustre_file_system)(Terraform 설명서의AWS 공급자 참조)
+ [Amazon FSx for Lustre 시작하기](https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html)(FSx for Lustre 설명서)
+ [AWS Amazon FSx for Lustre에 대한 블로그 게시물](https://aws.amazon.com/blogs/storage/tag/amazon-fsx-for-lustre/)

# AWS ParallelCluster용 Grafana 모니터링 대시보드 설정
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster"></a>

*Dario La Porta, William Lu, Amazon Web Services*

## 요약
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-summary"></a>

AWS ParallelCluster는 고성능 컴퓨팅(HPC) 클러스터를 배포하고 관리하는 데 도움이 됩니다. AWS Batch 및 Slurm 오픈 소스 작업 스케줄러를 지원합니다. AWS ParallelCluster는 로깅 및 지표를 위해 Amazon CloudWatch와 통합되어 있지만 워크로드를 위한 모니터링 대시보드를 제공하지는 않습니다.

[AWS ParallelCluster(GitHub)용 Grafana 대시보드](https://github.com/aws-samples/aws-parallelcluster-monitoring)는 AWS ParallelCluster의 모니터링 대시보드입니다. 운영 체제(OS) 수준에서 작업 스케줄러 인사이트와 상세한 모니터링 지표를 제공합니다. 이 솔루션에 포함된 대시보드에 대한 자세한 내용은 GitHub [예제 대시보드](https://github.com/aws-samples/aws-parallelcluster-monitoring#example-dashboards) 리포지토리를 참고하십시오. 이러한 메트릭은 HPC 워크로드와 성능을 더 잘 이해하는 데 도움이 됩니다. 하지만 대시보드 코드는 솔루션에서 사용되는 AWS ParallelCluster 또는 오픈 소스 패키지의 최신 버전에 대해서는 업데이트되지 않습니다. 이 패턴은 다음과 같은 장점을 제공하도록 솔루션을 향상시킵니다.
+ AWS ParallelCluster v3 지원
+ Prometheus, Grafana, Prometheus Slurm Exporter, NVIDIA DCGM-Exporter를 포함한 최신 버전의 오픈 소스 패키지를 사용합니다.
+ Slurm 작업이 사용하는 CPU 코어 및 GPU 수를 증가시킵니다.
+ 작업 모니터링 대시보드 추가
+ 그래픽 처리 장치(GPU)가 4개 또는 8개인 노드의 GPU 노드 모니터링 대시보드를 개선합니다.

이 버전의 향상된 솔루션은 AWS 고객의 HPC 프로덕션 환경에서 구현 및 검증되었습니다.

## 사전 조건 및 제한 사항
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-prereqs"></a>

**사전 조건 **
+ [AWS ParallelCluster CLI](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster-v3.html), 설치 및 구성됨.
+ AWS ParallelCluster에 지원되는 [네트워크 구성](https://docs.aws.amazon.com/parallelcluster/latest/ug/iam-roles-in-parallelcluster-v3.html). 이 패턴은 공개 서브넷, 개인 서브넷, 인터넷 게이트웨이 및 NAT 게이트웨이가 필요한 [두 개의 서브넷을 사용하는 AWS ParallelCluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/network-configuration-v3.html#network-configuration-v3-two-subnets) 구성을 사용합니다.
+ 모든 AWS ParallelCluster 클러스터 노드는 인터넷 액세스 권한을 가지고 있어야 합니다. 이는 설치 스크립트가 오픈 소스 소프트웨어 및 Docker 이미지를 다운로드할 수 있도록 하기 위해 필요합니다.
+ Amazon Elastic Compute Cloud(Amazon EC2)의 [키 쌍](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)입니다. 이 키 쌍이 있는 리소스는 헤드 노드에 대한 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에는 요금이 부과됩니다.

## 아키텍처
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-architecture"></a>

**대상 아키텍처**

다음 다이어그램은 사용자가 헤드 노드에서 AWS ParallelCluster의 모니터링 대시보드에 액세스할 수 있는 방법을 보여줍니다. 헤드 노드는 NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter, NGINX 오픈 소스를 운영합니다. 컴퓨팅 노드는 Prometheus Node Exporter를 실행하며, 노드에 GPU가 포함된 경우 NVIDIA DCGM-Exporter도 실행합니다. 헤드 노드는 컴퓨팅 노드에서 정보를 검색하고 Grafana 대시보드에 해당 데이터를 표시합니다.

![\[헤드 노드에서 AWS ParallelCluster의 모니터링 대시보드에 액세스합니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/a2132c94-98e0-4b90-8be0-99ebfa546442/images/d2255792-f66a-4ef2-8f04-cc3d5482db5f.png)


대부분의 경우 작업 스케줄러에 상당한 양의 CPU나 메모리가 필요하지 않기 때문에 헤드 노드의 부하가 많지 않습니다. 사용자는 포트 443에서 SSL을 사용하여 헤드 노드의 대시보드에 액세스합니다.

승인된 모든 뷰어는 모니터링 대시보드를 익명으로 볼 수 있습니다. Grafana 관리자만 대시보드를 수정할 수 있습니다. `aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml` 파일에서 Grafana 관리자의 비밀번호를 구성합니다.

## 도구
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-tools"></a>

**서비스**
+ [NICE DCV](https://docs.aws.amazon.com/dcv/#nice-dcv)는 다양한 네트워크 조건에서 모든 클라우드 또는 데이터 센터에서 모든 디바이스로 원격 데스크톱 및 애플리케이션 스트리밍을 제공할 수 있는 고성능 원격 디스플레이 프로토콜입니다.
+ [AWS ParallelCluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html)는 고성능 컴퓨팅(HPC) 클러스터를 배포하고 관리하는 데 도움이 됩니다. AWS Batch 및 Slurm 오픈 소스 작업 스케줄러를 지원합니다.
+ [Amazon Simple Storage Service(S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
+ [Amazon Virtual Private Cloud(VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다.

**기타 도구**
+ [Docker](https://www.docker.com/)는 운영 체제 수준의 가상화를 사용하여 컨테이너에 소프트웨어를 제공하는 서비스형 플랫폼(PaaS) 제품 세트입니다.
+ [Grafana](https://grafana.com/docs/grafana/latest/introduction/)는 지표, 로그 및 추적을 쿼리, 시각화, 경고 및 탐색하는 데 도움이 되는 오픈 소스 소프트웨어입니다.
+ [NGINX 오픈 소스](https://nginx.org/en/docs/?_ga=2.187509224.1322712425.1699399865-405102969.1699399865)는 오픈 소스 웹 서버이자 리버스 프록시입니다.
+ [NVIDIA 데이터 센터 GPU 관리자(DCGM)](https://docs.nvidia.com/data-center-gpu-manager-dcgm/index.html)는 클러스터 환경에서 NVIDIA 데이터 센터 그래픽 처리 장치(GPU)를 관리하고 모니터링하기 위한 도구 모음입니다. 이 패턴에서는 Prometheus에서 GPU 지표를 내보내는 데 도움이 되는 [DCGM-Exporter](https://github.com/NVIDIA/dcgm-exporter)를 사용합니다.
+ [Prometheus](https://prometheus.io/docs/introduction/overview/)는 지표를 관련 키-값 쌍(*레이블*이라고 함)이 있는 시계열 데이터로 수집하고 저장하는 오픈 소스 시스템 모니터링 툴킷입니다. 이 패턴에서는 [Prometheus Slurm Exporter](https://github.com/vpenso/prometheus-slurm-exporter)를 사용하여 지표를 수집 및 내보내고 [Prometheus Node Exporter](https://github.com/prometheus/node_exporter)를 사용하여 컴퓨팅 노드에서 지표를 내보냅니다.
+ [Ubuntu](https://help.ubuntu.com/)는 엔터프라이즈 서버, 데스크톱, 클라우드 환경 및 IoT를 위해 설계된 오픈 소스 Linux 기반 운영 체제입니다.

**코드 리포지토리**

이 패턴의 코드는 GitHub [pcluster-monitoring-dashboard](https://github.com/aws-samples/parallelcluster-monitoring-dashboard) 리포지토리에서 사용할 수 있습니다.

## 에픽
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-epics"></a>

### 필수 리소스 만들기
<a name="create-the-required-resources"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| S3 버킷을 생성합니다. | Amazon S3 버킷을 생성합니다. 이 버킷을 사용하여 구성 스크립트를 저장합니다. 지침은 Amazon S3 설명서의 [버킷 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)을 참조하세요. | 일반 AWS | 
| 리포지토리를 복제합니다. | 다음 명령어를 실행하여 GitHub [pcluster-monitoring-dashboard](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring) 리포지토리를 복제합니다.<pre>git clone https://github.com/aws-samples/parallelcluster-monitoring-dashboard.git</pre> | DevOps 엔지니어 | 
| 관리 비밀번호를 생성합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Linux Shell 스크립팅 | 
| 필요한 파일을 S3 버킷에 복사합니다. | [post\$1install.sh](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/post_install.sh) 스크립트와 [aws-parallelcluster-monitoring](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring) 폴더를 생성한 S3 버킷에 복사합니다. 이에 관한 지침은 Amazon S3 설명서의 [객체 업로드](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)를 참조하세요. | 일반 AWS | 
| 헤드 노드용 추가 보안 그룹을 구성합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | AWS 관리자 | 
| 헤드 노드의 IAM 정책을 구성합니다. | 헤드 노드에 대한 자격 증명 기반 정책을 생성합니다. 이 정책을 통해 노드는 Amazon CloudWatch에서 지표 데이터를 검색할 수 있습니다. GitHub 리포지토리에는 예제 [정책](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/head_node.json)이 포함되어 있습니다. 지침은 AWS Identity 및 Access Management(IAM) 설명서의 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참고하십시오. | AWS 관리자 | 
| 컴퓨팅 노드의 IAM 정책을 구성합니다. | 컴퓨팅 노드에 대한 자격 증명 기반 정책을 생성합니다. 이 정책을 통해 노드는 작업 ID 및 작업 소유자가 포함된 태그를 생성할 수 있습니다. GitHub 리포지토리에는 예제 [정책](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/compute_node.json)이 포함되어 있습니다. 지침은 AWS Identity 및 Access Management(IAM) 설명서의 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참조하세요.제공된 예제 파일을 사용할 경우 아래의 값을 대체합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | AWS 관리자 | 

### 클러스터 생성
<a name="create-the-cluster"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 제공된 클러스터 템플릿 파일을 수정합니다. | AWS ParallelCluster 클러스터를 생성합니다. 제공된 [cluster.yaml](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/cluster.yaml) AWS CloudFormation 템플릿 파일을 출발점으로 사용하여 클러스터를 생성합니다. 제공된 템플릿에서 다음 값을 바꾸십시오.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | AWS 관리자 | 
| 클러스터를 생성합니다. | AWS ParallelCluster CLI에서 다음 명령을 입력합니다. 그러면 CloudFormation 템플릿이 배포되고 클러스터가 생성됩니다. 이 명령에 대한 자세한 내용은 AWS ParallelCluster 설명서의 [pcluster create-cluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.create-cluster-v3.html)를 참조하세요.<pre>pcluster create-cluster -n <cluster_name> -c cluster.yaml</pre> | AWS 관리자 | 
| 클러스터 생성을 모니터링하십시오. | 다음 명령을 입력하여 클러스터 생성을 모니터링합니다. 이 명령에 대한 자세한 내용은 AWS ParallelCluster 설명서의 [pcluster create-cluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.describe-cluster-v3.html)를 참조하세요.<pre>pcluster describe-cluster -n <cluster_name></pre> | AWS 관리자 | 

### Grafana 대시보드 사용
<a name="using-the-grafana-dashboards"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Grafana 포털에 접속합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | AWS 관리자 | 

### 관련 비용이 발생하지 않도록 솔루션을 정리합니다.
<a name="clean-up-the-solution-to-stop-incurring-associated-costs"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 클러스터를 삭제합니다. | 클러스터를 삭제하려면 다음 명령을 입력합니다. 이 명령에 대한 자세한 내용은 AWS ParallelCluster 설명서의 [pcluster create-cluster](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.delete-cluster-v3.html)를 참조하세요.<pre>pcluster delete-cluster -n <cluster_name></pre> | AWS 관리자 | 
| IAM 정책을 삭제합니다. | 헤드 노드와 컴퓨팅 노드에 대해 생성한 정책을 삭제합니다. 정책 삭제에 대한 자세한 내용은 IAM 설명서의 [IAM 정책 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html)를 참조하세요. | AWS 관리자 | 
| 보안 그룹 및 규칙을 삭제합니다. | 헤드 노드용으로 생성한 보안 그룹을 삭제합니다. 자세한 정보는 Amazon VPC 설명서의 [보안 그룹 규칙 삭제](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-group-rules) 및 [보안 그룹 삭제](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-groups)를 참조하세요. | AWS 관리자 | 
| S3 버킷을 삭제합니다. | 구성 스크립트를 저장하기 위해 생성한 S3 버킷을 삭제합니다. 자세한 내용은 Amazon S3 설명서의 [버킷 삭제](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)를 참조하세요. | 일반 AWS | 

## 문제 해결
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-troubleshooting"></a>


| 문제 | Solution | 
| --- | --- | 
| 브라우저에서 헤드 노드에 액세스할 수 없습니다. | 보안 그룹을 확인하고 인바운드 포트 443이 열려 있는지 확인합니다. | 
| Grafana가 열리지 않습니다. | 헤드 노드에서 `docker logs Grafana`의 컨테이너 로그를 확인하십시오. | 
| 일부 지표에 데이터가 없습니다. | 헤드 노드에서 모든 컨테이너의 컨테이너 로그를 확인하십시오. | 

## 관련 리소스
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-resources"></a>

**AWS 설명서**
+ [Amazon EC2에 대한 IAM 정책](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html)

**기타 AWS 리소스**
+ [AWS ParallelCluster](https://aws.amazon.com/hpc/parallelcluster/)
+ [AWS ParallelCluster용 모니터링 대시보드](https://aws.amazon.com/blogs/compute/monitoring-dashboard-for-aws-parallelcluster/) (AWS Blog 게시물)

**기타 리소스**
+ [Prometheus 모니터링 시스템](https://prometheus.io/)
+ [Grafana](https://grafana.com/)

# 패턴 더 보기
<a name="highperformancecomputing-more-patterns-pattern-list"></a>

**Topics**
+ [K8sGPT 및 Amazon Bedrock 통합을 사용하여 AI 기반 Kubernetes 진단 및 문제 해결 구현](implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration.md)