翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の Grafana モニタリングダッシュボードを設定する AWS ParallelCluster
作成者: Dario La Porta (AWS) と William Lu (AWS)
コードリポジトリ: parallelcluster-monitoring-dashboard | 環境:PoC またはパイロット | テクノロジー: ハイパフォーマンスコンピューティング、分析、管理とガバナンス |
ワークロード: オープンソース | AWS サービス: AWS ParallelCluster |
[概要]
AWS ParallelCluster は、ハイパフォーマンスコンピューティング (HPC) クラスターのデプロイと管理に役立ちます。Batch AWSおよび Slurm オープンソースジョブスケジューラをサポートしています。AWS ParallelCluster はログ記録とメトリクス CloudWatch のために Amazon と統合されていますが、ワークロードのモニタリングダッシュボードは提供されません。
(GitHub) の Grafana ダッシュボードAWS ParallelCluster
AWS ParallelCluster v3 をサポート
Prometheus、Grafana、Prometheus Slurm Exporter、NVIDIADCGM-Exporter などのオープンソースパッケージの最新バージョンを使用します
CPU コアの数と Slurm ジョブGPUsが使用する数を増やします
ジョブモニタリングダッシュボードを追加する
グラフィック処理ユニットが 4 つまたは 8 つのGPUノードのノードモニタリングダッシュボードを強化 (GPUs)
このバージョンの拡張ソリューションは、AWSお客様のHPC本番環境で実装および検証されています。
前提条件と制限
前提条件
AWS ParallelCluster CLI、インストールおよび設定済み。
でサポートされているネットワーク設定AWS ParallelCluster。このパターンでは、パブリックAWS ParallelCluster サブネット、プライベートサブネット、インターネットゲートウェイ、ゲートウェイを必要とする 2 つのサブネット設定を使用して を使用します。 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 上の のモニタリングダッシュボードにアクセスする方法を示しています。ヘッドノードはNICEDCV、、Prometheus、Grafana、Prometheus Slurm Exporter、Prometheus Node ExporterおよびNGINXオープンソースを実行します。コンピューティングノードは Prometheus Node Exporter を実行し、ノードに が含まれている場合は NVIDIA DCGM-Exporter も実行しますGPUs。ヘッドノードはコンピュートノードから情報を取得し、そのデータを Grafana ダッシュボードに表示します。
ほとんどの場合、ジョブスケジューラは大量の CPUまたは メモリを必要としないため、ヘッドノードは大量にロードされません。ユーザーは、ポート 443 で を使用してヘッドノードSSLのダッシュボードにアクセスします。
権限のある閲覧者はすべて、モニタリングダッシュボードを匿名で閲覧できます。ダッシュボードを変更できるのは Grafana 管理者のみです。 aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml
ファイルで Grafana 管理者のパスワードを設定します。
ツール
AWS サービス
NICE DCV は、さまざまなネットワーク条件で、クラウドやデータセンターから任意のデバイスにリモートデスクトップとアプリケーションストリーミングを配信するのに役立つ高性能リモートディスプレイプロトコルです。
AWS ParallelCluster は、ハイパフォーマンスコンピューティング (HPC) クラスターのデプロイと管理に役立ちます。Batch AWSおよび Slurm オープンソースジョブスケジューラをサポートしています。
Amazon Simple Storage Service (Amazon S3) は、どのようなデータ量であっても、データを保存、保護、取得することを支援するクラウドベースのオブジェクトストレージサービスです。
Amazon Virtual Private Cloud (Amazon VPC) は、定義した仮想ネットワークにAWSリソースを起動するのに役立ちます。
その他のツール
Docker
は、オペレーティングシステムレベルの仮想化を使用してソフトウェアをコンテナで配信するサービスとしての Platform as a Service (PaaS) 製品のセットです。 Grafana
は、メトリクス、ログ、トレースのクエリ、可視化、アラート表示、探索に役立つオープンソースソフトウェアです。 NGINX オープンソース
は、オープンソースのウェブサーバーとリバースプロキシです。 NVIDIA Data Center GPU Manager (DCGM)
は、クラスター環境のNVIDIAデータセンターグラフィックス処理ユニット (GPUs) を管理およびモニタリングするためのツールのスイートです。このパターンでは、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リソース
その他のリソース