

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

# AWS ParallelCluster 2.x から 3.x への移行
<a name="moving-from-v2-to-v3"></a>

以下のセクションでは、あるバージョンから別のバージョンへの変更を含め、 AWS ParallelCluster 2.x から 3.x に移行するとどうなるかについて説明します。

## カスタムブートストラップアクション
<a name="custom_bootstrap_actions"></a>

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

 for AWS ParallelCluster 2 用に開発されたカスタムブートストラップアクションスクリプトは、 AWS ParallelCluster 3 で使用するように調整する必要があります。
+ ヘッドノードとコンピューティングノードを区別するために `/etc/parallelcluster/cfnconfig` と `cfn_node_type` を使用することは推奨されません。代わりに、[`HeadNode`](HeadNode-v3.md) と [`Scheduling`](Scheduling-v3.md)/[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) の 2 種類のスクリプトを指定することをお勧めします。
+ ブートストラップアクションスクリプトで使用するために `/etc/parallelcluster/cfnconfig` をロードを続けたい場合は、`cfn_node_type` の値が「MasterServer」から「HeadNode」に変更されていることに注意してください (参照: [包括的言語](#inclusive_language))。
+ On AWS ParallelCluster 2 では、アクションスクリプトをブートストラップする最初の入力引数は、スクリプトへの S3 URL であり、予約されました。 AWS ParallelCluster 3 では、構成で設定された引数のみがスクリプトに渡されます。

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

## AWS ParallelCluster 2.x と 3.x は異なる設定ファイルの構文を使用します
<a name="pcluster_use_different_config_file_syntax"></a>

 ******** 

AWS ParallelCluster 3.x 設定では YAML 構文を使用します。リファレンス全文は、[設定ファイル](configuration-v3.md) にあります。

 AWS ParallelCluster 3.x では、YAML ファイル形式の必須化に加えて、多くの設定セクション、設定、パラメータ値が更新されました。このセクションでは、 AWS ParallelCluster 設定の主な変更点と、 の各バージョンにおけるこれらの違いを示すside-by-sideの例を書き留めます 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
```

注記: 
+  Intel HPC プラットフォーム仕様ソフトウェアのインストールには、該当する[Intel エンドユーザーライセンス契約](https://software.intel.com/en-us/articles/end-user-license-agreement)の条件が適用されます。

 **インスタンスプロファイル、インスタンスロール、インスタンスの追加ポリシー、クラスターに関連する 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 `additional_iam_policies`の場合、IAM 設定はクラスターのすべてのインスタンスに適用され、 と組み合わせて使用することはできません`ec2_iam_role`。
+ For AWS ParallelCluster 3 では、ヘッドノードとコンピューティングノードに異なる IAM 設定を指定し、コンピューティングキューごとに異なる IAM 設定を指定することもできます。
+ For AWS ParallelCluster 3 では、IAM ロールの代わりに IAM インスタンスプロファイルを使用できます。 `InstanceProfile``InstanceRole`または を一緒に設定`AdditionalIamPolicies`することはできません。

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

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
```

## 包括的言語
<a name="inclusive_language"></a>

AWS ParallelCluster 3 は、「マスター」が AWS ParallelCluster 2 で使用された場所で「ヘッドノード」という単語を使用します。これには以下が含まれます。
+  AWS Batch ジョブ環境でエクスポートされた変数が から `MASTER_IP`に変更されました`PCLUSTER_HEAD_NODE_IP`。
+ すべての CloudFormation 出力が から `Master*`に変更されました`HeadNode*`。
+ すべての NodeType とタグが `Master` から `HeadNode` に変更されました。

## スケジューラのサポート
<a name="scheduler_support"></a>

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

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

## AWS ParallelCluster CLI
<a name="parallelcluster_cli"></a>

 AWS ParallelCluster コマンドラインインターフェイス (CLI) が変更されました。新しい構文については、[AWS ParallelCluster CLI コマンド](commands-v3.md) で説明しています。CLI の出力形式は [JSON](https://json.org/) 文字列です。

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

`pcluster configure` コマンドには、 AWS ParallelCluster 2 とは異なるパラメータが in AWS ParallelCluster 3 に含まれています。詳細については、「[`pcluster configure`](pcluster.configure-v3.md)」を参照してください。

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

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

AWS ParallelCluster 2 の `pcluster create` コマンドは [`pcluster create-cluster`](pcluster.create-cluster-v3.md) コマンドに置き換えられました。

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

An 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 list` AWS ParallelCluster 2.x コマンドは [`pcluster list-clusters`](pcluster.list-clusters-v3.md) コマンドに置き換える必要があります。

 注: 2 AWS ParallelCluster .x バージョンの で作成されたクラスターを一覧表示するには、v2 CLI が必要です AWS ParallelCluster。仮想環境を利用して複数のバージョンの AWS ParallelCluster をインストールする方法については、「[AWS ParallelCluster 仮想環境に をインストールする (推奨)](install-v3-virtual-environment.md)」を参照してください。

```
# AWS ParallelCluster v2
$ pcluster list -r REGION

# AWS ParallelCluster v3
$ pcluster list-clusters --region REGION
```

 **クラスターの起動と停止** 

`pcluster start` および `pcluster stop` AWS ParallelCluster 2.x コマンドは [`pcluster update-compute-fleet`](pcluster.update-compute-fleet-v3.md) コマンドに置き換える必要があります。

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

```
# 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 ssh` AWS ParallelCluster 2.x コマンドには、 AWS ParallelCluster 3.x で異なるパラメータ名があります。「[`pcluster ssh`](pcluster.ssh-v3.md)」を参照してください。

クラスターへの接続: 

```
# 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 設定の更新
<a name="imds-update"></a>

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