AWS ParallelCluster API の最新バージョンを確認する方法
はじめに
AWS ParallelCluster UI を利用する際、ParallelCluster APIのバージョンが重要です。しかし、ParallelCluster ではなく、ParallelCluster API として提供されているバージョンの「最新」がなんぼなのか公開情報がなくて困りました。
本記事では、ParallelCluster APIの最新バージョンを簡単に確認する方法を紹介します。
AWS ParallelCluster API とは
AWS ParallelCluster API は、自身の AWS アカウントにデプロイして利用するサーバーレスアーキテクチャです。pcluster
コマンドを実行可能な Lambda を API Gateway から呼び出せる環境が手に入ります。デプロイ方法は CloudFormation テンプレートが用意されており、API バージョンを選んで利用するかたちです。
画像引用: AWS ParallelCluster API
ParallelCluster API の最新バージョンの調べ方
ParallelCluster の GitHub のリリースタグからバージョンを取得します。そして、S3 上に公開されている ParallelCluster API 関連のファイルの存在有無を調べることで、実際に API として利用可能な最新バージョンを特定できます。
確認コマンド
このスクリプトでは
- GitHub のリリースタグから ParallelCluster の最新のバージョンから
NUM
の数分だけ取得 - 各バージョンごとに S3 上の OpenAPI 仕様ファイルの有無を確認
という流れで、実際に API として利用可能なバージョンを判定しています。
REGION=ap-northeast-1
NUM=3
curl -s "https://api.github.com/repos/aws/aws-parallelcluster/tags?per_page=${NUM}" | \
jq -r '.[].name' | \
sed 's/^v//' | \
while read VERSION; do
OPENAPI_URL="https://${REGION}-aws-parallelcluster.s3.${REGION}.amazonaws.com/parallelcluster/${VERSION}/api/ParallelCluster.openapi.yaml"
printf "Checking: %s ... " "$OPENAPI_URL"
if curl --head --silent --fail "$OPENAPI_URL" > /dev/null; then
echo "✅ 存在します(APIバージョン: ${VERSION})"
else
echo "❌ 存在しません(APIバージョン: ${VERSION})"
fi
done
Checking: https://ap-northeast-1-aws-parallelcluster.s3.ap-northeast-1.amazonaws.com/parallelcluster/3.13.0/api/ParallelCluster.openapi.yaml ... ✅ 存在します(APIバージョン: 3.13.0)
Checking: https://ap-northeast-1-aws-parallelcluster.s3.ap-northeast-1.amazonaws.com/parallelcluster/3.12.0/api/ParallelCluster.openapi.yaml ... ✅ 存在します(APIバージョン: 3.12.0)
Checking: https://ap-northeast-1-aws-parallelcluster.s3.ap-northeast-1.amazonaws.com/parallelcluster/3.11.1/api/ParallelCluster.openapi.yaml ... ✅ 存在します(APIバージョン: 3.11.1)
補足
AWS が公開しているこの手の S3 バケットはaws s3 ls
や、直接ディレクトリ内のファイル一覧取得ができないです。なので、各バージョンを明示的に指定して判定するしかありませんでした。
ParallelCluster API 仕様の確認方法
API の仕様は OpenAPI 形式で公開されています。OpenAPI 仕様ファイルの URL は以下の形式です。
https://<REGION>-aws-parallelcluster.s3.<REGION>.amazonaws.com/parallelcluster/<VERSION>/api/ParallelCluster.openapi.yaml
利用したいバージョンが分かったら、以下のように OpenAPI 仕様ファイルをダウンロードできます。
# リージョンとバージョンを指定
REGION="ap-northeast-1"
VERSION="3.13.0"
# ファイルダウンロード
curl -O https://${REGION}-aws-parallelcluster.s3.${REGION}.amazonaws.com/parallelcluster/${VERSION}/api/ParallelCluster.openapi.yaml
ダウンロードした OpenAPI ファイルは、Swagger Editorなどにアップロードすることで、わかりやすく確認できます。
まとめ
- ParallelCluster API の最新バージョンは、S3 上に公開されている ParallelCluster API 関連ファイルの有無で確認できる
- ParallelCluster API の仕様は OpenAPI 仕様ファイルを取得し、Swagger Editor 等で内容を確認できる
AWS ParallelCluster UI のバージョンアップのために ParallelCluster API バージョンを確認するときにご利用ください。
おわりに
もっと簡単に ParallelCluster API の最新バージョンを確認できる方法があるのではないかとも思うのですが、調べ方がわかっていません。あと、ParallelCluster の最新バージョンがリリースされたタイミングで ParallelCluster API も同時にリリースされるのか、次回アップデート時に調査予定です。