AWS ParallelCluster の計算リソースでかかった費用を把握する方法を調べてみた

クラスター単位のコストトラッキングはできますがジョブ単位はできないです。
2023.04.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS ParallelCluster を利用して計算処理を実行していると計算にかかった費用(コンピュートリソース代)が気になりませんか?

AWS 利用費全体の内、AWS ParallelCluster 利用費の内訳を確認する方法を調査する機会がありましたので紹介します。

確認結果

有効なコストトラッキング方法はコスト配分タグを用いたクラスター単位で確認できる方法のみです。※ AWS ParallelCluster 3.5.1 リリース時点

具体的な設定方法はこちらのブログをご確認ください。

コストトラッキング方法

AWS ParallelCluster 3.5.1 時点では ParallelCluster の起動に計算処理にかかったコストを記録する仕組みはありません。AWS 公式の方法は2つ紹介されています。

  • クラスター単位
  • ジョブ単位

引用: d. Cost Tracking:: ParallelCluster UI Docs

クラスター単位

コスト配分タグを利用してクラスター単位のコストをトラッキングできます。EC2 にコスト配分タグを付与する一般的な方法と同じです。

具体的な設定方法はこちらのブログで紹介しております。

ジョブ単位

1つのクラスターでジョブごとにコストをトラッキングしたいケースもあると思います。作り込んだクラスターを利用していろいろなプロジェクトで使いまわしたい様なケースです。すると、プロジェクトごとに計算にかかったコストを把握したいという要望がでてくることでしょう。

ジョブ毎にコストをトラッキングするにはクラスターを独自にカスタマイズする必要があります。カスタマイズの手法は以前 ParallelCluster のチュートリアルで紹介されていました。

aws-samples/pcluster-manager: Manage AWS ParallelCluster through an easy to use web interface

カスタマイズの内容でsbatchコマンドを独自実装のスクリプトでラップしているのですが、現時点ではスクリプトが置かれていた GitHub のリポジトリはアーカイブされています。なので、現在ではチュートリアルの内容を設定してもジョブ単位のコストトラッキングの仕組みは動作しません。

AWS ParallelCluster 3.5.0 リリース時に ParallelCluster Manager は ParallelCluster UI に名称を変更して、ParallelCluster の正式な機能としてリリースされました。

チュートリアルを管理していたリポジトリは ParallelCluster Manager 時代のリポジトリのため、アーカイブされたものと思われます。残念ながら後継の ParallelCluster UI のリポジトリにコストトラッキングのチュートリアルは引き継がれていません。そのため、現在はジョブ単位のコストトラッキング用のスクリプトの提供はされておりません。

まとめ

AWS ParallelCluster 3.5.1 がリリースされている 2023/4/22 時点のコストトラッキング方法の利用可否は以下との結果となりました。

  • クラスター単位のコストトラッキングはできる
  • ジョブ単位のコストトラッキングはできない

おわりに

ジョブ単位のコストトラッキング方法をチュートリアルを参考に検証していたところ動作しなく、切り分けしたところ必要なスクリプトが提供されておらず、メンテナンスされていないことがわかりました。新しいコストトラッキング方法がが今後公開されたら試してみたいと思います。それまでは、クラスター単位のコストトラッキングが唯一有効な方法とご認識ください。