Configuration de modèles Amazon EMR dans AWS Service Catalog (pour les administrateurs) - Amazon SageMaker

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.

Configuration de modèles Amazon EMR dans AWS Service Catalog (pour les administrateurs)

Cette section fournit des informations sur la manière dont les administrateurs peuvent configurer un AWS Service Catalogproduit afin que les utilisateurs puissent approvisionner eux-mêmes des clusters Amazon EMR à partir de blocs-notes SageMaker Amazon Studio Classic. En outre, les administrateurs peuvent configurer les modèles de cluster Amazon EMR de manière à ce que les utilisateurs finaux puissent personnaliser différents aspects du cluster en fonction de leurs besoins spécifiques. Par exemple, l'administrateur peut définir une liste de types d'instances autorisés parmi lesquels les utilisateurs peuvent choisir lors de la création d'un cluster.

Cette rubrique suppose que vous savez comment créer des portefeuilles et des produits dans AWS Service Catalog, Amazon EMR et AWS CloudFormation.

Note

Vous pouvez vous référer aux AWS CloudFormation modèles du sagemaker-studio-emr GitHub référentiel aws-samples/ comme exemples de CloudFormation piles pour déployer des rôles IAM, des Amazon VPC, un domaine Sandbox Studio Classic, un profil utilisateur, ainsi qu'un modèle pour lancer un cluster Amazon EMR. CloudFormation Plusieurs options sont disponibles en fonction de votre méthode d'authentification entre Studio Classic et le cluster Amazon EMR. Dans ces exemples, un CloudFormation modèle parent transmet les paramètres de l'ID SageMaker VPC, du groupe de sécurité et de l'ID de sous-réseau au CloudFormation modèle d'un cluster Amazon EMR.

Vous pouvez accéder à différents exemples de modèles CloudFormation Amazon EMR dans le référentiel imbriqué sagemaker-studio-emr/cloudformation/emr_servicecatalog_templates et choisir entre le déploiement d'un seul compte ou le déploiement de comptes multiples.

Pour plus d'informations sur les méthodes d'authentification disponibles lors de la connexion à un cluster Amazon EMR, consultez Utiliser les clusters Amazon EMR depuis les blocs-notes Studio Classic.

Pour simplifier la création de clusters Amazon EMR, les administrateurs peuvent enregistrer le CloudFormation modèle d'un cluster Amazon EMR en tant que produit dans le portefeuille du. AWS Service Catalog Ils associent ensuite le portefeuille Service Catalog au rôle d'exécution de Studio Classic pour garantir la disponibilité du modèle dans Studio Classic. En outre, pour que les data scientists puissent découvrir ces modèles, approvisionner des clusters Amazon EMR et se connecter aux clusters Amazon EMR depuis leurs blocs-notes Studio Classic, les administrateurs doivent définir les autorisations d'accès appropriées.

La liste suivante fournit les paramètres supplémentaires que les administrateurs doivent appliquer à une CloudFormation pile de base pour permettre à Studio Classic d'accéder aux produits Service Catalog et de provisionner des clusters Amazon EMR. Ces paramètres doivent être appliqués à plusieurs niveaux :

  • Dans le portefeuille Service Catalog

  • Dans le produit Service Catalog

  • Dans le modèle CloudFormation Amazon EMR déclaré comme produit Service Catalog

Enfin, les administrateurs doivent attribuer les autorisations requises à la fois au rôle d'exécution de Studio Classic accédant aux clusters et au compte sur lequel Amazon EMR est déployé, selon que Studio Classic et Amazon EMR appartiennent au même compte ou à des comptes différents. AWS

  • Conditions préalables : exigences en matière de mise en réseau et d'authentification

    Au préalable, assurez-vous d'avoir pris connaissance des exigences en matière de réseau et de sécurité Configuration de la mise en réseau (pour les administrateurs) et d'avoir créé une CloudFormation pile de référence prenant en charge la méthode d'authentification de votre choix. Vous trouverez des exemples de CloudFormation modèles dans sagemaker-studio-emraws-samples/.

  • Dans votre portefeuille Service Catalog :

    Ajoutez la section suivante à votre CloudFormation modèle de portefeuille (voir l'exemple au format YAML) pour associer votre portefeuille au rôle d'exécution Studio Classic accédant à votre cluster.

    SageMakerStudioEMRProductPortfolioPrincipalAssociation: Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation Properties: PrincipalARN: SageMakerExecutionRole.Arn PortfolioId: SageMakerStudioEMRProductPortfolio ID PrincipalType: IAM
  • Dans votre produit Service Catalog :

    Ajoutez la clé de balise "sagemaker:studio-visibility:emr" suivante et définissez la valeur "true" (ici en YAML) du produit Service Catalog référençant la ressource du modèle Amazon EMR. Cela garantit la visibilité du modèle dans Studio Classic.

    SMStudioEMRNoAuthProduct: Type: AWS::ServiceCatalog::CloudFormationProduct Properties: Owner: AWS Name: SageMaker Studio Domain No Auth EMR ProvisioningArtifactParameters: - Name: SageMaker Studio Domain No Auth EMR Description: Provisions a SageMaker domain and No Auth EMR Cluster Info: LoadTemplateFromURL: Link to your CloudFormation template. For example, https://aws-ml-blog.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml Tags: - Key: "sagemaker:studio-visibility:emr" Value: "true"
  • Dans le CloudFormation modèle du cluster Amazon EMR intégré à votre produit Service Catalog :

    Ajoutez les paramètres de pile obligatoires suivants en tant qu'espace réservé. Cette section contient le nom et l'identifiant du projet Studio Classic utilisés par l'utilisateur lors du provisionnement d'un cluster à partir de Studio Classic.

    SageMakerProjectName: Type: String Description: Name of the project SageMakerProjectId: Type: String Description: Service generated Id of the project.

    Les administrateurs peuvent spécifier Default et AllowedValues pour inclure des choix dans la section des paramètres d'un modèle, ce qui permet aux utilisateurs de saisir ou de sélectionner des valeurs personnalisées lors de la création d'un cluster. L'exemple suivant illustre les paramètres de saisie supplémentaires que les administrateurs peuvent définir lors de la création d'un modèle Amazon EMR.

    "Parameters": { "EmrClusterName": { "Type": "String", "Description": "EMR cluster Name." }, "MasterInstanceType": { "Type": "String", "Description": "Instance type of the EMR master node.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge" ] }, "CoreInstanceType": { "Type": "String", "Description": "Instance type of the EMR core nodes.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "CoreInstanceCount": { "Type": "String", "Description": "Number of core instances in the EMR cluster.", "Default": "2", "AllowedValues": [ "2", "5", "10" ] }, "EmrReleaseVersion": { "Type": "String", "Description": "The release version of EMR to launch.", "Default": "emr-5.33.1", "AllowedValues": [ "emr-5.33.1", "emr-6.4.0" ] } }
  • Enfin, joignez les politiques IAM requises pour permettre la visibilité des modèles CloudFormation Amazon EMR et l'auto-approvisionnement des clusters Amazon EMR à partir des blocs-notes Studio Classic. Le rôle auquel vous devez ajouter ces politiques varie selon que Studio Classic et Amazon EMR sont déployés sur le même compte (compte unique) ou sur des comptes différents (comptes croisés).

    • Si votre cluster Amazon EMR est déployé sur le même AWS compte que le compte Studio Classic, reportez-vous à l'onglet Compte unique.

    • Si votre cluster Amazon EMR est déployé sur un AWS compte différent de celui du compte Studio Classic, consultez l'onglet Comptes croisés.

    Pour plus d'informations sur l'accès intercompte à l'aide de rôles, consultez Accès intercompte aux ressources dans IAM ou Logique d'évaluation des politiques entre comptes.

    Single account

    Associez les autorisations suivantes au rôle d'exécution Studio Classic qui accède à votre cluster.

    La liste suivante fournit une vue des autorisations requises.

    • AllowEMRTemplateDiscovery permet la découvrabilité des modèles Amazon EMR.

    • AllowSagemakerProjectManagementpermet la création de SageMaker projets. Dans Studio Classic, l'accès au AWS Service Catalog est accordé par le biais de Projets.

    • AllowClusterDetailsDiscovery et AllowClusterDiscovery autorisent la découverte et la connexion aux clusters Amazon EMR.

    • AllowPresignedUrl permet de créer des URL pré-signées pour accéder à l'interface utilisateur de Spark.

    Ce qui suit est un JSON complet qui inclut ces autorisations.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:studio-region:studio-account:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:studio-region:studio-account:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" }, { "Sid": "AllowEMRTemplateDiscovery", "Effect": "Allow", "Action": [ "servicecatalog:SearchProducts" ], "Resource": "*" }, { "Sid": "AllowSagemakerProjectManagement", "Effect": "Allow", "Action": [ "sagemaker:CreateProject", "sagemaker:DeleteProject" ], "Resource": "arn:aws:sagemaker:studio-region:studio-account:project/*" }, ] }
    Cross accounts

    Si vos clusters Amazon EMR et Studio Classic sont déployés dans des AWS comptes distincts, vous configurez les autorisations en plusieurs étapes.

    • Sur le compte d'approbation (le compte sur lequel Amazon EMR est déployé), créez un rôle IAM personnalisé (désigné ASSUMABLE-ROLE sur cette page) avec les autorisations et la relation d'approbation suivantes.

      Pour plus d'informations sur la création d'un rôle sur un compte AWS, consultez Création d'un rôle IAM (console).

      1. Ajoutez une politique IAM définissant les autorisations suivantes.

        • AllowClusterDetailsDiscovery et AllowClusterDiscovery pour autoriser la découverte et la connexion aux clusters Amazon EMR.

        • AllowPresignedUrl pour autoriser la création d'URL pré-signées pour accéder à l'interface utilisateur de Spark.

        Ce qui suit est un JSON complet qui inclut ces autorisations.

        { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:emr-region:emr-account:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:emr-region:emr-account:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" } ] }
      2. Pour accorder au compte de confiance (le compte sur lequel Studio Classic est déployé) l'autorisation d'assumer un rôle dans le compte de confiance, incluez la relation de confiance suivante.

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:root" }, "Action": "sts:AssumeRole" } ] }
    • Sur le compte approuvé (le compte sur lequel Studio Classic est déployé), ajoutez les autorisations et la relation de confiance suivantes au rôle d'exécution de Studio Classic.

      1. Ajoutez une politique IAM définissant les autorisations suivantes.

        • AllowSagemakerProjectManagementpour permettre la création de SageMaker projets. Dans Studio Classic, l'accès au AWS Service Catalog est accordé par le biais de Projets.

        • AllowEMRTemplateDiscovery pour permettre la découvrabilité des modèles Amazon EMR.

        Ce qui suit est un JSON complet qui inclut ces autorisations.

        { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSagemakerProjectManagement", "Effect": "Allow", "Action": [ "sagemaker:CreateProject", "sagemaker:DeleteProject" ], "Resource": "arn:aws:sagemaker:::project/*" }, { "Sid": "AllowEMRTemplateDiscovery", "Effect": "Allow", "Action": [ "servicecatalog:SearchProducts" ], "Resource": "*" } ] }
      2. Pour accorder au rôle d'exécution de Studio Classic l'autorisation d'assumer le rôle ASSUMABLE-ROLE dans le compte de confiance, incluez la relation de confiance suivante.

        { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::emr-account:role/ASSUMABLE-ROLE" ] }] }
    • Enfin, découvrez Configuration supplémentaire pour les cas d'utilisation intercompte (pour les administrateurs) comment fournir l'ARN du rôle d'exécution ASSUMABLE-ROLE to the Studio Classic. L'ARN est chargé par le serveur Jupyter Studio Classic au lancement. Le rôle d'exécution Studio Classic assume ce rôle entre comptes pour découvrir et se connecter aux clusters Amazon EMR dans le compte de confiance.

Une fois les CloudFormation modèles disponibles dans Amazon SageMaker Studio Classic, les data scientists peuvent les utiliser pour auto-approvisionner des clusters Amazon EMR. Chacun des éléments "Parameters" spécifiés dans le modèle devient une zone de saisie dans le formulaire de création de cluster de Studio Classic, le correspondant "AllowedValues" apparaissant dans un menu déroulant.

L'illustration suivante montre le formulaire dynamique assemblé à partir d'un modèle CloudFormation Amazon EMR pour créer un cluster Amazon EMR dans Studio Classic. SageMaker


                    Illustration d'un formulaire dynamique assemblé à partir d'un modèle  CloudFormation  Amazon EMR pour créer un cluster Amazon EMR dans Studio Classic.  SageMaker

Consultez cette page Lancer un cluster Amazon EMR depuis Studio Classic pour découvrir comment lancer un cluster à partir de Studio Classic à l'aide de ces modèles Amazon EMR.