

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Passer de la version AWS ParallelCluster 2.x à la version 3.x
<a name="moving-from-v2-to-v3"></a>

Les sections suivantes décrivent ce qui se passe lorsque vous passez de la version AWS ParallelCluster 2.x à la version 3.x, y compris les modifications d'une version à l'autre.

## Actions Bootstrap personnalisées
<a name="custom_bootstrap_actions"></a>

Avec AWS ParallelCluster 3, vous pouvez spécifier différents scripts d'actions bootstrap personnalisés pour le nœud principal et les nœuds de calcul à l'aide des paramètres `OnNodeStart` (`pre_install`dans la AWS ParallelCluster version 2) et `OnNodeConfigured` (`post_install`dans la AWS ParallelCluster version 2) dans les [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)sections [`HeadNode`](HeadNode-v3.md)et [`Scheduling`](Scheduling-v3.md)/. Pour de plus amples informations, veuillez consulter [Actions de bootstrap personnalisées](custom-bootstrap-actions-v3.md). 

 Les scripts d'actions bootstrap personnalisés développés pour AWS ParallelCluster 2 doivent être adaptés pour être utilisés dans AWS ParallelCluster 3 :
+ Nous ne recommandons pas d'utiliser `/etc/parallelcluster/cfnconfig` et `cfn_node_type` de différencier les nœuds de tête des nœuds de calcul. Nous vous recommandons plutôt de spécifier deux scripts différents dans le [`HeadNode`](HeadNode-v3.md)et [`Scheduling`](Scheduling-v3.md)/[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues).
+ Si vous préférez continuer le chargement `/etc/parallelcluster/cfnconfig` pour l'utiliser dans votre script d'actions bootstrap, notez que la valeur de `cfn_node_type` est modifiée de « MasterServer » à « HeadNode » (voir :[Langage inclusif](#inclusive_language)).
+ Le AWS ParallelCluster 2, le premier argument d'entrée des scripts d'action bootstrap était l'URL S3 du script et était réservé. En AWS ParallelCluster 3, seuls les arguments configurés dans la configuration sont transmis aux scripts.

**Avertissement**  
L'utilisation de variables internes fournies par le biais du `/etc/parallelcluster/cfnconfig` fichier n'est pas officiellement prise en charge. Ce fichier sera peut-être supprimé dans le cadre d'une future version.

## AWS ParallelCluster 2.x et 3.x utilisent une syntaxe de fichier de configuration différente
<a name="pcluster_use_different_config_file_syntax"></a>

 ******** 

AWS ParallelCluster La configuration 3.x utilise la syntaxe YAML. La référence complète se trouve à l'adresse[Fichiers de configuration](configuration-v3.md).

En plus de nécessiter un format de fichier YAML, un certain nombre de sections de configuration, de paramètres et de valeurs de paramètres ont été mis à jour dans la version AWS ParallelCluster 3.x. Dans cette section, nous notons les principales modifications apportées à la AWS ParallelCluster configuration ainsi que des side-by-side exemples illustrant ces différences entre chaque version de AWS ParallelCluster.

**Exemple de configuration de plusieurs files d'attente de planificateur avec l'hyperthreading activé et désactivé**

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

**Exemple de nouvelle configuration du FSx système de fichiers 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
```

**Exemple de configuration de cluster lors du montage d'un système de fichiers existant FSx pour 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}}
```

 **Exemple de cluster doté de la pile logicielle Intel HPC Platform Specification** 

AWS ParallelCluster 2 :

```
[cluster default]
enable_intel_hpc_platform = true
...
```

AWS ParallelCluster 3 :

```
...
AdditionalPackages:
  IntelSoftware:
    IntelHpcPlatform: true
```

Remarques : 
+  L'installation du logiciel Intel HPC Platform Specification est soumise aux termes et conditions du [contrat de licence utilisateur final Intel](https://software.intel.com/en-us/articles/end-user-license-agreement) applicable.

 **Exemple de configurations IAM personnalisées, notamment : profil d'instance, rôle d'instance, politiques supplémentaires pour les instances et rôle des fonctions lambda associées au cluster** 

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

Remarques : 
+ Pour AWS ParallelCluster 2, les paramètres IAM sont appliqués à toutes les instances d'un cluster et ne `additional_iam_policies` peuvent pas être utilisés conjointement avec`ec2_iam_role`.
+ Pour AWS ParallelCluster 3, vous pouvez définir différents paramètres IAM pour les nœuds de tête et de calcul et même spécifier des paramètres IAM différents pour chaque file d'attente de calcul.
+ Pour AWS ParallelCluster 3, vous pouvez utiliser un profil d'instance IAM comme alternative à un rôle IAM. `InstanceProfile`, `InstanceRole` ou ne `AdditionalIamPolicies` peuvent pas être configurés ensemble.

**Exemple d'actions de bootstrap personnalisées**

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

 **Exemple de cluster avec accès en lecture et en écriture aux ressources du compartiment 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
```

## Langage inclusif
<a name="inclusive_language"></a>

AWS ParallelCluster 3 utilise les mots « nœud principal » aux endroits où « maître » a été utilisé dans AWS ParallelCluster 2. Cela inclut les éléments suivants : 
+ La variable exportée dans l'environnement de AWS Batch travail a été modifiée : de `MASTER_IP` à`PCLUSTER_HEAD_NODE_IP`.
+ Toutes les CloudFormation sorties sont passées de `Master*` à`HeadNode*`.
+ Tous les tags NodeType et tags sont passés de `Master` à`HeadNode`.

## Support du planificateur
<a name="scheduler_support"></a>

AWS ParallelCluster 3.x ne prend pas en charge le moteur Son of Grid (SGE) et les planificateurs de couple.

Les AWS Batch commandes`awsbhosts`,,`awsbkill`, `awsbout` `awsbqueues``awsbstat`, et `awsbsub` sont distribuées sous la forme d'un package `aws-parallelcluster-awsbatch-cli` PyPI distinct. Ce package est installé AWS ParallelCluster sur le nœud principal. Vous pouvez toujours utiliser ces AWS Batch commandes depuis le nœud principal du cluster. Toutefois, si vous souhaitez utiliser des AWS Batch commandes depuis un emplacement autre que le nœud principal, vous devez d'abord installer le package `aws-parallelcluster-awsbatch-cli` PyPI.

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

L'interface de ligne de AWS ParallelCluster commande (CLI) a été modifiée. La nouvelle syntaxe est décrite dans[AWS ParallelCluster Commandes CLI](commands-v3.md). Le format de sortie de la CLI est une chaîne [JSON](https://json.org/).

 **Configuration d'un nouveau cluster** 

La `pcluster configure` commande inclut des paramètres différents en AWS ParallelCluster 3 par rapport à AWS ParallelCluster 2. Pour de plus amples informations, veuillez consulter [`pcluster configure`](pcluster.configure-v3.md).

Notez également que la syntaxe du fichier de configuration a changé depuis AWS ParallelCluster 2. Pour une référence complète des paramètres de configuration du cluster, consultez[Fichier de configuration du cluster](cluster-configuration-file-v3.md).

 **Création d'un nouveau cluster** 

AWS ParallelCluster La `pcluster create` commande de 2 a été remplacée par la [`pcluster create-cluster`](pcluster.create-cluster-v3.md)commande. 

Notez que le comportement par défaut de la AWS ParallelCluster version 2.x, sans `-nw` cette option, est d'attendre les événements de création du cluster, tandis que la commande AWS ParallelCluster 3.x revient immédiatement. La progression de la création du cluster peut être surveillée à l'aide de [`pcluster describe-cluster`](pcluster.describe-cluster-v3.md).

Un fichier de configuration AWS ParallelCluster 3 contient une seule définition de cluster, le `-t` paramètre n'est donc plus nécessaire.

Voici un exemple de fichier de configuration.

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

 **Classer des clusters** 

La commande `pcluster list` AWS ParallelCluster 2.x doit être remplacée par une [`pcluster list-clusters`](pcluster.list-clusters-v3.md)commande. 

 Remarque : vous avez besoin de la CLI AWS ParallelCluster v2 pour répertorier les clusters créés avec les versions 2.x de AWS ParallelCluster. Découvrez [Installation AWS ParallelCluster dans un environnement virtuel (recommandé)](install-v3-virtual-environment.md) comment installer plusieurs versions de l' AWS ParallelCluster utilisation d'environnements virtuels. 

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

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

 **Démarrage et arrêt d'un cluster** 

Les commandes `pcluster start` et `pcluster stop` AWS ParallelCluster 2.x doivent être remplacées par des [`pcluster update-compute-fleet`](pcluster.update-compute-fleet-v3.md)commandes. 

 Démarrage d'un parc informatique : 

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

 Arrêter un parc informatique : 

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

 **Connexion à un cluster** 

La commande `pcluster ssh` AWS ParallelCluster 2.x a des noms de paramètres différents dans la version AWS ParallelCluster 3.x. Consultez [`pcluster ssh`](pcluster.ssh-v3.md).

Connexion à un cluster : 

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

## Mise à jour de configuration IMDS
<a name="imds-update"></a>

À partir de la version 3.0.0, la prise en charge de la restriction de l'accès à l'IMDS du nœud principal (et aux informations d'identification du profil d'instance) à un sous-ensemble de superutilisateurs, par défaut, a AWS ParallelCluster été introduite. Pour de plus amples informations, veuillez consulter [Propriétés de `Imds`](HeadNode-v3.md#HeadNode-v3-Imds.properties).