翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS ParallelCluster AMI カスタマイズ
AWS ParallelCluster 用のカスタム AMI を構築する必要がある多くのシナリオがあります。このセクションでは、カスタム AWS ParallelCluster AMI を構築する際に考慮すべき点について説明します。
カスタム AWS ParallelCluster AMI は、次のいずれかの方法を使用して構築できます。
-
ビルドイメージ設定ファイルを作成し、
pcluster
CLI を使用して EC2 Image Builder でイメージを構築します。このプロセスは自動化され、繰り返し可能で、モニタリングにも対応しています。詳細については、「pcluster イメージコマンド」を参照してください。 -
AWS ParallelCluster AMI からインスタンスを作成し、ログインして手動で変更を行います。最後に、Amazon EC2 を使用して、変更したインスタンスから新しい AMI を作成します。このプロセスにかかる時間は短くなります。ただし、自動化されておらず、繰り返し可能でもなく、
pcluster
CLI イメージモニタリングコマンドの使用もサポートされていません。
これらの方法の詳細については、「カスタム AWS ParallelCluster AMI の構築」を参照してください。
AWS ParallelCluster AMI のカスタマイズに関する考慮事項
カスタムイメージをどのように作成するかにかかわらず、事前検証テストを実施し、作成中のイメージのステータスを監視するための対策を含めることをお勧めします。
pcluster
を使用してカスタム AMI を構築するには、EC2 Image Builder がカスタムイメージのビルドに使用する Build および Image セクションを含むビルドイメージ設定ファイルを作成します。Build
セクションでは、Image Builder がイメージを構築するために必要なものを指定します。これには ParentImage (ベースイメージ)、および Components が含まれます。Image Builder コンポーネントは、イメージが作成される前にインスタンスをカスタマイズしたり、作成されたイメージによって起動されたインスタンスをテストしたりするために必要な一連の手順を定義します。AWS ParallelCluster コンポーネントの例については、「カスタム AMIImage
セクションでは画像のプロパティを指定します。
pcluster build-image から呼び出されてカスタムイメージを作成すると、Image Builder は AWS ParallelCluster クックブックのビルドイメージ設定を使用して ParentImage 上で AWS ParallelCluster をブートストラップします。Image Builder はコンポーネントをダウンロードし、ビルドフェーズと検証フェーズを実行し、AMI を作成し、AMI からインスタンスを起動し、テストを実行します。プロセスが完了すると、Image Builder は新しいイメージまたは停止メッセージを生成します。
カスタムコンポーネントの検証テストを実行する
設定に Image Builder コンポーネントを含める前に、以下の方法のいずれかを使用してテストと検証を行います。Image Builder の処理には最大 1 時間かかることがあるため、事前にコンポーネントをテストすることをお勧めします。これにより大幅に時間を節約できます。
- スクリプトのケース
-
ビルドイメージプロセス外の実行中のインスタンスでスクリプトをテストし、スクリプトが終了コード 0 で終了することを確認します。
- Amazon リソースネーム (ARN) のケース
-
ビルドイメージプロセスの外で、実行中のインスタンスでコンポーネントドキュメントをテストします。要件のリストについては、「Image Builder ユーザーガイド」の「コンポーネントマネージャ」を参照してください。
- 検証に成功後、ビルドイメージ設定にコンポーネントを追加する
-
カスタムコンポーネントが動作していることを確認したら、ビルドイメージ設定ファイルに追加します。
デバッグに役立つ pcluster
コマンドを使用して Image Builder プロセスを監視する
このコマンドを使用すると、ビルドイメージのステータスを監視できます。
get-image-log-events と併せて、このコマンドを使用すると、ログイベントの取得に使用できるログストリームの ID を取得します。
このコマンドを使用すると、ビルドイメージプロセスイベントのログストリームを取得できます。
例えば、以下のコマンドを使用して、ビルドイメージのイベントを追跡できます。
$
watch -n 1 'pcluster get-image-log-events -i<image-id>
\ --log-stream-name/1<pcluster-version>
\ --query "events[*].message" | tail -n 50'
このコマンドを使用すると、Image Builder が作成するスタックのイメージスタックイベントを取得できます。
このコマンドを使用すると、イメージログを保存できます。
AWS ParallelCluster ログおよび Amazon CloudWatch の詳細については、「Amazon CloudWatch Logs のビルドイメージログ」および「Amazon CloudWatch ダッシュボード」を参照してください。
その他の考慮事項
- 新しい AWS ParallelCluster のリリースとカスタム AMI
-
カスタム AMI を構築した場合は、新しい AWS ParallelCluster のリリースごとに、カスタム AMI を作成したときの手順を繰り返す必要があります。
- カスタムブートストラップアクション
-
カスタムブートストラップアクション のセクションを参照し、ご希望の変更がスクリプト化され、今後の AWS ParallelCluster のリリースでサポートされるかどうかを確認してください。
- カスタム AMI を使用する
-
Image/CustomAmi および Scheduling/SlurmQueues/ - Name/Image/CustomAmi セクションのクラスター設定でカスタム AMI を指定できます。
カスタム AMI 検証警告のトラブルシューティングについては、「カスタム AMI の問題のトラブルシューティング」を参照してください。