

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di un cluster con CloudFormation
<a name="tutorials_09_cfn-custom-resource-v3"></a>

Scopri come creare un cluster con una risorsa AWS ParallelCluster CloudFormation personalizzata. Per ulteriori informazioni, consulta [AWS CloudFormation risorsa personalizzata](cloudformation-v3.md).

Quando si utilizza AWS ParallelCluster, si pagano solo le AWS risorse create quando si creano o si aggiornano AWS ParallelCluster immagini e cluster. Per ulteriori informazioni, consulta [AWS servizi usati da AWS ParallelCluster](aws-services-v3.md).

**Prerequisiti:**
+  AWS CLI [È installato e configurato](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ Una [coppia di chiavi Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
+ Un ruolo IAM con le [autorizzazioni](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies) necessarie per eseguire la [`pcluster`](pcluster-v3.md) CLI.

## Creazione di cluster con uno CloudFormation stack di creazione rapida
<a name="cfn-custom-resource-quick-v3"></a>

In questo tutorial, si utilizza uno stack di creazione rapida per distribuire un CloudFormation modello che crea un cluster e le seguenti risorse: AWS 
+ Un root CloudFormation stack creato utilizzando uno stack di creazione rapida. CloudFormation 
+  CloudFormation Stack annidati che includono policy predefinite, configurazione VPC predefinita e un provider di risorse personalizzato.
+ Un esempio di stack di AWS ParallelCluster cluster e un cluster a cui è possibile accedere ed eseguire lavori.

**Crea un cluster con AWS CloudFormation**

1. Accedi alla Console di gestione AWS.

1. Apri il [link di CloudFormation creazione rapida](https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?stackName=mycluster&templateURL=https://us-east-1-aws-parallelcluster.s3.amazonaws.com/parallelcluster/3.15.0/templates/1-click/cluster-example.yaml) per creare le seguenti risorse nella CloudFormation console:
   + Uno CloudFormation stack annidato con un VPC con una sottorete pubblica e privata per l'esecuzione rispettivamente del nodo principale del cluster e dei nodi di calcolo.
   + Uno CloudFormation stack annidato con una risorsa personalizzata per la gestione del cluster AWS ParallelCluster .
   + Uno CloudFormation stack annidato con le politiche predefinite per la gestione del cluster.
   + Uno stack principale per CloudFormation gli stack annidati.
   + Un AWS ParallelCluster cluster con lo Slurm scheduler e un numero definito di nodi di calcolo.  
![\[L'interfaccia utente per la creazione CloudFormation rapida della console.\]](http://docs.aws.amazon.com/it_it/parallelcluster/latest/ug/images/cfn-quick-create.png)

1. Nella sezione **Parametri **dello stack di creazione rapida**, immettete i valori per i seguenti parametri**:

   1. Per **KeyName**, inserisci il nome della tua coppia di chiavi Amazon EC2.

   1. Per **AvailabilityZone**, scegli una AZ per i nodi del cluster, `us-east-1a` ad esempio.

1. Seleziona le caselle per confermare ciascuna delle funzionalità di accesso nella parte inferiore della pagina.

1. Seleziona **Crea stack**.

1. Attendi che lo CloudFormation stack raggiunga lo `CREATE_COMPLETE` stato.

## Creazione di cluster con l'interfaccia CloudFormation a riga di comando (CLI)
<a name="cfn-custom-resource-cli-v3"></a>

In questo tutorial, si utilizza l'interfaccia a riga di AWS comando (CLI) CloudFormation per distribuire un CloudFormation modello che crea un cluster.

**Crea le seguenti risorse: AWS**
+ Una pila principale creata utilizzando uno CloudFormation stack di creazione CloudFormation rapida.
+  CloudFormation Stack annidati che includono policy predefinite, configurazione VPC predefinita e un provider di risorse personalizzato.
+ Uno stack di AWS ParallelCluster cluster di esempio e un cluster a cui è possibile accedere ed eseguire lavori.

Sostituiscilo*inputs highlighted in red*, ad esempio*keypair*, con i tuoi valori.

**Crea un cluster con AWS CloudFormation**

1. Crea un CloudFormation modello denominato `cluster_template.yaml` con il seguente contenuto:

   ```
   AWSTemplateFormatVersion: '2010-09-09'
   Description: > AWS ParallelCluster CloudFormation Template
   
   Parameters:
     KeyName:
       Description: KeyPair to login to the head node
       Type: AWS::EC2::KeyPair::KeyName
   
     AvailabilityZone:
       Description: Availability zone where instances will be launched
       Type: AWS::EC2::AvailabilityZone::Name
       Default: us-east-2a
   
   Mappings:
     ParallelCluster:
       Constants:
         Version: 3.15.0
   
   Resources:
     PclusterClusterProvider:
       Type: AWS::CloudFormation::Stack
       Properties:
         TemplateURL: !Sub
           - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/custom_resource/cluster.yaml
           - { Version: !FindInMap [ParallelCluster, Constants, Version] }
   
     PclusterVpc:
       Type: AWS::CloudFormation::Stack
       Properties:
         Parameters:
           PublicCIDR: 10.0.0.0/24
           PrivateCIDR: 10.0.16.0/20
           AvailabilityZone: !Ref AvailabilityZone
         TemplateURL: !Sub
           - https://${AWS::Region}-aws-parallelcluster.s3.${AWS::Region}.${AWS::URLSuffix}/parallelcluster/${Version}/templates/networking/public-private-${Version}.cfn.json
           - { Version: !FindInMap [ParallelCluster, Constants, Version ] }
   
     PclusterCluster:
       Type: Custom::PclusterCluster
       Properties:
         ServiceToken: !GetAtt [ PclusterClusterProvider , Outputs.ServiceToken ]
         ClusterName: !Sub 'c-${AWS::StackName}'
         ClusterConfiguration:
           Image:
             Os: alinux2
           HeadNode:
             InstanceType: t2.medium
             Networking:
               SubnetId: !GetAtt [ PclusterVpc , Outputs.PublicSubnetId ]
             Ssh:
               KeyName: !Ref KeyName
           Scheduling:
             Scheduler: slurm
             SlurmQueues:
             - Name: queue0
               ComputeResources:
               - Name: queue0-cr0
                 InstanceType: t2.micro
               Networking:
                 SubnetIds:
                 -  !GetAtt [ PclusterVpc , Outputs.PrivateSubnetId ]
   Outputs:
     HeadNodeIp:
       Description: The Public IP address of the HeadNode
       Value: !GetAtt [ PclusterCluster, headNode.publicIpAddress ]
   ```

1. Esegui il seguente comando AWS CLI per distribuire lo CloudFormation stack per la creazione e la gestione del cluster.

   ```
   $ aws cloudformation deploy --template-file ./cluster_template.yaml \
     --stack-name mycluster \
     --parameter-overrides KeyName=keypair \
                           AvailabilityZone=us-east-2b \
     --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
   ```

## Visualizza l'output del cluster CloudFormation
<a name="cfn-custom-resource-view-v3"></a>

Visualizza l'output del CloudFormation cluster per ottenere dettagli utili sul cluster. La `ValidationMessages` proprietà aggiunta fornisce l'accesso ai messaggi di convalida dalle operazioni di creazione e aggiornamento del cluster.

1. Vai alla [CloudFormation console](https://console.aws.amazon.com/cloudformation/home) e seleziona lo stack che include la tua risorsa AWS ParallelCluster personalizzata.

1. Scegli **i dettagli dello stack** e seleziona la scheda **Output**.  
![\[La tabella degli CloudFormation output della console che mostra i valori per e. HeadNodeIp ValidationMessages\]](http://docs.aws.amazon.com/it_it/parallelcluster/latest/ug/images/cfn-outputs.png)

   I messaggi di convalida potrebbero essere troncati. Per ulteriori informazioni su come recuperare i log, vedere. [AWS ParallelCluster risoluzione dei problemi](troubleshooting-v3.md)

## Accedi al tuo cluster
<a name="cfn-custom-resource-access-v3"></a>

Accedi al cluster.

**`ssh`nel nodo principale del cluster**

1. Una volta completata la distribuzione CloudFormation dello stack, ottieni l'indirizzo IP del nodo principale con il seguente comando:

   ```
   $ HEAD_NODE_IP=$(aws cloudformation describe-stacks --stack-name=mycluster --query "Stacks|[0].Outputs[?OutputKey=='HeadNodeIp']|[0].OutputValue" --output=text)
   ```

   È inoltre possibile recuperare l'indirizzo IP del nodo principale dal **HeadNodeIp**parametro nella scheda **Outputs** dello stack del cluster nella console. CloudFormation 

   Puoi trovare l'indirizzo IP del nodo principale qui perché è stato aggiunto nella `Outputs` sezione del CloudFormation modello di cluster, in particolare per questo cluster di esempio.

1. Connect al nodo principale del cluster eseguendo il comando seguente:

   ```
   $ ssh -i keyname.pem ec2-user@$HEAD_NODE_IP
   ```

## Eliminazione
<a name="cfn-custom-resource-cleanup-v3"></a>

Elimina il cluster.

1. Esegui il seguente comando AWS CLI per eliminare lo CloudFormation stack e il cluster.

   ```
   $ aws cloudformation delete-stack --stack-name=mycluster
   ```

1. Controlla lo stato di eliminazione dello stack eseguendo il comando seguente.

   ```
   $ aws cloudformation describe-stacks --stack-name=mycluster
   ```