翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS 用の Grafana モニタリングダッシュボードを設定する ParallelCluster
作成者: Dario La Porta (AWS)、William Lu (AWS)
コードリポジトリ: parallelcluster-monitoring-dashboard | 環境:PoC またはパイロット | テクノロジー: ハイパフォーマンスコンピューティング、分析、管理とガバナンス |
ワークロード: オープンソース | AWS サービス: AWS ParallelCluster |
[概要]
AWS ParallelCluster は、ハイパフォーマンスコンピューティング (HPC) クラスターのデプロイと管理に役立ちます。AWS Batch と Slurm のオープンソースジョブスケジューラーをサポートしています。AWS ParallelCluster はログ記録とメトリクス CloudWatch のために Amazon と統合されていますが、ワークロードのモニタリングダッシュボードは提供されません。
AWS () 用の Grafana ダッシュボード ParallelCluster
AWS ParallelCluster v3 をサポート
Prometheus、Grafana、Prometheus Slurm Exporter、NVIDIA DCGM-Exporter など、最新バージョンのオープンソースパッケージを使用しています。
Slurm ジョブが使用する CPU コアと GPU の数を増やします。
ジョブモニタリングダッシュボードを追加する
4 つまたは 8 つのグラフィックプロセッシングユニット (GPU) を搭載したノードの GPU ノードモニタリングダッシュボードを強化します。
このバージョンの拡張ソリューションは、AWS のお客様の HPC 実稼働環境で実装および検証されています。
前提条件と制限
前提条件
AWS ParallelCluster CLI がインストールされ、設定されています。
AWS でサポートされているネットワーク設定 ParallelCluster。このパターンでは、パブリックサブネット、プライベートサブネット、インターネットゲートウェイ、NAT ゲートウェイを必要とする 2 つのサブネット設定 ParallelCluster を使用して AWS を使用します。
すべての 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 VPC の NAT ゲートウェイ、Amazon Route 53 には料金がかかります。
アーキテクチャ
ターゲット アーキテクチャ
次の図は、ユーザーが ParallelCluster ヘッドノード上の AWS のモニタリングダッシュボードにアクセスする方法を示しています。ヘッドノードは NICE DCV、Prometheus、Grafana、Prometheus Slurm Exporter、Prometheus Node Exporter、NGINX Open Source を実行します。 コンピュートノードは Prometheus Node Exporter を実行します。ノードに GPU が含まれている場合は NVIDIA DCGM-Exporter も実行します。ヘッドノードはコンピュートノードから情報を取得し、そのデータを Grafana ダッシュボードに表示します。
ほとんどの場合、ジョブスケジューラは大量の CPU やメモリを必要としないので、ヘッドノードの負荷は大きくありません。ユーザーはポート 443 から SSL を使用してヘッドノードのダッシュボードにアクセスします。
権限のある閲覧者はすべて、モニタリングダッシュボードを匿名で閲覧できます。ダッシュボードを変更できるのは Grafana 管理者のみです。 aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml
ファイルで Grafana 管理者のパスワードを設定します。
ツール
AWS サービス
NICE DCV は、さまざまなネットワーク条件下で、任意のクラウドまたはデータセンターから任意のデバイスに、リモートデスクトップやアプリケーションストリーミングを配信するのに役立つ高性能リモート表示プロトコルです。
AWS ParallelCluster は、ハイパフォーマンスコンピューティング (HPC) クラスターのデプロイと管理に役立ちます。AWS Batch と Slurm のオープンソースジョブスケジューラーをサポートしています。
Amazon Simple Storage Service (Amazon S3) は、量にかかわらず、データを保存、保護、取得するのに役立つクラウドベースのオブジェクトストレージサービスです。
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。
その他のツール
Docker
は、オペレーティングシステムレベルの仮想化を使用してソフトウェアをコンテナで配信するサービスとしての Platform as a Service (PaaS) 製品のセットです。 Grafana
は、メトリクス、ログ、トレースのクエリ、可視化、アラート表示、探索に役立つオープンソースソフトウェアです。 NGINX Open Source
は、オープンソースのウェブサーバーで、リバースプロキシでもあります。 NVIDIA データセンター GPU マネージャー (DCGM)
は、クラスター環境で NVIDIA データセンターのグラフィックプロセッシングユニット (GPU) を管理およびモニタリングするための一連のツールです。このパターンでは、Prometheus から GPU メトリクスをエクスポートするのに役立つ DCGM-Exporter を使用します。 Prometheus
はオープンソースのシステム監視ツールキットで、ラベルと呼ばれる関連するキーと値のペアを含む、時系列データとしてメトリクスを収集して保存します。このパターンでは、Prometheus Slurm Exporter を使用してメトリクスを収集およびエクスポートし、Prometheus Node Exporter を使用してコンピュートノードからメトリクスをエクスポートします。 Ubuntu
はオープンソースの Linux ベースのオペレーティングシステムで、エンタープライズサーバー、デスクトップ、クラウド環境、IoT 向けに設計されています。
コードリポジトリ
このパターンのコードはリポジトリにあります GitHub pcluster-monitoring-dashboard
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
S3 バケットを作成する。 | Amazon S3 バケットを作成する。このバケットを使用して設定スクリプトを保存します。手順については、Amazon S3 ドキュメントの「バケットの作成」を参照してください。 | AWS 全般 |
リポジトリをクローン作成します。 | 次のコマンドを実行して、リポジトリをクローンします GitHub pcluster-monitoring-dashboard
| DevOps エンジニア |
管理者のパスワードを作成します。 |
| Linux シェルスクリプト |
必要なファイルを S3 バケットにコピーします。 | post_install.sh | AWS 全般 |
ヘッドノードに追加のセキュリティグループを設定します。 |
| AWS 管理者 |
ヘッドノードの IAM ポリシーを設定します。 | ヘッドノードの ID ベースのポリシーを作成します。このポリシーにより、ノードは Amazon からメトリクスデータを取得できます CloudWatch。 GitHub リポジトリには、ポリシー | AWS 管理者 |
コンピューティングノードの IAM ポリシーを設定します。 | コンピューティングノードの ID ベースのポリシーを作成します。このポリシーを使用すると、ノードはジョブ 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 全般 |
トラブルシューティング
問題 | ソリューション |
---|---|
ブラウザからヘッドノードにアクセスできません。 | セキュリティグループをチェックし、インバウンドポート 443 がオープンになっていることを確認します。 |
Grafana が開かない。 | ヘッドノードで、 |
一部のメトリクスにデータがありません。 | ヘッドノードで、すべてのコンテナのコンテナログを確認します。 |
関連リソース
AWS ドキュメント
その他の AWS リソース
その他のリソース