

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

En las siguientes secciones se describe lo que ocurre al pasar de la versión AWS ParallelCluster 2.x a la 3.x, incluidos los cambios de una versión a otra.

## Acciones de arranque personalizadas
<a name="custom_bootstrap_actions"></a>

Con la versión AWS ParallelCluster 3, puede especificar distintos scripts de acciones de arranque personalizados para el nodo principal y los nodos de cómputo utilizando `OnNodeStart` (`pre_install`en la AWS ParallelCluster versión 2) y `OnNodeConfigured` (`post_install`en la AWS ParallelCluster versión 2) los parámetros de las secciones [`HeadNode`](HeadNode-v3.md)y [`Scheduling`](Scheduling-v3.md)/. [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) Para obtener más información, consulte [Acciones de arranque personalizadas](custom-bootstrap-actions-v3.md). 

 Los scripts de acciones de arranque personalizados que se han desarrollado para AWS ParallelCluster 2 deben adaptarse para su uso en AWS ParallelCluster 3:
+ No recomendamos usar `/etc/parallelcluster/cfnconfig` ni `cfn_node_type` para diferenciar entre nodos principales y de computación. En su lugar, le recomendamos que especifique dos scripts diferentes en [`HeadNode`](HeadNode-v3.md) y [`Scheduling`](Scheduling-v3.md)/[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues).
+ Si prefiere seguir cargando `/etc/parallelcluster/cfnconfig` para utilizarlos en su script de acciones de bootstrap, tenga en cuenta que el valor de `cfn_node_type` ha cambiado de "" a MasterServer "HeadNode"» (consulte:[Lenguaje inclusivo](#inclusive_language)).
+ En la AWS ParallelCluster versión 2, el primer argumento de entrada para los scripts de acción de bootstrap era la URL S3 del script y estaba reservado. En AWS ParallelCluster 3, solo los argumentos configurados en la configuración se pasan a los scripts.

**aviso**  
Oficialmente, no se admite el uso de variables internas proporcionadas a través del archivo `/etc/parallelcluster/cfnconfig`. Es posible que este archivo se elimine como parte de una versión futura.

## AWS ParallelCluster Las versiones 2.x y 3.x utilizan una sintaxis de archivo de configuración diferente
<a name="pcluster_use_different_config_file_syntax"></a>

 ******** 

AWS ParallelCluster La configuración 3.x usa la sintaxis YAML. La referencia completa se encuentra en [Archivos de configuración](configuration-v3.md).

Además de requerir un formato de archivo YAML, en AWS ParallelCluster 3.x se han actualizado varias secciones de configuración, ajustes y valores de parámetros. En esta sección, analizamos los cambios clave en la AWS ParallelCluster configuración junto con side-by-side ejemplos que ilustran estas diferencias en cada versión de. AWS ParallelCluster

**Ejemplo de configuración de varias colas del programador con el hiperprocesamiento habilitado y deshabilitado**

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

**Ejemplo de configuración nueva FSx para el sistema de archivos de 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
```

**Ejemplo de una configuración de clúster que monta un sistema de archivos existente FSx para 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}}
```

 **Ejemplo de un clúster con la pila de software de especificación de plataforma Intel HPC** 

AWS ParallelCluster 2:

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

AWS ParallelCluster 3:

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

Notas: 
+  La instalación del software de especificación de plataforma HPC Intel está sujeta a los términos y condiciones del [acuerdo de licencia de usuario final de Intel](https://software.intel.com/en-us/articles/end-user-license-agreement) aplicable.

 **Ejemplo de configuraciones de IAM personalizadas, que incluyen: el perfil de la instancia, el rol de la instancia, las políticas adicionales para las instancias y el rol de las funciones de lambda asociadas al clúster** 

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

Notas: 
+ En el caso AWS ParallelCluster 2, la configuración de IAM se aplica a todas las instancias de un clúster y no se `additional_iam_policies` puede usar junto con `ec2_iam_role` ellas.
+ En el caso de AWS ParallelCluster 3, puede tener diferentes configuraciones de IAM para los nodos principales y de cómputo e incluso especificar diferentes configuraciones de IAM para cada cola de cómputo.
+ En el caso de AWS ParallelCluster 3, puede utilizar un perfil de instancia de IAM como alternativa a un rol de IAM. `InstanceProfile`, `InstanceRole` o no `AdditionalIamPolicies` se pueden configurar juntos.

**Ejemplo de acciones de arranque personalizadas**

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

 **Ejemplo de un clúster con acceso de lectura y escritura a los recursos del bucket de 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
```

## Lenguaje inclusivo
<a name="inclusive_language"></a>

AWS ParallelCluster 3 usa las palabras «nodo principal» en los lugares donde se usó «maestro» en AWS ParallelCluster 2. Esta incluye lo siguiente: 
+ La variable exportada en el entorno de AWS Batch trabajo ha cambiado: de `MASTER_IP` a`PCLUSTER_HEAD_NODE_IP`.
+ Todas las CloudFormation salidas cambiaron de `Master*` a`HeadNode*`.
+ Todas NodeType y las etiquetas cambiaron de `Master` a`HeadNode`.

## Compatibilidad con el programador
<a name="scheduler_support"></a>

AWS ParallelCluster La versión 3.x no es compatible con Son of Grid Engine (SGE) ni con los programadores de par.

Los AWS Batch comandos`awsbhosts`,`awsbkill`, `awsbout` `awsbqueues``awsbstat`, y `awsbsub` se distribuyen como un paquete `aws-parallelcluster-awsbatch-cli` PyPI independiente. Este paquete lo instala AWS ParallelCluster en el nodo principal. Puede seguir utilizando estos AWS Batch comandos desde el nodo principal del clúster. Sin embargo, si desea utilizar los comandos AWS Batch desde una ubicación que no sea el nodo principal, primero debe instalar el paquete PyPI `aws-parallelcluster-awsbatch-cli`.

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

Se ha cambiado la AWS ParallelCluster interfaz de línea de comandos (CLI). La nueva sintaxis se describe en [AWS ParallelCluster Comandos CLI](commands-v3.md). El formato de salida de la CLI es una cadena [JSON](https://json.org/).

 **Configuración de un clúster nuevo** 

El `pcluster configure` comando incluye parámetros diferentes en AWS ParallelCluster 3 en comparación con AWS ParallelCluster 2. Para obtener más información, consulte [`pcluster configure`](pcluster.configure-v3.md).

Tenga en cuenta también que la sintaxis del archivo de configuración ha cambiado de AWS ParallelCluster 2. Para obtener una referencia completa de los ajustes de configuración del clúster, consulte [Configuración del clúster](cluster-configuration-file-v3.md).

 **Creación de un clúster** 

AWS ParallelCluster El `pcluster create` comando 2 ha sido reemplazado por el [`pcluster create-cluster`](pcluster.create-cluster-v3.md)comando. 

Tenga en cuenta que el comportamiento predeterminado en la AWS ParallelCluster versión 2.x, sin la `-nw` opción, es esperar a que se creen los clústeres, mientras que el comando AWS ParallelCluster 3.x se devuelve inmediatamente. El progreso de la creación del clúster se puede monitorear mediante [`pcluster describe-cluster`](pcluster.describe-cluster-v3.md).

Un archivo de configuración AWS ParallelCluster 3 contiene una única definición de clúster, por lo que el `-t` parámetro ya no es necesario.

A continuación, se muestra un ejemplo de archivo de configuración.

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

 **Mostrar clústeres** 

El comando `pcluster list` AWS ParallelCluster 2.x debe sustituirse por el [`pcluster list-clusters`](pcluster.list-clusters-v3.md)comando. 

 Nota: Necesita la CLI de la AWS ParallelCluster versión 2 para enumerar los clústeres creados con las versiones 2.x de AWS ParallelCluster. Consulte [Instalación AWS ParallelCluster en un entorno virtual (recomendado)](install-v3-virtual-environment.md) para descubrir cómo instalar varias versiones de AWS ParallelCluster usando entornos virtuales. 

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

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

 **Inicio y detención de un clúster** 

Los comandos `pcluster start` y `pcluster stop` AWS ParallelCluster 2.x deben sustituirse por comandos. [`pcluster update-compute-fleet`](pcluster.update-compute-fleet-v3.md) 

 Inicio de una flota de computación: 

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

 Detención de una flota de computación: 

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

 **Conexión a un clúster** 

El comando `pcluster ssh` AWS ParallelCluster 2.x tiene diferentes nombres de parámetros en AWS ParallelCluster 3.x. Consulte [`pcluster ssh`](pcluster.ssh-v3.md).

Conexión a un clúster: 

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

## Actualización de la configuración de IMDS
<a name="imds-update"></a>

A partir de la versión 3.0.0, AWS ParallelCluster se introdujo la posibilidad de restringir el acceso al IMDS del nodo principal (y a las credenciales del perfil de la instancia) a un subconjunto de superusuarios, de forma predeterminada. Para obtener más información, consulte [Propiedades de `Imds`](HeadNode-v3.md#HeadNode-v3-Imds.properties).