Création AWS CloudFormation de modèles pour Amazon EMR Studio - Amazon EMR

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

À propos des modèles de cluster EMR Studio

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

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 portfolio 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.

Pour en savoir plus sur les CloudFormation modèles, consultez la section Modèles du guide de AWS CloudFormation l'utilisateur. Pour plus d'informations AWS Service Catalog, voir Qu'est-ce que AWS Service Catalog.

La vidéo suivante montre comment configurer des modèles de cluster dans AWS Service Catalog for EMR Studio. Pour en savoir plus, consultez le billet de blog « Créer un environnement en libre-service pour chaque secteur d'activité à l'aide d'Amazon EMR et de Service Catalog ».

Paramètres de modèle facultatifs

Vous pouvez inclure des options supplémentaires dans la section Parameters 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 permettant aux utilisateurs de sélectionner une EMR version d'Amazon en particulier. Pour plus d'informations, consultez Paramètres dans le Guide de l'utilisateur AWS 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 EmrReleaseversions 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.

Prérequis

Avant de créer un modèle de cluster, assurez-vous que vous êtes IAM autorisé à accéder à la vue de la console d'administration du Service Catalog. Vous devez également disposer des IAM autorisations requises pour effectuer les tâches administratives du Service Catalog. Pour plus d'informations, consultez Octroi d'autorisations aux administrateurs de Service Catalog.

Instructions

Pour créer des modèles de EMR clusters à 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 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 (_) 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 nouvellement provisionnéEMR.

    Voici un exemple de AWS CloudFormation modèle au YAML format 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
  2. 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/.

    2. Dans le menu de navigation de gauche, choisissez Portefeuilles.

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

    4. Choisissez Créer. AWS Service Catalog crée le portefeuille et affiche les détails du portefeuille.

  3. 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 .

    2. Choisissez Importer un nouveau produit.

    3. Entrez le nom du produit et le propriétaire.

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

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

  4. 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 .

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

    3. Choisissez votre portefeuille, puis choisissez Ajouter un produit au portefeuille.

  5. Créez une contrainte de lancement pour vos produits. Une contrainte de lancement est un IAM rôle 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 CloudFormationEMR, Amazon et AWS Service Catalog. Pour plus d'informations et d'instructions, consultez Contraintes de lancement de Service Catalog.

  6. 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 .

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

    3. Sélectionnez votre produit puis choisissez Produit sous Type de contrainte. Choisissez Continuer.

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

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

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

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

    3. Recherchez votre IAM rôle EMR Studio dans l'onglet Rôles, sélectionnez votre rôle, puis choisissez Ajouter un accès.

      Si vous utilisez... Octroi de l'accès à…
      IAMauthentification Vos utilisateurs natifs
      IAMfédération Votre IAM rôle au sein de la fédération
      IAMFédération des centres d'identité Votre rôle d'utilisateur dans EMR Studio