

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.

# Création d'un cluster avec CloudFormation
<a name="tutorials_09_cfn-custom-resource-v3"></a>

Découvrez comment créer un cluster avec une ressource AWS ParallelCluster CloudFormation personnalisée. Pour de plus amples informations, veuillez consulter [AWS CloudFormation ressource personnalisée](cloudformation-v3.md).

Lors de l'utilisation AWS ParallelCluster, vous ne payez que pour les AWS ressources créées lorsque vous créez ou mettez à jour AWS ParallelCluster des images et des clusters. Pour de plus amples informations, veuillez consulter [AWS services utilisés par AWS ParallelCluster](aws-services-v3.md).

**Prérequis :**
+ Le AWS CLI [est installé et configuré.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ Une [paire de clés Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
+ Rôle IAM doté des [autorisations](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies) requises pour exécuter la [`pcluster`](pcluster-v3.md) CLI.

## Création de clusters à l'aide d'une pile CloudFormation à création rapide
<a name="cfn-custom-resource-quick-v3"></a>

Dans ce didacticiel, vous allez utiliser une pile de création rapide pour déployer un CloudFormation modèle qui crée un cluster et les ressources suivantes : AWS 
+ Une CloudFormation pile racine créée à l'aide d'une pile de CloudFormation création rapide.
+  CloudFormation Des piles imbriquées qui incluent des politiques par défaut, une configuration VPC par défaut et un fournisseur de ressources personnalisé.
+ Exemple de pile de AWS ParallelCluster clusters et de cluster auxquels vous pouvez vous connecter et exécuter des tâches.

**Créez un cluster avec AWS CloudFormation**

1. Connectez-vous au AWS Management Console.

1. Ouvrez le [lien de CloudFormation création rapide](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) pour créer les ressources suivantes dans la CloudFormation console :
   + Une CloudFormation pile imbriquée avec un VPC doté d'un sous-réseau public et privé pour exécuter le nœud principal du cluster et les nœuds de calcul, respectivement.
   + Une CloudFormation pile imbriquée avec une ressource AWS ParallelCluster personnalisée pour gérer le cluster.
   + Une CloudFormation pile imbriquée avec les politiques par défaut pour gérer le cluster.
   + Une CloudFormation pile racine pour les piles imbriquées.
   + Un AWS ParallelCluster cluster avec le Slurm planificateur et un nombre défini de nœuds de calcul.  
![\[L'interface utilisateur de CloudFormation création rapide de la console.\]](http://docs.aws.amazon.com/fr_fr/parallelcluster/latest/ug/images/cfn-quick-create.png)

1. Dans la section **Paramètres** de **création rapide de la pile**, entrez les valeurs des paramètres suivants :

   1. Pour **KeyName**, entrez le nom de votre paire de clés Amazon EC2.

   1. Pour **AvailabilityZone**, choisissez un AZ pour les nœuds de votre cluster, par exemple,`us-east-1a`.

1. Cochez les cases correspondant à chacune des fonctionnalités d'accès au bas de la page.

1. Sélectionnez **Créer la pile**.

1. Attendez que la CloudFormation pile atteigne son `CREATE_COMPLETE` état.

## Création de clusters avec l'interface de ligne de CloudFormation commande (CLI)
<a name="cfn-custom-resource-cli-v3"></a>

Dans ce didacticiel, vous allez utiliser l'interface de ligne de AWS commande (CLI) CloudFormation pour déployer un CloudFormation modèle qui crée un cluster.

**Créez les AWS ressources suivantes :**
+ Une CloudFormation pile racine créée à l'aide d'une pile de CloudFormation création rapide.
+  CloudFormation Des piles imbriquées qui incluent des politiques par défaut, une configuration VPC par défaut et un fournisseur de ressources personnalisé.
+ Exemple de pile de AWS ParallelCluster clusters et de cluster auxquels vous pouvez vous connecter et exécuter des tâches.

*inputs highlighted in red*Remplacez-les, par exemple*keypair*, par vos propres valeurs.

**Créez un cluster avec AWS CloudFormation**

1. Créez un CloudFormation modèle nommé `cluster_template.yaml` avec le contenu suivant :

   ```
   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. Exécutez la commande AWS CLI suivante pour déployer la CloudFormation pile à des fins de création et de gestion de clusters.

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

## Afficher la sortie CloudFormation du cluster
<a name="cfn-custom-resource-view-v3"></a>

Consultez la sortie du CloudFormation cluster pour obtenir des informations utiles sur le cluster. La `ValidationMessages` propriété ajoutée permet d'accéder aux messages de validation issus des opérations de création et de mise à jour du cluster.

1. Accédez à la [CloudFormation console](https://console.aws.amazon.com/cloudformation/home) et sélectionnez la pile qui inclut votre ressource AWS ParallelCluster personnalisée.

1. Choisissez **Stack details**, puis sélectionnez l'onglet **Outputs**.  
![\[La console CloudFormation affiche un tableau indiquant les valeurs pour HeadNodeIp et ValidationMessages.\]](http://docs.aws.amazon.com/fr_fr/parallelcluster/latest/ug/images/cfn-outputs.png)

   Les messages de validation peuvent être tronqués. Pour plus d'informations sur la façon de récupérer les journaux, consultez[AWS ParallelCluster résolution des problèmes](troubleshooting-v3.md).

## Accédez à votre cluster
<a name="cfn-custom-resource-access-v3"></a>

Accédez au cluster.

**`ssh`dans le nœud principal du cluster**

1. Une fois le déploiement de la CloudFormation pile terminé, obtenez l'adresse IP du nœud principal à l'aide de la commande suivante :

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

   Vous pouvez également récupérer l'adresse IP du nœud principal à partir du **HeadNodeIp**paramètre de l'onglet Cluster Stack **Outputs** de la CloudFormation console.

   Vous pouvez trouver l'adresse IP du nœud principal ici car elle a été ajoutée dans la `Outputs` section du CloudFormation modèle de cluster, spécifiquement pour cet exemple de cluster.

1. Connectez-vous au nœud principal du cluster en exécutant la commande suivante :

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

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

Supprimez le cluster.

1. Exécutez la commande AWS CLI suivante pour supprimer la CloudFormation pile et le cluster.

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

1. Vérifiez l'état de suppression de la pile en exécutant la commande suivante.

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