

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 AWS CloudFormation de modèles pour Amazon EMR Studio
<a name="emr-studio-cluster-templates"></a>

## À propos des modèles de cluster EMR Studio
<a name="emr-studio-about-cluster-templates"></a>

Vous pouvez créer des AWS CloudFormation modèles pour aider les utilisateurs d'EMR Studio à lancer de nouveaux clusters Amazon EMR dans un espace de travail. CloudFormation les modèles sont des fichiers texte formatés en JSON ou YAML. Dans un modèle, vous décrivez une pile de AWS ressources et expliquez CloudFormation comment les mettre à disposition pour vous. Pour EMR Studio, vous pouvez créer un ou plusieurs modèles décrivant un cluster Amazon EMR Studio. 

Vous organisez vos modèles dans AWS Service Catalog. AWS Service Catalog vous permet de créer et de gérer des services informatiques couramment déployés appelés *products* on AWS. Vous collectez vos modèles sous forme de produits dans un *portefeuille* que vous partagez avec les utilisateurs de EMR Studio. Après avoir créé des modèles de cluster, les utilisateurs de Studio peuvent lancer un nouveau cluster pour un Workspace avec l'un de vos modèles. Les utilisateurs doivent être autorisés à créer de nouveaux clusters à partir de modèles. Vous pouvez définir les autorisations des utilisateurs dans les politiques d'autorisation de votre [EMR Studio](emr-studio-user-permissions.md).

Pour en savoir plus sur les CloudFormation modèles, consultez la section [Modèles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html#w2ab1b5c15b7) du *guide de AWS CloudFormation l'utilisateur*. Pour plus d'informations AWS Service Catalog, voir [Qu'est-ce que AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html).

La vidéo suivante montre comment configurer des modèles de cluster dans AWS Service Catalog pour EMR Studio. Pour en savoir plus, consultez l'article de blog [Créer un environnement en libre-service pour chaque secteur d'activité à l'aide d'Amazon EMR et de Service Catalog](https://aws.amazon.com/blogs/big-data/build-a-self-service-environment-for-each-line-of-business-using-amazon-emr-and-aws-service-catalog/).

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/9w_TXTdFLpo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/9w_TXTdFLpo)


### Paramètres de modèle facultatifs
<a name="emr-studio-cluster-template-parameters"></a>

Vous pouvez inclure des options supplémentaires dans la section [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) de votre modèle. Les *paramètres* permettent aux utilisateurs Studio de saisir ou de sélectionner des valeurs personnalisées pour un cluster. Par exemple, vous pouvez ajouter un paramètre qui permet aux utilisateurs de sélectionner une version Amazon EMR en particulier. Pour plus d'informations, consultez [Paramètres](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) dans le *Guide de l'utilisateur CloudFormation *.

La section `Parameters` d'exemple suivante définit des paramètres d'entrée supplémentaires tels que `ClusterName`, version `EmrRelease` et `ClusterInstanceType`.

```
Parameters:
  ClusterName:
    Type: "String"
    Default: "Cluster_Name_Placeholder"
  EmrRelease:
    Type: "String"
    Default: "emr-6.2.0"
    AllowedValues:
    - "emr-6.2.0"
    - "emr-5.32.0"
  ClusterInstanceType:
    Type: "String"
    Default: "m5.xlarge"
    AllowedValues:
    - "m5.xlarge"
    - "m5.2xlarge"
```

Lorsque vous ajoutez des paramètres, les utilisateurs de Studio voient des options de formulaire supplémentaires après avoir sélectionné un modèle de cluster. L'image suivante montre des options de formulaire supplémentaires pour les **EmrRelease**versions **ClusterName**, et **InstanceType**.

![\[Capture d'écran des entrées supplémentaires dans l'interface utilisateur de Studio lorsqu'un utilisateur sélectionne un modèle de cluster avec des paramètres.\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ManagementGuide/images/cluster-template-parameters-studio-ui.jpg)


## Conditions préalables
<a name="emr-studio-cluster-template-prereqs"></a>

Avant de créer un modèle de cluster, assurez-vous que vous disposez des autorisations IAM pour accéder à la console d'administration de Service Catalog. Vous devez également disposer des autorisations IAM suffisantes pour effectuer les tâches administratives de Service Catalog. Pour plus d'informations, consultez [Octroi d'autorisations aux administrateurs de Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-iamadmin.html). 

## Création de modèles de clusters EMR
<a name="emr-studio-cluster-template-instructions"></a>

**Créer des modèles de clusters EMR à l'aide de Service Catalog**

1. Créez un ou plusieurs CloudFormation modèles. C'est à vous de décider où vous stockez vos modèles. Les modèles étant des fichiers texte formatés, vous pouvez les charger sur Amazon S3 ou les conserver dans votre système de fichiers local. Pour en savoir plus sur les CloudFormation modèles, consultez la section [Modèles](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html#w2ab1b5c15b7) du *guide de AWS CloudFormation l'utilisateur*.

   Utilisez les règles suivantes pour nommer vos modèles ou vérifiez vos noms par rapport au modèle `[a-zA-Z0-9][a-zA-Z0-9._-]*`.
   + Le nom des modèles doit commencer par un chiffre ou une lettre.
   + Les noms des modèles ne peuvent être composés que de lettres, de chiffres, de points (.), de traits de soulignement (\$1) et de tirets (-).

   Chaque modèle de cluster que vous créez doit inclure les options suivantes : 

   **Paramètres d'entrée**
   + ClusterName — Un nom pour le cluster afin d'aider les utilisateurs à l'identifier une fois qu'il a été provisionné.

   **Sortie**
   + `ClusterId` : l'ID du cluster EMR nouvellement alloué.

   Voici un exemple de CloudFormation modèle au format YAML pour un cluster à deux nœuds. L'exemple de modèle inclut les options de modèle requises et définit des paramètres d'entrée supplémentaires pour `EmrRelease` et `ClusterInstanceType`.

   ```
   awsTemplateFormatVersion: 2010-09-09
   
   Parameters:
     ClusterName:
       Type: "String"
       Default: "Example_Two_Node_Cluster"
     EmrRelease:
       Type: "String"
       Default: "emr-6.2.0"
       AllowedValues:
       - "emr-6.2.0"
       - "emr-5.32.0"
     ClusterInstanceType:
       Type: "String"
       Default: "m5.xlarge"
       AllowedValues:
       - "m5.xlarge"
       - "m5.2xlarge"
   
   Resources:
     EmrCluster:
       Type: AWS::EMR::Cluster
       Properties:
         Applications:
         - Name: Spark
         - Name: Livy
         - Name: JupyterEnterpriseGateway
         - Name: Hive
         EbsRootVolumeSize: '10'
         Name: !Ref ClusterName
         JobFlowRole: EMR_EC2_DefaultRole
         ServiceRole: EMR_DefaultRole_V2
         ReleaseLabel: !Ref EmrRelease
         VisibleToAllUsers: true
         LogUri: 
           Fn::Sub: 's3://aws-logs-${AWS::AccountId}-${AWS::Region}/elasticmapreduce/'
         Instances:
           TerminationProtected: false
           Ec2SubnetId: 'subnet-ab12345c'
           MasterInstanceGroup:
             InstanceCount: 1
             InstanceType: !Ref ClusterInstanceType
           CoreInstanceGroup:
             InstanceCount: 1
             InstanceType: !Ref ClusterInstanceType
             Market: ON_DEMAND
             Name: Core
   
   Outputs:
     ClusterId:
       Value:
         Ref: EmrCluster
       Description: The ID of the  EMR cluster
   ```

1. Créez un portfolio pour vos modèles de cluster dans le même AWS compte que votre Studio. 

   1. Ouvrez la AWS Service Catalog console à l'adresse [https://console.aws.amazon.com/servicecatalog/](https://console.aws.amazon.com/servicecatalog/).

   1. Dans le menu de navigation de gauche, choisissez **Portefeuilles**.

   1. Entrez les informations demandées sur la page **Créer un portefeuille**.

   1. Choisissez **Create**. AWS Service Catalog crée le portefeuille et affiche les détails du portefeuille.

1. Suivez les étapes ci-dessous pour ajouter vos modèles de cluster en tant que produits AWS Service Catalog .

   1. Accédez à la page **Produits** sous **Administration** dans la console de gestion AWS Service Catalog .

   1. Choisissez **Importer un nouveau produit**.

   1. Entrez le **nom du produit** et le **propriétaire**.

   1. Spécifiez votre fichier modèle sous **Détails de la version**. 

   1. Choisissez **Réviser** pour vérifier les paramètres de votre produit, puis **Créer un produit**.

1. Suivez les étapes ci-dessous pour ajouter vos produits à votre portefeuille.

   1. Accédez à la page **Produits** dans la console de gestion AWS Service Catalog .

   1. Choisissez votre produit, sélectionnez **Actions**, puis choisissez **Ajouter un produit au portefeuille**.

   1. Choisissez votre portefeuille, puis choisissez **Ajouter un produit au portefeuille**.

1. Créez une contrainte de lancement pour vos produits. Une contrainte de lancement est un rôle IAM qui spécifie les autorisations des utilisateurs pour le lancement d'un produit. Vous pouvez adapter vos contraintes de lancement, mais vous devez autoriser les autorisations d'utilisation CloudFormation, Amazon EMR et. AWS Service Catalog Pour plus d'informations et d'instructions, consultez [Contraintes de lancement de Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-launch.html).

1. Appliquez votre contrainte de lancement à chaque produit de votre portefeuille. Vous devez appliquer la contrainte de lancement à chaque produit individuellement.

   1. Sélectionnez votre portefeuille sur la page **Portefeuilles** de la console de gestion AWS Service Catalog .

   1. Cliquez sur l'onglet **Constraints (Contraintes)** puis sur **Create constraint (Créer une contrainte)**.

   1. Sélectionnez votre produit puis choisissez **Produit** sous **Type de contrainte**. Sélectionnez **Continuer**.

   1. Sélectionnez votre rôle de contrainte de lancement dans la section **Contrainte de lancement**, puis choisissez **Créer**.

1. Accordez l'accès à votre portefeuille.

   1. Sélectionnez votre portefeuille sur la page **Portefeuilles** de la console de gestion AWS Service Catalog .

   1. Développez l'onglet **Groupes, rôles et utilisateurs** et choisissez **Ajouter des groupes, des rôles, des utilisateurs**.

   1. Recherchez votre rôle IAM dans EMR Studio dans l'onglet **Rôles**, sélectionnez votre rôle, puis choisissez **Ajouter un accès.**  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ManagementGuide/emr-studio-cluster-templates.html)