

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'une AWS ParallelCluster AMI personnalisée
<a name="tutorials_02_ami_customization"></a>

**Important**  
Nous ne recommandons pas de créer une AMI personnalisée comme approche de personnalisation AWS ParallelCluster.  
En effet, une fois que vous avez créé votre propre AMI, vous ne recevrez plus de mises à jour ni de corrections de bogues dans les futures versions de AWS ParallelCluster. De plus, si vous créez une AMI personnalisée, vous devez répéter les étapes que vous avez utilisées pour créer votre AMI personnalisée à chaque nouvelle AWS ParallelCluster version.

Avant de poursuivre votre lecture, nous vous recommandons de consulter la section [Actions Bootstrap personnalisées](pre_post_install.md) pour déterminer si les modifications que vous souhaitez apporter peuvent être scriptées et prises en charge dans les futures AWS ParallelCluster versions.

Même si la création d'une AMI personnalisée n'est pas idéale (pour les raisons mentionnées précédemment), il existe toujours des scénarios dans lesquels il AWS ParallelCluster est nécessaire de créer une AMI personnalisée pour. Ce didacticiel vous guide tout au long du processus de création d'une AMI personnalisée pour ces scénarios.

**Note**  
À partir de AWS ParallelCluster la version 2.6.1, la plupart des recettes d'installation sont ignorées par défaut lors du lancement des nœuds. Cela permet d'améliorer les temps de démarrage. Pour exécuter toutes les recettes d'installation afin d'améliorer la rétrocompatibilité au détriment des temps de démarrage, ajoutez `"skip_install_recipes" : "no"` la `cluster` clé dans le [`extra_json`](cluster-definition.md#extra-json) paramètre. Par exemple :  

```
extra_json = { "cluster" : { "skip_install_recipes" : "no" } }
```

**Conditions préalables**
+ AWS ParallelCluster [est installé](install.md).
+ Le AWS CLI [est installé et configuré.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ Vous possédez une [paire de clés EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
+ Vous disposez d'un rôle IAM doté des [autorisations](iam.md#example-parallelcluser-policies) requises pour exécuter la [`pcluster`](pcluster.md) CLI.

## Comment personnaliser l' AWS ParallelCluster AMI
<a name="how-to-customize-the-aws-parallelcluster-ami"></a>

Il existe trois manières d'utiliser une AWS ParallelCluster AMI personnalisée décrites dans les sections suivantes. Deux de ces trois méthodes nécessitent que vous créiez une nouvelle AMI disponible sous votre nom Compte AWS. La troisième méthode (utiliser une AMI personnalisée au moment de l'exécution) ne vous oblige pas à créer quoi que ce soit à l'avance, mais elle ajoute des risques au déploiement. Choisissez la méthode qui répond le mieux à vos besoins.

## Modification d’une AMI
<a name="modify-an-aws-parallelcluster-ami"></a>

Il s'agit de la méthode la plus sûre et la plus recommandée. Comme l' AWS ParallelCluster AMI de base est souvent mise à jour avec les nouvelles versions, elle possède tous les composants nécessaires AWS ParallelCluster pour fonctionner lors de son installation et de sa configuration. Vous pouvez démarrer avec cette base.

------
#### [ New EC2 console ]

1. Dans la liste des AWS ParallelCluster AMI, recherchez l'AMI correspondant à l'AMI spécifique Région AWS que vous utilisez. La liste d'AMI que vous choisissez doit correspondre à la version AWS ParallelCluster que vous utilisez. Exécutez `pcluster version` pour vérifier la version. Pour AWS ParallelCluster la version 2.11.9, accédez à [https://github.com/aws/aws- parallelcluster/blob/v2.11.9/amis .txt](https://github.com/aws/aws-parallelcluster/blob/v2.11.9/amis.txt). Pour sélectionner une autre version, utilisez le même lien, cliquez sur le bouton **Tag : 2.11.9**, sélectionnez l'onglet **Tags**, puis sélectionnez la version appropriée.

1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dans le tableau de **bord Amazon EC2**, choisissez **Launch** instance.

1. Dans **Images de l'application et du système d'exploitation**, choisissez **Parcourir davantage AMIs**, accédez à **Communauté AMIs** et entrez l'ID AWS ParallelCluster AMI correspondant à votre identifiant AMI Région AWS dans le champ de recherche.

1. **Sélectionnez** l'AMI, choisissez le **type et les propriétés de votre instance**, sélectionnez votre **paire de clés** et **lancez l'instance**.

1. Connectez-vous à votre instance à l'aide de l'utilisateur du système d'exploitation et de votre clé SSH. Pour plus d'informations, accédez à **Instances**, sélectionnez la nouvelle instance et **Connect**.

1. Personnalisez votre instance selon vos besoins.

1. Exécutez la commande suivante pour préparer votre instance pour la création d'une AMI :

   ```
   sudo /usr/local/sbin/ami_cleanup.sh
   ```

1. Accédez à **Instances**, choisissez la nouvelle instance, sélectionnez **État de l'instance** et **Arrêtez l'instance**.

1. Créez une nouvelle AMI à partir de l'instance à l'aide de la console EC2 ou de la commande AWS CLI [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html).

**Depuis la console EC2**

   1. Choisissez **Instances** dans le volet de navigation.

   1. Choisissez l'instance que vous avez créée et modifiée.

   1. Dans **Actions**, sélectionnez **Image et modèles**, puis **Créer une image**.

   1. Choisissez **Créer une image**.

1. Entrez le nouvel identifiant d'AMI dans le champ [custom\$1ami](cluster-definition.md#custom-ami-section) de la configuration de votre cluster.

------
#### [ Old EC2 console ]

1. Dans la liste des AWS ParallelCluster AMI, recherchez l'AMI correspondant à l'AMI spécifique Région AWS que vous utilisez. La liste d'AMI que vous choisissez doit correspondre à la version AWS ParallelCluster que vous utilisez. Exécutez `pcluster version` pour vérifier la version. Pour AWS ParallelCluster la version 2.11.9, accédez à [https://github.com/aws/aws- parallelcluster/blob/v2.11.9/amis .txt](https://github.com/aws/aws-parallelcluster/blob/v2.11.9/amis.txt). Pour sélectionner une autre version, utilisez le même lien, cliquez sur le bouton **Tag : 2.11.9**, sélectionnez l'onglet **Tags**, puis sélectionnez la version appropriée.

1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dans le tableau de **bord Amazon EC2**, choisissez **Launch** instance.

1. Choisissez **Communauté AMIs**, recherchez l'ID AWS ParallelCluster AMI, puis **sélectionnez-le**.

1. Choisissez votre type d'instance et sélectionnez **Suivant : Configurer les détails de l'instance** ou **Vérifier et lancer** pour lancer votre instance.

1. Choisissez **Launch**, sélectionnez votre **paire de clés** et **lancez les instances**.

1. Connectez-vous à votre instance à l'aide de l'utilisateur du système d'exploitation et de votre clé SSH. Pour plus d'informations, accédez à **Instances**, sélectionnez la nouvelle instance et **Connect**.

1. Personnalisez votre instance selon vos besoins.

1. Exécutez la commande suivante pour préparer votre instance pour la création d'une AMI :

   ```
   sudo /usr/local/sbin/ami_cleanup.sh
   ```

1. Accédez à **Instances**, choisissez la nouvelle instance, sélectionnez **État de l'instance** et **Arrêtez**

1. Créez une nouvelle AMI à partir de l'instance à l'aide de la console EC2 ou de la commande AWS CLI [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html).

**Depuis la console EC2**

   1. Choisissez **Instances** dans le volet de navigation.

   1. Choisissez l'instance que vous avez créée et modifiée.

   1. Dans **Actions**, choisissez **Image**, puis **Créer une image**.

   1. Choisissez **Créer une image**.

1. Entrez le nouvel identifiant d'AMI dans le champ [custom\$1ami](cluster-definition.md#custom-ami-section) de la configuration de votre cluster.

------

## Création d'une AWS ParallelCluster AMI personnalisée
<a name="build-a-custom-aws-parallelcluster-ami"></a>

Si vous avez une AMI personnalisée et des logiciels déjà en place, vous pouvez appliquer les modifications nécessitées par AWS ParallelCluster par dessus celui-ci.

1. Installez ce qui suit dans votre système local, avec la AWS ParallelCluster CLI :
   + Packer : obtenez la version la plus récente pour votre système d'exploitation sur le [site web Packer](https://developer.hashicorp.com/packer/downloads) et installez-la. La version doit être au moins 1.4.0, mais la dernière version est recommandée. Vérifiez que la `packer` commande est disponible dans votre PATH.
**Note**  
Avant AWS ParallelCluster la version 2.8.0, [Berkshelf](https://github.com/berkshelf/berkshelf) (qui est installé à l'aide de`gem install berkshelf`) devait être utilisé. `pcluster createami`

1. Configurez vos Compte AWS informations d'identification afin que Packer puisse appeler les opérations AWS d'API en votre nom. L'ensemble minimal d'autorisations requises pour que Packer fonctionne est documenté dans la section [Rôle de tâche ou d'instance IAM](https://developer.hashicorp.com/packer/plugins/builders/amazon#iam-task-or-instance-role) de la rubrique *Amazon AMI Builder* de la documentation Packer.

1. Utilisez la commande `createami` de la AWS ParallelCluster CLI pour créer une AWS ParallelCluster AMI à partir de celle que vous avez fournie comme base :

   ```
   pcluster createami --ami-id <BASE_AMI> --os <BASE_AMI_OS>
   ```
**Important**  
Vous ne devez pas utiliser une AWS ParallelCluster AMI provenant d'un cluster en cours d'exécution comme *<BASE\$1AMI>* pour la `createami` commande. Dans le cas contraire, la commande échoue.

   Pour les autres paramètres, voir[`pcluster createami`](pcluster.createami.md).

1. La commande de l'étape 4 exécute Packer, qui effectue spécifiquement les opérations suivantes :

   1. Lance une instance à l'aide de l'AMI de base fournie.

   1. Applique le AWS ParallelCluster livre de recettes à l'instance pour installer le logiciel approprié et effectuer les autres tâches de configuration nécessaires.

   1. Arrête l'instance.

   1. Crée une nouvelle AMI à partir de l'instance.

   1. Résilie l'instance une fois que l'AMI a été créée.

   1. Fournit en sortie la chaîne d'ID de la nouvelle AMI à utiliser pour créer votre cluster.

1. Pour créer votre cluster, entrez l'ID de l'AMI dans le champ [custom\$1ami](cluster-definition.md#custom-ami-section) de la configuration de votre cluster.

**Note**  
Le type d'instance utilisé pour créer une AWS ParallelCluster AMI personnalisée est`t2.xlarge`. Ce type d'instance n'est pas éligible au niveau AWS gratuit. Par conséquent, toutes les instances créées lors de la création de cette AMI vous sont facturées.

## Utilisation d'une AMI personnalisée lors de l'exécution
<a name="use-a-custom-ami-at-runtime"></a>

**Avertissement**  
Pour éviter le risque d'utiliser une AMI incompatible avec AWS ParallelCluster, nous vous recommandons d'éviter d'utiliser cette méthode.  
Lorsque des nœuds de calcul sont lancés alors qu'ils n'ont potentiellement pas été testés AMIs au moment de l'exécution, des incompatibilités avec l'installation AWS ParallelCluster du logiciel requis peuvent AWS ParallelCluster entraîner l'arrêt du fonctionnement.

Si vous ne souhaitez rien créer à l'avance, vous pouvez utiliser votre AMI et en créer une AWS ParallelCluster à partir de cette AMI.

Avec cette méthode, la création prend plus AWS ParallelCluster de temps car tous les logiciels nécessaires au AWS ParallelCluster moment de la création du cluster doivent être installés. De plus, la mise à l'échelle prend également plus de temps.
+ Entrez l'ID d'AMI dans le champ [custom\$1ami](cluster-definition.md#custom-ami-section) de la configuration de votre cluster.