AWS ParallelCluster 2.x から 3.x へ移動 - AWS ParallelCluster

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS ParallelCluster 2.x から 3.x へ移動

以下のセクションでは、特定のバージョンから別のバージョンに変更するなど、AWS ParallelCluster 2.x から 3.x に移行したときに何が起こるかを説明します。

カスタムブートストラップアクション

AWS ParallelCluster 3 では、HeadNode および Scheduling/SlurmQueues セクションの OnNodeStart (AWS ParallelCluster バージョン 2 では pre_install) および OnNodeConfigured (AWS ParallelCluster バージョン 2 では post_install) パラメータを使用して、ヘッドノードおよびコンピューティングノードに異なるカスタムブートストラップアクションスクリプトを指定することができます。詳細については、「カスタムブートストラップアクション」を参照してください。

AWS ParallelCluster 2 のために開発されたカスタムブートストラップアクションスクリプトは、AWS ParallelCluster 3 で使用するために適応する必要があります。

  • ヘッドノードとコンピューティングノードを区別するために /etc/parallelcluster/cfnconfigcfn_node_type を使用することは推奨されません。代わりに、HeadNodeScheduling/SlurmQueues の 2 種類のスクリプトを指定することをお勧めします。

  • ブートストラップアクションスクリプトで使用するために /etc/parallelcluster/cfnconfig をロードを続けたい場合は、cfn_node_type の値が「MasterServer」から「HeadNode」に変更されていることに注意してください (参照: 包括的言語)。

  • AWS ParallelCluster 2 では、ブートストラップアクションスクリプトの第 1 入力引数は、スクリプトの S3 URL であり、予約されていました。AWS ParallelCluster 3 では、構成で設定された引数のみがスクリプトに渡されます。

警告

/etc/parallelcluster/cfnconfig ファイルで提供される内部変数の使用は公式にはサポートされていません。このファイルは将来のリリースの一部として削除される可能性があります。

AWS ParallelCluster 2.x と 3.x では設定ファイルの構文が異なります。

AWS ParallelCluster 3.x の設定では YAML 構文を使用します。リファレンス全文は、設定ファイル にあります。

AWS ParallelCluster 3.x では、YAML ファイル形式の必須化に加えて、多くの設定セクション、設定、パラメータ値が更新されました。このセクションでは、AWS ParallelCluster 構成の主な変更点と、AWS ParallelCluster の各バージョンにおけるこれらの違いを示す例を並べて説明します。

ハイパースレッディングを有効または無効にした場合の複数スケジューラキュー構成例

AWS ParallelCluster 2:

[cluster default] queue_settings = ht-enabled, ht-disabled ... [queue ht-enabled] compute_resource_settings = ht-enabled-i1 disable_hyperthreading = false [queue ht-disabled] compute_resource_settings = ht-disabled-i1 disable_hyperthreading = true [compute_resource ht-enabled-i1] instance_type = c5n.18xlarge [compute_resource ht-disabled-i1] instance_type = c5.xlarge

AWS ParallelCluster 3:

... Scheduling: Scheduler: slurm SlurmQueues: - Name: ht-enabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-enabled-i1 DisableSimultaneousMultithreading: true InstanceType: c5n.18xlarge - Name: ht-disabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-disabled-i1 DisableSimultaneousMultithreading: false InstanceType: c5.xlarge

新しい FSx for Lustre ファイルシステムの構成例

AWS ParallelCluster 2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx storage_capacity = 1200 imported_file_chunk_size = 1024 import_path = s3://amzn-s3-demo-bucket export_path = s3://amzn-s3-demo-bucket/export_dir weekly_maintenance_start_time = 3:02:30 deployment_type = PERSISTENT_1 data_compression_type = LZ4

AWS ParallelCluster 3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 ImportedFileChunkSize: 1024 ImportPath: s3://amzn-s3-demo-bucket ExportPath: s3://amzn-s3-demo-bucket/export_dir WeeklyMaintenanceStartTime: "3:02:30" DeploymentType: PERSISTENT_1 DataCompressionType: LZ4

既存の FSx for Lustre ファイルシステムをマウントしたクラスター構成例

AWS ParallelCluster 2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx fsx_fs_id = fsx_fs_id

AWS ParallelCluster 3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: FileSystemId: fsx_fs_id

インテル HPC プラットフォーム仕様ソフトウェアスタックを搭載したクラスターの例

AWS ParallelCluster 2:

[cluster default] enable_intel_hpc_platform = true ...

AWS ParallelCluster 3:

... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

注記:

インスタンスプロファイル、インスタンスロール、インスタンスの追加ポリシー、クラスターに関連する Lambda 関数のロールなどのカスタム IAM 構成の例

AWS ParallelCluster 2:

[cluster default] additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess ec2_iam_role = ec2_iam_role iam_lambda_role = lambda_iam_role ...

AWS ParallelCluster 3:

... Iam: Roles: CustomLambdaResources: lambda_iam_role HeadNode: ... Iam: InstanceRole: ec2_iam_role Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: InstanceProfile: iam_instance_profile - Name: queue2 ... Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess

注記:

  • AWS ParallelCluster 2 の場合、IAM 設定はクラスターのすべてのインスタンスに適用され、additional_iam_policiesec2_iam_role と併用できません。

  • AWS ParallelCluster 3 では、ヘッドノードとコンピューティングノードに異なる IAM 設定をしたり、コンピューティングキューごとに異なる IAM 設定を指定することもできます。

  • AWS ParallelCluster 3 では、IAM ロールの代わりに、IAM インスタンスプロファイルを使用できます。InstanceProfileInstanceRoleAdditionalIamPolicies を一緒に設定することはできません。

カスタムブートストラップアクションの例

AWS ParallelCluster 2:

[cluster default] s3_read_resource = arn:aws:s3:::amzn-s3-demo-bucket/* pre_install = s3://amzn-s3-demo-bucket/scripts/pre_install.sh pre_install_args = 'R curl wget' post_install = s3://amzn-s3-demo-bucket/scripts/post_install.sh post_install_args = "R curl wget" ...

AWS ParallelCluster 3:

... HeadNode: ... CustomActions: OnNodeStart: Script: s3://amzn-s3-demo-bucket/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: amzn-s3-demo-bucket Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://amzn-s3-demo-bucket/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: amzn-s3-demo-bucket

S3 バケットのリソースに読み取りと書き込みのアクセスがあるクラスターの例

AWS ParallelCluster 2:

[cluster default] s3_read_resource = arn:aws:s3:::amzn-s3-demo-bucket/read_only/* s3_read_write_resource = arn:aws:s3:::amzn-s3-demo-bucket/read_and_write/* ...

AWS ParallelCluster 3:

... HeadNode: ... Iam: S3Access: - BucketName: amzn-s3-demo-bucket KeyName: read_only/ EnableWriteAccess: False - BucketName: amzn-s3-demo-bucket KeyName: read_and_write/ EnableWriteAccess: True Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName: amzn-s3-demo-bucket KeyName: read_only/ EnableWriteAccess: False - BucketName: amzn-s3-demo-bucket KeyName: read_and_write/ EnableWriteAccess: True

包括的言語

AWS ParallelCluster 3 では、AWS ParallelCluster 2 で「マスター」と言っていた箇所に「ヘッドノード」という言葉を使っています。これには以下が含まれます。

  • AWS Batch のジョブ環境でエクスポートされた変数は、MASTER_IP から PCLUSTER_HEAD_NODE_IP へと変化しました。

  • すべての AWS CloudFormation 出力を Master* から HeadNode* に変更

  • すべての NodeType とタグが Master から HeadNode に変更されました。

スケジューラのサポート

AWS ParallelCluster 3.x は SGE (Son of Grid Engine) および Torque スケジューラをサポートしていません。

AWS Batch コマンド awsbhostsawsbkillawsboutawsbqueuesawsbstat および awsbsub で、別の aws-parallelcluster-awsbatch-cli PyPI パッケージとして配布されています。このパッケージは、ヘッドノードの AWS ParallelCluster によってインストールされます。これらの AWS Batch コマンドは、クラスターのヘッドノードから引き続き使用できます。ただし、ヘッドノード以外の場所から AWS Batch コマンドを使用したい場合は、まず aws-parallelcluster-awsbatch-cli PyPI パッケージをインストールする必要があります。

AWS ParallelCluster CLI

AWS ParallelCluster コマンドラインインターフェイス (CLI) が変更されました。新しい構文については、AWS ParallelCluster CLI コマンド で説明しています。CLI の出力形式は JSON 文字列です。

新しいクラスターを構成する

pcluster configure コマンドは、AWS ParallelCluster 3 のパラメータが AWS ParallelCluster 2 とは異なるパラメータが含まれています。詳細については、「pcluster configure」を参照してください。

また、設定ファイルの構文が AWS ParallelCluster 2 から変更されていることにも注意してください。クラスター構成設定の完全なリファレンスについては、「クラスター設定ファイル」を参照してください。

新しいクラスターを作成する

AWS ParallelCluster 2 の pcluster create コマンドが pcluster create-cluster コマンドに変更されました。

AWS ParallelCluster 2.x のデフォルトの動作では、-nw オプションを指定しない場合、クラスター作成イベントを待つことですが、AWS ParallelCluster 3.x のコマンドはすぐに返すことに注意してください。クラスター作成の進捗状況は、pcluster describe-cluster でモニタリングできます

AWS ParallelCluster 3 の設定ファイルには、1 つのクラスター定義が含まれているため、-t パラメータは必要ありません。

設定ファイルの例を以下に示します。

# AWS ParallelCluster v2 $ pcluster create \ -r REGION \ -c V2_CONFIG_FILE \ -nw \ -t CLUSTER_TEMPLATE \ CLUSTER_NAME # AWS ParallelCluster v3 $ pcluster create-cluster \ --region REGION \ --cluster-configuration V3_CONFIG_FILE \ --cluster-name CLUSTER_NAME

クラスターの一覧表示

pcluster listAWS ParallelCluster 2.x コマンドを pcluster list-clusters コマンドに変更する必要があります。

注意: AWS ParallelCluster の 2.x バージョンで作成されたクラスターをリストアップするには、AWS ParallelCluster v2 CLI が必要です。仮想環境を利用して複数のバージョンの AWS ParallelCluster をインストールする方法については、「AWS ParallelCluster 仮想環境に をインストールする (推奨)」を参照してください。

# AWS ParallelCluster v2 $ pcluster list -r REGION # AWS ParallelCluster v3 $ pcluster list-clusters --region REGION

クラスターの起動と停止

pcluster startpcluster stopAWS ParallelCluster 2.x のコマンドは、pcluster update-compute-fleet コマンドに置き換える必要があります。

コンピューティングフリートの開始:

# AWS ParallelCluster v2 $ pcluster start \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status START_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status ENABLED

コンピューティングフリートの停止:

# AWS ParallelCluster v2 $ pcluster stop \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status STOP_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status DISABLED

クラスターへの接続

pcluster sshAWS ParallelCluster 2.x のコマンドでは、AWS ParallelCluster 3.x ではパラメータ名が異なります。「pcluster ssh」を参照してください。

クラスターへの接続:

# AWS ParallelCluster v2 $ pcluster ssh \ -r REGION \ CLUSTER_NAME \ -i ~/.ssh/id_rsa # AWS ParallelCluster v3 $ pcluster ssh \ --region REGION \ --cluster-name CLUSTER_NAME \ -i ~/.ssh/id_rsa

IMDS 設定の更新

バージョン 3.0.0 から、ヘッドノードの IMDS (およびインスタンスプロファイルの認証情報) AWS ParallelCluster へのアクセスをデフォルトで一部のスーパーユーザーに制限するサポートが導入されました。詳細については、「Imds のプロパティ」を参照してください。

AWS ParallelCluster のサポート対象リージョン

AWS ParallelCluster バージョン 3 は、以下の AWS リージョン に対応しています。

リージョン名 リージョン
米国東部 (オハイオ) us-east-2
米国東部 (バージニア北部) us-east-1
米国西部 (北カリフォルニア) us-west-1
米国西部 (オレゴン) us-west-2
アフリカ (ケープタウン) af-south-1
アジアパシフィック (香港) ap-east-1
アジアパシフィック (ムンバイ) ap-south-1
アジアパシフィック (ソウル) ap-northeast-2
アジアパシフィック (シンガポール) ap-southeast-1
アジアパシフィック (シドニー) ap-southeast-2
アジアパシフィック (東京) ap-northeast-1
カナダ (中部) ca-central-1
中国 (北京) cn-north-1
中国 (寧夏) cn-northwest-1
欧州 (フランクフルト) eu-central-1
欧州 (アイルランド) eu-west-1
欧州 (ロンドン) eu-west-2
ヨーロッパ (ミラノ) eu-south-1
欧州 (パリ) eu-west-3
欧州 (ストックホルム) eu-north-1
中東 (バーレーン) me-south-1
南米(サンパウロ) sa-east-1
AWS GovCloud (米国東部) us-gov-east-1
AWS GovCloud (米国西部) us-gov-west-1
イスラエル (テルアビブ) il-central-1